40 #ifndef GUM_DEFAULT_ELIMINATION_SEQUENCE_STRATEGY_H 41 #define GUM_DEFAULT_ELIMINATION_SEQUENCE_STRATEGY_H 170 virtual void clear()
final;
void __createSimplicialSet()
create a new simplicial set suited for the current graph
NodeProperty< double > __log_weights
for each node, the weight of the clique created by the node's elimination
#define GUM_WEIGHT_THRESHOLD
Class for fast retrieval of simplicial and quasi/almost simplicial nodes.
virtual void eliminationUpdate(const NodeId node) final
performs all the graph/fill-ins updates provided (if any)
DefaultEliminationSequenceStrategy(double theRatio=GUM_QUASI_RATIO, double theThreshold=GUM_WEIGHT_THRESHOLD)
default constructor (uses an empty graph)
virtual bool providesFillIns() const final
indicates whether the fill-ins generated by the eliminated nodes, if needed, will be computed by the ...
virtual const EdgeSet & fillIns() final
in case fill-ins are provided, this function returns the fill-ins due to all the nodes eliminated so ...
gum is the global namespace for all aGrUM entities
SimplicialSet * __simplicial_set
the simplicial set used for determining the best nodes to eliminate
The class for generic Hash Tables.
double __simplicial_ratio
the ratio used by __simplicial_set for its quasi-simplicial nodes
UndiGraph * graph() const noexcept
returns the current graph
An efficient unconstrained elimination sequence algorithm.
virtual void askFillIns(bool do_it) final
if the elimination sequence is able to compute fill-ins, we indicate whether we want this feature to ...
virtual bool providesGraphUpdate() const final
indicates whether the elimination sequence updates by itself the graph after a node has been eliminat...
Base Class for all elimination sequence algorithms that require only the graph to be triangulated and...
Class enabling fast retrieval of simplicial, quasi and almost simplicial nodes.
virtual bool setGraph(UndiGraph *graph, const NodeProperty< Size > *dom_sizes) final
sets a new graph to be triangulated
virtual void clear() final
clears the sequence (to prepare, for instance, a new elimination sequence)
Base class for undirected graphs.
bool __provide_fill_ins
indicates whether we compute new fill-ins
virtual NodeId nextNodeToEliminate() final
returns the new node to be eliminated within the triangulation algorithm
virtual ~DefaultEliminationSequenceStrategy()
destructor
The base class for all elimination sequence algorithms that require only the graph to be triangulated...
Size NodeId
Type for node ids.
virtual DefaultEliminationSequenceStrategy * copyFactory() const final
virtual copy constructor
some utils for topology : NodeId, Edge, Arc and consorts ...
double __simplicial_threshold
the threshold used by __simplicial_set to determine small cliques
virtual DefaultEliminationSequenceStrategy * newFactory() const final
creates a new elimination sequence of the same type as the current object, but this sequence contains...