aGrUM  0.16.0
partialOrderedTriangulation.h
Go to the documentation of this file.
1 
33 #ifndef GUM_PARTIAL_ORDERED_TRIANGULATION_H
34 #define GUM_PARTIAL_ORDERED_TRIANGULATION_H
35 
39 
40 
41 namespace gum {
42 
43 
55  public:
56  // ############################################################################
58  // ############################################################################
60 
62 
71  bool minimality = false);
72 
74 
91  const UndiGraph* graph,
92  const NodeProperty< Size >* domsizes,
93  const List< NodeSet >* partial_order,
97  bool minimality = false);
98 
101 
104 
111  virtual PartialOrderedTriangulation* newFactory() const;
112 
114  virtual PartialOrderedTriangulation* copyFactory() const final;
115 
118 
120 
121 
122  // ############################################################################
124  // ############################################################################
126 
128 
135  virtual void setGraph(const UndiGraph* graph,
136  const NodeProperty< Size >* domsizes) final;
137 
140 
142  virtual void setPartialOrder(const List< NodeSet >* partial_order) final;
143 
145 
146 
147  protected:
149 
158  virtual void _initTriangulation(UndiGraph& graph) final;
159 
162 
164 
165  private:
168  };
169 
170 } /* namespace gum */
171 
172 #endif /* GUM_PARTIAL_ORDERED_TRIANGULATION_H */
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
Generic doubly linked lists.
Definition: list.h:372
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
Definition: agrum.h:25
virtual PartialOrderedTriangulation * newFactory() const
returns a fresh triangulation (over an empty graph) of the same type as the current object ...
An Elimination sequence algorithm that imposes a given partial ordering on the nodes elimination sequ...
PartialOrderedTriangulation & operator=(const PartialOrderedTriangulation &)
forbid copy operator
The class for generic Hash Tables.
Definition: hashTable.h:679
PartialOrderedTriangulation(const PartialOrderedEliminationSequenceStrategy &elimSeq=DefaultPartialOrderedEliminationSequenceStrategy(), const JunctionTreeStrategy &JTStrategy=DefaultJunctionTreeStrategy(), bool minimality=false)
default constructor
Base class for all elimination sequence algorithm that impose a given partial ordering on the nodes e...
class for graph triangulations for which we enforce a given partial ordering on the nodes elimination...
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting fr...
virtual void setPartialOrder(const List< NodeSet > *partial_order) final
sets the elimination sequence&#39;s partial order (only a reference is stored)
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
virtual PartialOrderedTriangulation * copyFactory() const final
virtual copy constructor
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
base class for all non-incremental triangulation methods
Base class for undirected graphs.
Definition: undiGraph.h:109
virtual void setGraph(const UndiGraph *graph, const NodeProperty< Size > *domsizes) final
initialize the triangulation data structures for a new graph
Copyright 2005-2019 Pierre-Henri WUILLEMIN et Christophe GONZALES (LIP6) {prenom.nom}_at_lip6.fr.
An algorithm producing a junction given the elimination tree produced by a triangulation algorithm...