Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting fr...
Generic doubly linked lists.
Base class for all elimination sequence algorithm that impose a given partial ordering on the nodes e...
virtual bool setGraph(UndiGraph *graph, const NodeProperty< Size > *dom_sizes)
sets a new graph to be triangulated
virtual bool setPartialOrder(const List< NodeSet > *subsets)
sets a new partial ordering constraint on the elimination sequence
virtual void setPartialOrder(const List< NodeSet > *partial_order) final
sets the elimination sequence's partial order (only a reference is stored)
virtual void setGraph(const UndiGraph *graph, const NodeProperty< Size > *domsizes) final
initialize the triangulation data structures for a new graph
virtual PartialOrderedTriangulation * newFactory() const
returns a fresh triangulation (over an empty graph) of the same type as the current object
virtual ~PartialOrderedTriangulation()
destructor
virtual PartialOrderedTriangulation * copyFactory() const final
virtual copy constructor
PartialOrderedTriangulation(const PartialOrderedEliminationSequenceStrategy &elimSeq=DefaultPartialOrderedEliminationSequenceStrategy(), const JunctionTreeStrategy &JTStrategy=DefaultJunctionTreeStrategy(), bool minimality=false)
default constructor
const List< NodeSet > * _partial_order_
the partial ordering to apply to eliminate nodes
virtual void initTriangulation_(UndiGraph &graph) final
the function called to initialize the triangulation process
JunctionTreeStrategy * junction_tree_strategy_
the junction tree strategy used by the triangulation
StaticTriangulation(const EliminationSequenceStrategy &elimSeq, const JunctionTreeStrategy &JTStrategy, bool minimality=false)
default constructor: without any graph
EliminationSequenceStrategy * elimination_sequence_strategy_
the elimination sequence strategy used by the triangulation
virtual void setGraph(const UndiGraph *graph, const NodeProperty< Size > *domsizes)
initialize the triangulation data structures for a new graph
const NodeProperty< Size > * domain_sizes_
the domain sizes of the variables/nodes of the graph
Base class for undirected graphs.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
gum is the global namespace for all aGrUM entities
class for graph triangulations for which we enforce a given partial ordering on the nodes elimination...