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 >
85 void*
operator new(size_t s) {
return SmallObjectAllocator::instance().allocate(s); }
87 SmallObjectAllocator::instance().deallocate(p,
sizeof(NodeDatabase));
164 return _attrTable_[var];
171 return _valueCount_.cbeginSafe();
174 return _valueCount_.cendSafe();
184 return _valueCount_.exists(ValueType(moda)) ? _valueCount_[ValueType(moda)] : 0;
212 #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...
HashTable< ValueType, Idx > _valueCount_
Idx _valueDomain_(Int2Type< false >) const
INLINE void emplace(Args &&... args)
const HashTableConstIteratorSafe< ValueType, Idx > cendValues() const
Merges given NodeDatabase informations into current nDB.
void _addObservation_(const Observation *, Int2Type< false >)
depending on if we're learning reward function or transition probability
NodeDatabase(const Set< const DiscreteVariable * > *, const DiscreteVariable *=nullptr)
Default constructor.
std::string toString() const
const DiscreteVariable * _value_
So does this reference on the value observed.
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 effectif(Idx moda) const
void operator delete(void *p)
Default constructor.
~NodeDatabase()
Default destructor.