![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting from a triangulation. More...
#include <junctionTreeStrategy.h>
Public Member Functions | |
Accessors / Modifiers | |
| virtual bool | requiresFillIns () const =0 |
| indicates whether the junction tree strategy needs fill-ins to work properly | |
| virtual const CliqueGraph & | junctionTree ()=0 |
| returns the junction tree computed | |
| virtual void | setTriangulation (StaticTriangulation *triangulation)=0 |
| assigns the triangulation to the junction tree strategy | |
| virtual void | moveTriangulation (StaticTriangulation *triangulation) |
| assigns a new triangulation to the junction tree strategy during a move construction | |
| virtual const NodeProperty< NodeId > & | createdCliques ()=0 |
| returns, for each node, the clique of the junction tree which was created by its deletion | |
| virtual NodeId | createdClique (const NodeId id)=0 |
| returns the Id of the clique of the junction tree created by the elimination of a given node during the triangulation process | |
| virtual void | clear ()=0 |
| resets the current junction tree strategy data structures | |
Protected Attributes | |
| StaticTriangulation * | triangulation_ {nullptr} |
| the triangulation to which the junction tree is associated | |
Constructors / Destructors | |
| virtual | ~JunctionTreeStrategy () |
| destructor | |
| virtual JunctionTreeStrategy * | newFactory () const =0 |
| create a clone not assigned to any triangulation algorithm | |
| virtual JunctionTreeStrategy * | copyFactory (StaticTriangulation *triangulation=nullptr) const =0 |
| virtual copy constructor | |
| JunctionTreeStrategy () | |
| default constructor | |
| JunctionTreeStrategy (const JunctionTreeStrategy &from) | |
| copy constructor | |
| JunctionTreeStrategy (JunctionTreeStrategy &&from) | |
| move constructor | |
Base Class for all the algorithms producing a junction given a set of cliques/subcliques resulting from a triangulation.
Definition at line 66 of file junctionTreeStrategy.h.
|
virtual |
destructor
Definition at line 73 of file junctionTreeStrategy.cpp.
References JunctionTreeStrategy().
|
protected |
default constructor
Definition at line 54 of file junctionTreeStrategy.cpp.
References JunctionTreeStrategy().
Referenced by gum::DefaultJunctionTreeStrategy::DefaultJunctionTreeStrategy(), gum::DefaultJunctionTreeStrategy::DefaultJunctionTreeStrategy(), JunctionTreeStrategy(), JunctionTreeStrategy(), JunctionTreeStrategy(), ~JunctionTreeStrategy(), copyFactory(), and newFactory().
|
protected |
copy constructor
Definition at line 60 of file junctionTreeStrategy.cpp.
References JunctionTreeStrategy(), and triangulation_.
|
protected |
move constructor
Definition at line 66 of file junctionTreeStrategy.cpp.
References JunctionTreeStrategy(), and triangulation_.
|
pure virtual |
resets the current junction tree strategy data structures
Implemented in gum::DefaultJunctionTreeStrategy.
|
pure virtual |
virtual copy constructor
| triangulation | if triangulation is different from nullptr, this becomes the new triangulation algorithm associated with the junction tree strategy |
Implemented in gum::DefaultJunctionTreeStrategy.
References JunctionTreeStrategy().
Referenced by gum::StaticTriangulation::StaticTriangulation().
returns the Id of the clique of the junction tree created by the elimination of a given node during the triangulation process
Implemented in gum::DefaultJunctionTreeStrategy.
|
pure virtual |
returns, for each node, the clique of the junction tree which was created by its deletion
Implemented in gum::DefaultJunctionTreeStrategy.
|
pure virtual |
returns the junction tree computed
The idea behind this method is that the JunctionTreeStrategy asks its assigned triangulation (see method setTriangulation) all the data it needs to compute correctly the junction tree. For instance, it may asks for a triangulated graph or an elimination tree, or even the order of elimination of the nodes, etc. All these data are available from the triangulation class. Knowing these data, the junctionTreeStrategy computes and returns a junction tree corresponding to the triangulated graph.
Implemented in gum::DefaultJunctionTreeStrategy.
|
virtual |
assigns a new triangulation to the junction tree strategy during a move construction
Definition at line 80 of file junctionTreeStrategy.cpp.
References triangulation_.
|
pure virtual |
create a clone not assigned to any triangulation algorithm
Implemented in gum::DefaultJunctionTreeStrategy.
References JunctionTreeStrategy().
|
pure virtual |
indicates whether the junction tree strategy needs fill-ins to work properly
If the junctionTreeStrategy needs fill-ins to work properly, its assigned triangulation instance (see method setTriangulation) will be commited to compute them.
Implemented in gum::DefaultJunctionTreeStrategy.
|
pure virtual |
assigns the triangulation to the junction tree strategy
Implemented in gum::DefaultJunctionTreeStrategy.
|
protected |
the triangulation to which the junction tree is associated
Definition at line 136 of file junctionTreeStrategy.h.
Referenced by JunctionTreeStrategy(), JunctionTreeStrategy(), gum::DefaultJunctionTreeStrategy::_computeJunctionTree_(), gum::DefaultJunctionTreeStrategy::copyFactory(), moveTriangulation(), and gum::DefaultJunctionTreeStrategy::setTriangulation().