50#ifndef GUM_VARIABLE_SELECTOR_H
51#define GUM_VARIABLE_SELECTOR_H
Base class for discrete random variable.
The class for generic Hash Tables.
A MultiPriorityQueue is a heap in which each element has a mutable priority and duplicates are allowe...
Safe iterators for the Set class.
HashTable< const DiscreteVariable *, double > _remainingVarsScore_
HashTable associating to each variable its score.
void _removeVar_(const DiscreteVariable *var)
The set of remaining vars to select among.
void updateScore(const DiscreteVariable *var, double score, double secondaryscore)
The set of remaining vars to select among.
void next()
The set of remaining vars to select among.
void downdateScore(const DiscreteVariable *var, double score, double secondaryscore)
The set of remaining vars to select among.
~VariableSelector()
Default destructor.
SetIteratorSafe< const DiscreteVariable * > _rvi_
The set of remaining vars to select among.
bool isEmpty() const
The set of remaining vars to select among.
VariableSelector(const gum::VariableSet &startingSet)
Default constructor.
gum::VariableSet _remainingVars_
The set of remaining vars to select among.
const DiscreteVariable * select()
Select the most relevant variable.
HashTable< const DiscreteVariable *, double > _remainingVarsOtherScore_
HashTable associating to each variable its 2nd score.
MultiPriorityQueue< double, double, std::greater< double > > _remainingScores_
Heap keeping best score on top for immediate access.
void begin()
The set of remaining vars to select among.
void _addVar_(const DiscreteVariable *var)
The set of remaining vars to select among.
const DiscreteVariable * current() const
The set of remaining vars to select among.
bool hasNext() const
The set of remaining vars to select among.
HashTable< double, gum::VariableSet * > _remainingVarsByScore_
HashTable associating to each score the set of variable having that score.
Base class for discrete random variable.
Priority queues in which the same element can appear several times.
gum is the global namespace for all aGrUM entities
Set< const DiscreteVariable * > VariableSet