00001 00008 #ifndef INCBlindLBInitializer_h 00009 #define INCBlindLBInitializer_h 00010 00011 #include "MOMDP.h" 00012 00013 #include "FacmodelStructs.h" 00014 #include "AlphaPlanePool.h" 00015 #include "AlphaPlanePoolSet.h" 00016 00017 //#include "MaxPlanesLowerBound.h" 00018 00019 namespace momdp { 00020 00021 00022 struct BlindLBInitializer 00023 { 00024 SharedPointer<MOMDP> pomdp; 00025 //MaxPlanesLowerBound* bound; 00026 AlphaPlanePoolSet* bound; 00027 00028 //BlindLBInitializer(const MDP* _pomdp, MaxPlanesLowerBound* _bound); 00029 BlindLBInitializer(SharedPointer<MOMDP> _pomdp, AlphaPlanePoolSet* _bound); 00030 00031 void initialize(double targetPrecision); 00032 00033 protected: 00034 void initBlind(double targetPrecision); 00035 void initBlindWorstCase(std::vector<alpha_vector>& weakAlphas); // SYL260809 prevly: int initBlindWorstCase(const int sval, alpha_vector& weakAlpha); 00036 int initBlindWorstCaseIntegrated(std::vector<alpha_vector>& weakAlphas); 00037 00038 void initBlind_unfac(double targetPrecision); 00039 void initBlindWorstCase_unfac(alpha_vector& weakAlpha); 00040 00041 }; 00042 00043 }; // namespace zmdp 00044 00045 #endif /* INCBlindLBInitializer_h */ 00046