Go to the documentation of this file.00001 #ifndef StateTransitionX_H
00002 #define StateTransitionX_H
00003
00004 #include <vector>
00005 #include "Const.h"
00006 #include "Observations.h"
00007 #include "Actions.h"
00008 #include "States.h"
00009 #include "MathLib.h"
00010 #include "VariableRelation.h"
00011
00012 using namespace std;
00013 using namespace momdp;
00014 namespace momdp
00015 {
00016 class MOMDP;
00017 class StateTransitionX : public MObject
00018 {
00019 friend class MOMDP;
00020
00021 private:
00022 vector<vector<SharedPointer<SparseMatrix> > > matrix;
00023 vector<vector<SharedPointer<SparseMatrix> > > matrixTr;
00024
00025 public:
00026 StateTransitionX(void);
00027 virtual ~StateTransitionX(void);
00028
00029 REAL_VALUE prob(States::iterator& x, States::iterator& y, Actions::iterator& a, States::iterator& xp);
00030
00031 virtual SharedPointer<SparseMatrix> getMatrix(int a, int x);
00032 virtual SharedPointer<SparseMatrix> getMatrixTr(int a, int x);
00033 };
00034 }
00035
00036 #endif
00037