QFunctionsDiscreteNonStationary
AlphaVectorPlanning::ImportValueFunction(const string & filename, size_t nr,
                                         size_t nrA, size_t nrS)
{
    QFunctionsDiscreteNonStationary Q;
    for(Index t=0;t!=nr;++t)
    {
        stringstream filenameT;
        filenameT << filename << "_t" << t;
        Q.push_back(ValueFunctionToQ(
                        ImportValueFunction(filenameT.str()),nrA,nrS));
    }
    return(Q);
}
示例#2
0
double BeliefValue::GetValue(const BeliefInterface &Belief,
                             const QFunctionsDiscreteNonStationary &Q,
                             Index t)
{
#if 0
    double x,maxVal=-DBL_MAX;

    for(QFDNScit i=Q.begin();i!=Q.end();++i)
    {
        x=GetValue(Belief,*i);
        if(x>maxVal)
            maxVal=x;
    }

    return(maxVal);
#endif
    return(GetValue(Belief,Q.at(t)));
}
void 
AlphaVectorPlanning::
ExportValueFunction(const string & filename,
                    const QFunctionsDiscreteNonStationary &Q)
{
    for(Index t=0;t!=Q.size();++t)
    {
        stringstream filenameT;
        filenameT << filename << "_t" << t;
        ExportValueFunction(filenameT.str(),Q[t]);
    }
}
示例#4
0
vector<double> BeliefValue::GetValues(const BeliefSetNonStationary &Beliefs,
                                      const QFunctionsDiscreteNonStationary &Q)
{
    vector<double> values(Beliefs.Size());
    Index i=0;
    for(Index t=0;t!=Q.size();++t)
    {
        vector<double> valuesT=GetValues(Beliefs.Get(t),
                                         Q[t]);
        for(Index k=0;k!=valuesT.size();++k)
        {
            values[i]=valuesT[k];
            i++;
        }
    }
    return(values);
}