57 template < GUM_Numeric GUM_SCALAR >
66 template < GUM_Numeric GUM_SCALAR >
75 template < GUM_Numeric GUM_SCALAR >
82 template < GUM_Numeric GUM_SCALAR >
84 std::stringstream str;
85 str <<
u <<
"-" <<
edge <<
"-" <<
l_v <<
"-" <<
v;
89 template < GUM_Numeric GUM_SCALAR >
95 for (
const auto& elt:
matches) {
96 if ((elt.second.first ==
u) || (elt.second.second ==
u) || (elt.second.first ==
v)
97 || (elt.second.second ==
v)) {
103 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.
EdgeGrowth(NodeId a_u, LabelData *an_edge, LabelData *a_l_v, NodeId a_v=0)
Constructor.
LabelData * edge
The LabelData over the edge of this edge growth.
LabelData * l_v
The LabelData over the node of this edge growth.
std::string toString()
Return a string representation of this.
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.