30 #ifndef GUM_NODE_DATABASE_H 31 #define GUM_NODE_DATABASE_H 33 #include <agrum/tools/core/hashTable.h> 34 #include <agrum/tools/core/sequence.h> 36 #include <agrum/FMDP/learning/core/templateStrategy.h> 37 #include <agrum/FMDP/learning/core/testPolicy/Chi2TestPolicy.h> 38 #include <agrum/FMDP/learning/core/testPolicy/GTestPolicy.h> 39 #include <agrum/FMDP/learning/core/testPolicy/leastSquareTestPolicy.h> 40 #include <agrum/FMDP/learning/observation.h> 42 #include <agrum/tools/variables/discreteVariable.h> 56 template < TESTNAME AttributeSelection,
bool isScalar >
77 const DiscreteVariable* =
nullptr);
88 return SmallObjectAllocator::instance().allocate(s);
91 SmallObjectAllocator::instance().deallocate(p,
sizeof(NodeDatabase));
170 return attrTable__[var];
177 return valueCount__.cbeginSafe();
180 return valueCount__.cendSafe();
190 return valueCount__.exists(ValueType(moda)) ? valueCount__[ValueType(moda)]
219 #include <agrum/FMDP/learning/datastructure/nodeDatabase_tpl.h> const TestPolicy< ValueType > * testPolicy(const DiscreteVariable *var) const
Returns a reference to nDB test policy for given variable (so that test policy information can be mer...
const DiscreteVariable * value__
So does this reference on the value observed.
INLINE void emplace(Args &&... args)
const HashTableConstIteratorSafe< ValueType, Idx > cendValues() const
Merges given NodeDatabase informations into current nDB.
NodeDatabase(const Set< const DiscreteVariable * > *, const DiscreteVariable *=nullptr)
Default constructor.
HashTable< ValueType, Idx > valueCount__
void addObservation__(const Observation *, Int2Type< false >)
depending on if we're learning reward function or transition probability
std::string toString() const
void addObservation(const Observation *)
Nb observation taken into account by this instance.
const HashTableConstIteratorSafe< ValueType, Idx > cbeginValues() const
Iterators on value count to recopy correctly its content.
NodeDatabase< AttributeSelection, isScalar > & operator+=(const NodeDatabase< AttributeSelection, isScalar > &src)
Merges given NodeDatabase informations into current nDB.
void * operator new(size_t s)
Allocators and Deallocators redefinition.
Idx valueDomain__(Int2Type< false >) const
Idx effectif(Idx moda) const
void operator delete(void *p)
Default constructor.
~NodeDatabase()
Default destructor.