43 __remainingVars(startingSet) {
68 double secondaryscore) {
81 double secondaryscore) {
99 if (bestVar ==
nullptr 104 && bestVar->
domainSize() < (*varIter)->domainSize()))
135 if (varSet->
empty()) {
HashTable< const DiscreteVariable *, double > __remainingVarsScore
HashTable associating to each variable its score.
bool empty() const noexcept
Indicates whether the set is the empty set.
HashTable< const DiscreteVariable *, double > __remainingVarsOtherScore
HashTable associating to each variable its 2nd score.
const Val & top() const
Returns the element at the top of the priority queue.
void erase(const Val &val)
Removes a given element from the priority queue (but does not return it).
void downdateScore(const DiscreteVariable *var, double score, double secondaryscore)
The set of remaining vars to select among.
Base class for discrete random variable.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
MultiPriorityQueue< double, double, std::greater< double > > __remainingScores
Heap keeping best score on top for immediate access.
Representation of a setA Set is a structure that contains arbitrary elements.
const iterator_safe & endSafe() const noexcept
The usual safe end iterator to parse the set.
virtual Size domainSize() const =0
~VariableSelector()
Default destructor.
Set< const DiscreteVariable *> __remainingVars
The set of remaining vars to select among.
void __removeVar(const DiscreteVariable *var)
The set of remaining vars to select among.
const DiscreteVariable * select()
Select the most relevant variable.
Size insert(const Val &val, const Priority &priority)
Inserts a new (a copy) element in the priority queue.
void __addVar(const DiscreteVariable *var)
The set of remaining vars to select among.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
<agrum/FMDP/planning/FunctionGraph/variableselector.h>
iterator_safe beginSafe() const
The usual safe begin iterator to parse the set.
void updateScore(const DiscreteVariable *var, double score, double secondaryscore)
The set of remaining vars to select among.
HashTable< double, Set< const DiscreteVariable *> *> __remainingVarsByScore
HashTable associating to each score the set of variable having that score.
VariableSelector(Set< const DiscreteVariable * > &startingSet)
Default constructor.