28 #ifndef GUM_TRIANGULATION_H 29 #define GUM_TRIANGULATION_H 141 virtual void clear() = 0;
178 #ifndef GUM_NO_INLINE 180 #endif // GUM_NO_INLINE virtual void clear()=0
reinitialize the graph to be triangulated to an empty graph
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
double maxLog10CliqueDomainSize()
returns the max of log10DomainSize of the cliques in the junction tree.
virtual const CliqueGraph & eliminationTree()=0
returns the elimination tree of a compatible ordering
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
The class for generic Hash Tables.
const NodeProperty< Size > * _domain_sizes
the domain sizes of the variables/nodes of the graph
virtual const NodeProperty< NodeId > & createdJunctionTreeCliques()=0
returns the Ids of the cliques of the junction tree created by the elimination of the nodes ...
virtual NodeId createdJunctionTreeClique(const NodeId id)=0
returns the Id of the clique created by the elimination of a given node during the triangulation proc...
virtual const EdgeSet & fillIns()=0
returns the fill-ins added by the triangulation algorithm
virtual NodeId createdMaxPrimeSubgraph(const NodeId id)=0
returns the Id of the maximal prime subgraph created by the elimination of a given node during the tr...
virtual const CliqueGraph & maxPrimeSubgraphTree()=0
returns a junction tree of maximal prime subgraphs
Triangulation()
default constructor
virtual ~Triangulation()
destructor
const NodeProperty< Size > * domainSizes() const
returns the domain sizes of the variables of the graph to be triangulated
Triangulation & operator=(const Triangulation &)
prevent copy operator
Base class for undirected graphs.
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual Triangulation * newFactory() const =0
returns a fresh triangulation of the same type as the current object but with an empty graph ...
Size Idx
Type for indexes.
virtual const UndiGraph & triangulatedGraph()=0
returns the triangulated graph
virtual Triangulation * copyFactory() const =0
virtual copy constructor
Interface for all the triangulation methods.
virtual const CliqueGraph & junctionTree()=0
returns a compatible junction tree
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual const std::vector< NodeId > & eliminationOrder()=0
returns an elimination ordering compatible with the triangulated graph
Size NodeId
Type for node ids.
virtual void setGraph(const UndiGraph *graph, const NodeProperty< Size > *domsizes)=0
initialize the triangulation data structures for a new graph