Go to the documentation of this file.00001 #ifndef EvaluationEngine_H
00002 #define EvaluationEngine_H
00003
00004 #include <vector>
00005 #include <string>
00006 #include "MOMDP.h"
00007 using namespace std;
00008 using namespace momdp;
00009
00010 namespace momdp
00011 {
00012 class AlphaVectorPolicy;
00013 class BeliefForest;
00014 class BeliefTreeNode;
00015 class BeliefCache;
00016 class Sample;
00017 class SolverParams;
00018
00019 class EvaluationEngine
00020 {
00021 private:
00022 SharedPointer<MOMDP> problem;
00023 SharedPointer<AlphaVectorPolicy> policy;
00024 BeliefForest* beliefForest;
00025 Sample *sampleEngine;
00026 vector <BeliefCache *> *beliefCacheSet;
00027 SolverParams * solverParams;
00028
00029 public:
00030 EvaluationEngine();
00031 void setup(SharedPointer<MOMDP> problem, SharedPointer<AlphaVectorPolicy> policy, BeliefForest* _beliefForest, vector <BeliefCache *> *_beliefCacheSet, Sample *_sampleEngine, SolverParams * solverParams);
00032
00033 void getPossibleObservations(belief_vector& possObs, int action, const BeliefWithState& belSt) const;
00034 string toString();
00035
00036 double getReward(const BeliefWithState& belst, int action);
00037
00038
00039
00040 void display(belief_vector& b, ostream& s);
00041 int runFor(int iters, BeliefWithState& startVec, SparseVector startBeliefX, ofstream* streamOut, double& reward, double& expReward);
00042
00043
00044 BeliefTreeNode* searchNode(SharedPointer<BeliefWithState> belief);
00045
00046
00047 virtual ~EvaluationEngine(void);
00048 };
00049
00050 }
00051 #endif
00052