00001 #ifndef AlphaVectorPolicy_H 00002 #define AlphaVectorPolicy_H 00003 00004 #include <vector> 00005 #include <string> 00006 #include <iostream> 00007 #include "MOMDP.h" 00008 #include "MObject.h" 00009 using namespace std; 00010 using namespace momdp; 00011 00012 namespace momdp 00013 { 00014 class AlphaPlanePoolSet; 00015 00016 class AlphaVectorPolicy : public MObject 00017 { 00018 private: 00019 SharedPointer<MOMDP> problem; 00020 AlphaPlanePoolSet* alphaPlanePoolSet; 00021 string policyFile; 00022 int valueAction; 00023 public: 00024 AlphaVectorPolicy(SharedPointer<MOMDP> problem); 00025 int getBestActionLookAhead(BeliefWithState& b); 00026 int getBestActionLookAhead(BeliefWithState& b, REAL_VALUE& maxValue); 00027 int getBestAction(BeliefWithState& b); 00028 int getBestAction(BeliefWithState& b, REAL_VALUE& maxValue); 00029 00030 int getBestActionLookAhead(vector<belief_vector>& b, DenseVector& belX); // SYL07282010 - modify function so that it follows RSS09 paper. Input to function is b_x and b_{y|x}. 00031 int getBestActionLookAhead(SharedPointer<belief_vector>& b, DenseVector& belX); // SYL07282010 - modify function so that it follows RSS09 paper. Input to function is b_x and b_y. 00032 00033 int getBestAction(SharedPointer<belief_vector>& b, DenseVector& belX); // Input to function is b_x and b_y. 00034 int getBestAction(vector<belief_vector>& b, DenseVector& belX); // SYL07282010 - added the counterpart to int getBestAction(SharedPointer<belief_vector>& b, DenseVector& belX). Input to function is b_x and b_{y|x}. 00035 00036 int getBestActionLookAhead_alternative(vector<belief_vector>& b, DenseVector& belX); // SYL07282010 replaced with code which follows RSS09 paper. Input to function is b_x and b_{y|x}. 00037 int getBestActionLookAhead_alternative(SharedPointer<belief_vector>& b, DenseVector& belX); // SYL07282010 replaced with code which follows RSS09 paper. Input to function is b_x and b_y. 00038 00039 00040 bool readFromFile(const std::string& inFileName); 00041 int getValueAction(); 00042 }; 00043 } 00044 00045 #endif 00046