Go to the documentation of this file.00001 #ifndef CoLoc_H
00002 #define CoLoc_H
00003
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <sstream>
00008 #include <stdexcept>
00009 #include "MOMDP.h"
00010 #include "Observations.h"
00011 #include "Actions.h"
00012 #include "States.h"
00013
00014 #include "Rewards.h"
00015
00016 #include "ObservationProbabilities.h"
00017 #include "StateTransitionX.h"
00018 #include "StateTransitionXY.h"
00019
00020 #include "Belief.h"
00021 #include "BeliefTransition.h"
00022
00023 #include "MObject.h"
00024 #include "MathLib.h"
00025
00026 #include "Map2D.h"
00027 #include "Map2DPosVar.h"
00028 #include "Map2DPosValue.h"
00029 #include "Variable.h"
00030 #include "VariableValue.h"
00031 #include "Map2DPath.h"
00032
00033 using namespace std;
00034 using namespace momdp;
00035
00036 namespace momdp
00037 {
00038
00039 class CoLoc: public MOMDP
00040 {
00041 private:
00042 Map2D baseMap;
00043 SharedPointer<Map2DPath> baseMapPath;
00044
00045 public:
00046
00047 CoLoc(void);
00048
00049 virtual ~CoLoc(void);
00050
00051 virtual string ToString();
00052
00053 virtual REAL_VALUE getDiscount ()
00054 {
00055 return discount;
00056 }
00057
00058 virtual bool hasPOMDPMatrices();
00059
00060 virtual obsState_prob_vector& getObsStateProbVector(obsState_prob_vector& result, BeliefWithState& b, int a);
00061 virtual SparseVector& getJointUnobsStateProbVector(SparseVector& result, SharedPointer<BeliefWithState> b, int a, int Xn);
00062
00063 virtual int getNumActions();
00064 virtual int getBeliefSize();
00065
00066
00067
00068 virtual void getObsProbVectorFast(obs_prob_vector& result, int a, int Xn, SparseVector& tmp1);
00069 virtual void getObsProbVector(obs_prob_vector& result, const BeliefWithState& b, int a, int Xn);
00070
00071
00072
00073 virtual map<string, string> getActionsSymbols(int actionNum);
00074 virtual map<string, string> getFactoredObservedStatesSymbols(int stateNum) ;
00075 virtual map<string, string> getFactoredUnobservedStatesSymbols(int stateNum) ;
00076 virtual map<string, string> getObservationsSymbols(int observationNum) ;
00077 };
00078 }
00079 #endif