BinManager.h
Go to the documentation of this file.
00001 
00005 #ifndef BinManager_H
00006 #define BinManager_H
00007 
00008 #include <iostream>
00009 #include <string>
00010 #include <vector>
00011 #include "BeliefCache.h"
00012 #include "BeliefValuePairPool.h"
00013 
00014 using namespace std;
00015 
00016 namespace momdp{
00017         class BinManagerDataTuple
00018         {
00019         public:
00020                 bool binned;
00021         };
00022 
00023         class BinManager{
00024         public:
00025                 //Constructor
00026                 BinManager(BeliefValuePairPool * _initialUB, BeliefCache* _beliefCache, state_val _sval);
00027                 void updateNode(int row);
00028                 void printBinCount();
00029                 double getBinValue(int row);
00030 
00031                 IndexedTuple<BinManagerDataTuple> binManagerDataTable;
00032         private:
00033                 
00034                 BeliefValuePairPool* initialUB;
00035                 BeliefCache* beliefCache; 
00036                 double highest;
00037                 double lowest;
00038                 state_val sval;         // the value of observed state variable that this bounds corresponds to
00039 
00040                 void initializeNode(BeliefTreeNode & node);
00041                 void updateBin(BeliefTreeNode & node);
00042 
00043                 // implementing dynamic bin levels
00044                 const static int initial_bin_size = 5;
00045                 const static int bin_growth_factor = 2;
00046                 void initializeDynamicBins();
00047                 int bin_level_count;
00048                 map <int, //level #
00049                         map <string,//ub_interval or entropy_interval or counter
00050                         double//value of interval
00051                         > 
00052                 > 
00053                 binLevels_intervals;
00054 
00055                 map <int, //level #
00056                         map <int, //node #
00057                         map <string, //ub_index, entropy_index, prev_error
00058                         double//value
00059                         > 
00060                         > 
00061                 > 
00062                 binLevels_nodes;
00063 
00064                 map <int, //level #
00065                         map <string, //bins, binCount, binError
00066                         map <string,//ub-entropy access
00067                         double//value inside bin
00068                         > 
00069                         > 
00070                 > 
00071                 binLevels;
00072 
00073                 map <int, //node #
00074                         double//value of previous lower bound
00075                 >
00076                 previous_lowerbound;
00077         };
00078 }; // namespace momdp
00079 
00080 #endif


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:28