Go to the documentation of this file.00001 #ifndef POMDPLAYER_H
00002 #define POMDPLAYER_H
00003
00004
00005
00006
00007
00008 #define FULLY_OBSERVED 0
00009 #define FULLY_UNOBSERVED 1
00010 #define MIXED 2
00011 #define MIXED_REPARAM 3
00012
00013 using namespace std;
00014
00015 class POMDPLayer {
00016 public:
00017
00018 std::vector<std::vector<SharedPointer<SparseMatrix> > > TX, TXtr, O, Otr;
00019
00020 std::vector<std::vector<SharedPointer<SparseMatrix> > > TY, TYtr;
00021 std::vector<std::vector<std::vector<SharedPointer<SparseMatrix> > > > TY_reparam, TYtr_reparam;
00022
00023 std::vector<std::vector<int> > isPOMDPTerminalState;
00024 std::vector<SharedPointer<SparseMatrix> > R;
00025
00026 SharedPointer<SparseMatrix> terminalStateReward;
00027
00028 SparseVector initialBeliefX;
00029 int initialStateX;
00030
00031 SparseVector initialBeliefY;
00032 vector<SparseVector> initialBeliefY_reparam;
00033
00034
00035
00036
00037
00038
00039
00040 double discount;
00041 int numActions;
00042 int numObservations;
00043 int numStatesObs;
00044 int numStatesUnobs;
00045
00046
00047
00048 SharedPointer<SparseMatrix> pomdpR;
00049
00050 std::vector<SharedPointer<SparseMatrix> > pomdpT, pomdpTtr, pomdpO, pomdpOtr;
00051
00052 std::vector<int> pomdpIsPOMDPTerminalState;
00053 SparseVector pomdpInitialBelief;
00054 double pomdpDiscount;
00055 int pomdpNumActions, pomdpNumObservations, pomdpNumStates;
00056
00057 POMDPLayer()
00058 {
00059 pomdpR = NULL;
00060
00061 }
00062
00063 };
00064
00065 #endif