aGrUM  0.16.0
gum::prm::StructuredInference< GUM_SCALAR >::PData Struct Reference

Private structure to represent data about a pattern. More...

+ Collaboration diagram for gum::prm::StructuredInference< GUM_SCALAR >::PData:

Public Attributes

const gspan::Patternpattern
 The pattern for which this represents data about it. More...
 
GSpan< GUM_SCALAR >::MatchedInstances & matches
 A reference over the usable matches of pattern. More...
 
UndiGraph graph
 A yet to be triangulated undigraph. More...
 
NodeProperty< Sizemod
 The pattern's variables modalities. More...
 
Bijection< NodeId, std::string > node2attr
 A bijection to easily keep track between graph and attributes, its of the form instance_name DOT attr_name. More...
 
NodeProperty< std::pair< Idx, std::string > > map
 To ease translating potentials from one match to another. More...
 
Bijection< NodeId, const DiscreteVariable *> vars
 Bijection between graph's nodes and their corresponding DiscreteVariable, for inference purpose. More...
 
NodeProperty< Potential< GUM_SCALAR > *> pots
 To handle barren nodes. More...
 
Set< NodeIdbarren
 Set of barren nodes. More...
 

Public Member Functions

 PData (const gspan::Pattern &p, typename GSpan< GUM_SCALAR >::MatchedInstances &m)
 Default constructor. More...
 
 PData (const PData &source)
 Copy constructor. More...
 
 ~PData ()
 Destructor. More...
 
NodeSetinners ()
 Returns the set of inner nodes. More...
 
NodeSetobs ()
 Returns the set of inner and observed nodes given all the matches of pattern. More...
 
NodeSetoutputs ()
 Returns the set of outputs nodes given all the matches of pattern. More...
 
NodeSetqueries ()
 Returns the set of queried nodes given all the matches of pattern. More...
 
const List< NodeSet > * partial_order ()
 

Detailed Description

template<typename GUM_SCALAR>
struct gum::prm::StructuredInference< GUM_SCALAR >::PData

Private structure to represent data about a pattern.

Definition at line 156 of file structuredInference.h.

Constructor & Destructor Documentation

◆ PData() [1/2]

template<typename GUM_SCALAR >
gum::prm::StructuredInference< GUM_SCALAR >::PData::PData ( const gspan::Pattern p,
typename GSpan< GUM_SCALAR >::MatchedInstances &  m 
)

Default constructor.

Definition at line 816 of file structuredInference_tpl.h.

References gum::prm::StructuredInference< GUM_SCALAR >::PData::__partial_order, gum::prm::StructuredInference< GUM_SCALAR >::PData::__real_order, gum::prm::StructuredInference< GUM_SCALAR >::PData::graph, gum::prm::StructuredInference< GUM_SCALAR >::PData::matches, gum::prm::StructuredInference< GUM_SCALAR >::PData::mod, gum::prm::StructuredInference< GUM_SCALAR >::PData::node2attr, gum::prm::StructuredInference< GUM_SCALAR >::PData::pattern, and gum::prm::StructuredInference< GUM_SCALAR >::PData::vars.

818  :
819  pattern(p),
820  matches(m), __real_order(0) {
821  GUM_CONSTRUCTOR(StructuredInference< GUM_SCALAR >::PData);
822 
823  for (int i = 0; i < 4; ++i)
824  __partial_order.push_front(NodeSet());
825  }
GSpan< GUM_SCALAR >::MatchedInstances & matches
A reference over the usable matches of pattern.
Set< NodeId > NodeSet
Some typdefs and define for shortcuts ...
List< NodeSet > * __real_order
A copy of __partial_order without empty sets.
const gspan::Pattern & pattern
The pattern for which this represents data about it.
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...

◆ PData() [2/2]

template<typename GUM_SCALAR>
gum::prm::StructuredInference< GUM_SCALAR >::PData::PData ( const PData source)

Copy constructor.

◆ ~PData()

template<typename GUM_SCALAR >
INLINE gum::prm::StructuredInference< GUM_SCALAR >::PData::~PData ( )

Destructor.

Definition at line 1005 of file structuredInference_tpl.h.

1005  {
1006  GUM_DESTRUCTOR(StructuredInference< GUM_SCALAR >::PData);
1007  }

Member Function Documentation

◆ inners()

template<typename GUM_SCALAR>
NodeSet& gum::prm::StructuredInference< GUM_SCALAR >::PData::inners ( )
inline

Returns the set of inner nodes.

Definition at line 189 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildPatternGraph(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodes(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodesInSource(), gum::prm::StructuredInference< GUM_SCALAR >::__insertNodeInElimLists(), gum::prm::StructuredInference< GUM_SCALAR >::__removeBarrenNodes(), and gum::prm::StructuredInference< GUM_SCALAR >::__removeNode().

189 { return __partial_order[0]; }
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...
+ Here is the caller graph for this function:

◆ obs()

template<typename GUM_SCALAR>
NodeSet& gum::prm::StructuredInference< GUM_SCALAR >::PData::obs ( )
inline

Returns the set of inner and observed nodes given all the matches of pattern.

Definition at line 192 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildPatternGraph(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodes(), gum::prm::StructuredInference< GUM_SCALAR >::__eliminateObservedNodesInSource(), and gum::prm::StructuredInference< GUM_SCALAR >::__insertNodeInElimLists().

192 { return __partial_order[1]; }
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...
+ Here is the caller graph for this function:

◆ outputs()

template<typename GUM_SCALAR>
NodeSet& gum::prm::StructuredInference< GUM_SCALAR >::PData::outputs ( )
inline

Returns the set of outputs nodes given all the matches of pattern.

Definition at line 194 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildPatternGraph(), and gum::prm::StructuredInference< GUM_SCALAR >::__insertNodeInElimLists().

194 { return __partial_order[2]; }
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...
+ Here is the caller graph for this function:

◆ partial_order()

template<typename GUM_SCALAR >
const List< NodeSet > * gum::prm::StructuredInference< GUM_SCALAR >::PData::partial_order ( )

Definition at line 839 of file structuredInference_tpl.h.

References gum::prm::StructuredInference< GUM_SCALAR >::PData::__partial_order, and gum::prm::StructuredInference< GUM_SCALAR >::PData::__real_order.

839  {
840  if (!__real_order) {
841  __real_order = new List< NodeSet >();
842 
843  for (const auto set : __partial_order)
844  if (set.size() > 0) __real_order->insert(set);
845  }
846 
847  return __real_order;
848  }
List< NodeSet > * __real_order
A copy of __partial_order without empty sets.
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...

◆ queries()

template<typename GUM_SCALAR>
NodeSet& gum::prm::StructuredInference< GUM_SCALAR >::PData::queries ( )
inline

Returns the set of queried nodes given all the matches of pattern.

Definition at line 196 of file structuredInference.h.

References gum::prm::StructuredInference< GUM_SCALAR >::RGData::partial_order.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildPatternGraph().

196 { return __partial_order[3]; }
List< NodeSet > __partial_order
We&#39;ll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside ...
+ Here is the caller graph for this function:

Member Data Documentation

◆ __partial_order

template<typename GUM_SCALAR>
List< NodeSet > gum::prm::StructuredInference< GUM_SCALAR >::PData::__partial_order
private

We'll use a PartialOrderedTriangulation with three sets: output, nodes and obs with children outside the pattern and the other nodes.

Definition at line 209 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::PData::partial_order(), and gum::prm::StructuredInference< GUM_SCALAR >::PData::PData().

◆ __real_order

template<typename GUM_SCALAR>
List< NodeSet >* gum::prm::StructuredInference< GUM_SCALAR >::PData::__real_order
private

◆ barren

template<typename GUM_SCALAR>
Set< NodeId > gum::prm::StructuredInference< GUM_SCALAR >::PData::barren

◆ graph

◆ map

◆ matches

◆ mod

◆ node2attr

template<typename GUM_SCALAR>
Bijection< NodeId, std::string > gum::prm::StructuredInference< GUM_SCALAR >::PData::node2attr

A bijection to easily keep track between graph and attributes, its of the form instance_name DOT attr_name.

Definition at line 169 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__buildPatternGraph(), gum::prm::StructuredInference< GUM_SCALAR >::__removeNode(), and gum::prm::StructuredInference< GUM_SCALAR >::PData::PData().

◆ pattern

template<typename GUM_SCALAR>
const gspan::Pattern& gum::prm::StructuredInference< GUM_SCALAR >::PData::pattern

The pattern for which this represents data about it.

Definition at line 158 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::PData::PData().

◆ pots

template<typename GUM_SCALAR>
NodeProperty< Potential< GUM_SCALAR >* > gum::prm::StructuredInference< GUM_SCALAR >::PData::pots

To handle barren nodes.

Definition at line 178 of file structuredInference.h.

Referenced by gum::prm::StructuredInference< GUM_SCALAR >::__removeNode().

◆ vars


The documentation for this struct was generated from the following files: