47#ifndef GUM_LEARNING_CACHED_CONTINGENCY_COUNTER_H
48#define GUM_LEARNING_CACHED_CONTINGENCY_COUNTER_H
93 const std::vector< std::pair< std::size_t, std::size_t > >&
ranges,
131 void setRanges(
const std::vector< std::pair< std::size_t, std::size_t > >& new_ranges);
137 const std::vector< std::pair< std::size_t, std::size_t > >&
ranges()
const;
implementation of gum::learning::CachedContingencyCounter
bool isGumNumberOfThreadsOverriden() const override
indicates whether the user set herself the number of threads
RecordCounter counter_
the record counter used for the counts over discrete variables
Prior * prior_
the expert knowledge prior added to the contingency tables
CachedContingencyCounter(const CachedContingencyCounter &from)
copy constructor
ScoringCache cache_
the scoring cache
const double one_log2_
1 / log(2)
CachedContingencyCounter & operator=(CachedContingencyCounter &&from)
move operator
void clearRanges()
reset the ranges to the one range corresponding to the whole database
const std::vector< std::pair< std::size_t, std::size_t > > & ranges() const
returns the current ranges
const Bijection< NodeId, std::size_t > & nodeId2Columns() const
return the mapping between the columns of the database and the node ids
const DatabaseTable & database() const
return the database used by the score
virtual ~CachedContingencyCounter()
destructor
virtual void clear()
clears all the data structures from memory, including the cache
virtual std::size_t minNbRowsPerThread() const
returns the minimum of rows that each thread should process
CachedContingencyCounter & operator=(const CachedContingencyCounter &from)
copy operator
const std::vector< NodeId > empty_ids_
an empty vector
void setRanges(const std::vector< std::pair< std::size_t, std::size_t > > &new_ranges)
sets new ranges to perform the counts
CachedContingencyCounter(CachedContingencyCounter &&from)
move constructor
void setNumberOfThreads(Size nb) override
sets the number max of threads that can be used
CachedContingencyCounter(const DBRowGeneratorParser &parser, const Prior &prior, const std::vector< std::pair< std::size_t, std::size_t > > &ranges, const Bijection< NodeId, std::size_t > &nodeId2columns=Bijection< NodeId, std::size_t >())
default constructor
virtual void clearCache()
clears the current cache
virtual void useCache(const bool on_off)
turn on/off the use of a cache of the previously computed score
virtual void setMinNbRowsPerThread(const std::size_t nb) const
changes the number min of rows a thread should process in a multithreading context
Size getNumberOfThreads() const override
returns the current max number of threads of the scheduler
bool use_cache_
a Boolean indicating whether we wish to use the cache
CachedContingencyCounter(const DBRowGeneratorParser &parser, const Prior &prior, const Bijection< NodeId, std::size_t > &nodeId2columns=Bijection< NodeId, std::size_t >())
default constructor (no ranges)
the class used to read a row in the database and to transform it into a set of DBRow instances that c...
The class representing a tabular database as used by learning tasks.
the base class for all a priori
The class that computes counting of observations from the database.
a cache for caching scores and independence tests results
the classes to account for structure changes in a graph
std::size_t Size
In aGrUM, hashed values are unsigned long int.
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
the base class for all a priori
The class that computes counting of observations from the database.
a cache for caching scores and independence tests results