56 template <
typename GUM_SCALAR >
65 template <
typename GUM_SCALAR >
74 template <
typename GUM_SCALAR >
81 template <
typename GUM_SCALAR >
83 std::stringstream str;
84 str <<
u <<
"-" <<
edge <<
"-" <<
l_v <<
"-" <<
v;
88 template <
typename GUM_SCALAR >
94 for (
const auto& elt:
matches) {
95 if ((elt.second.first ==
u) || (elt.second.second ==
u) || (elt.second.first ==
v)
96 || (elt.second.second ==
v)) {
102 matches.insert(
id, std::make_pair(
u,
v));
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem.
NodeId u
The id of the node from which we grow an edge.
std::vector< NodeId > * degree_list
Vector used for computation.
NodeProperty< std::pair< PRMInstance< GUM_SCALAR > *, PRMInstance< GUM_SCALAR > * > > matches
The mapping between the u and v for each match in the interface graph.
Set< NodeId > max_indep_set
The max indep set of matches.
NodeId v
If the growth is backward you must assigned the subscript of v, otherwise 0 is assigned (recall that ...
UndiGraph iso_graph
The iso graph for computing the maximum independent set of matches.
LabelData * edge
The LabelData over the edge of this edge growth.
std::string toString()
Return a string representation of this.
LabelData * l_v
The LabelData over the node of this edge growth.
EdgeGrowth(NodeId a_u, LabelData *an_edge, LabelData *a_l_v, NodeId a_v=0)
Constructor.
void insert(PRMInstance< GUM_SCALAR > *u, PRMInstance< GUM_SCALAR > *v)
Add the pair (u,v) as a match for the current growth.
Headers of the DFSTree class.
Size NodeId
Type for node ids.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities
Inner class to handle data about labels in this interface graph.