Direct Graphical Models  v.1.7.0
DirectGraphicalModels::CInferTree Class Reference

Inference for tree graphs (undirected graphs without loops) More...

#include <InferTree.h>

Inheritance diagram for DirectGraphicalModels::CInferTree:
Collaboration diagram for DirectGraphicalModels::CInferTree:

Public Member Functions

 CInferTree (CGraphPairwise &graph)
 Constructor. More...
 
virtual ~CInferTree (void)
 
- Public Member Functions inherited from DirectGraphicalModels::CMessagePassing
 CMessagePassing (CGraphPairwise &graph)
 Constructor. More...
 
virtual ~CMessagePassing (void)
 
virtual void infer (unsigned int nIt=1)
 Inference. More...
 
- Public Member Functions inherited from DirectGraphicalModels::CInfer
 CInfer (CGraph &graph)
 Constructor. More...
 
 CInfer (const CInfer &)=delete
 
virtual ~CInfer ()=default
 
const CInferoperator= (const CInfer &)=delete
 
vec_byte_t decode (unsigned int nIt=0, Mat &lossMatrix=EmptyMat)
 Approximate decoding. More...
 
vec_float_t getConfidence (void) const
 Returns the confidence of the perdiction. More...
 
vec_float_t getPotentials (byte state) const
 Returns the potnetials for the selected state (class) More...
 

Protected Member Functions

virtual void calculateMessages (unsigned int nIt)
 Calculates messages for exact inference in a tree graph. More...
 
- Protected Member Functions inherited from DirectGraphicalModels::CMessagePassing
CGraphPairwisegetGraphPairwise (void) const
 Returns the graph. More...
 
void calculateMessage (Edge *edge, float *temp, float *&dst, bool maxSum=false)
 Calculates one message for the specified edge edge. More...
 
void createMessages (void)
 Allocates memory for Edge::msg and Edge::msg_temp containers for all edges in the graph. More...
 
void deleteMessages (void)
 Deletes memory for Edge::msg and Edge::msg_temp containers for all edges in the graph. More...
 
void swapMessages (void)
 Swaps Edge::msg and Edge::msg_temp for all edges in the graph. More...
 
- Protected Member Functions inherited from DirectGraphicalModels::CInfer
CGraphgetGraph (void) const
 Returns the reference to the graph. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from DirectGraphicalModels::CMessagePassing
static float MatMul (const Mat &M, const float *v, float *&dst, bool maxSum=false)
 Specific matrix multiplication. More...
 

Detailed Description

Inference for tree graphs (undirected graphs without loops)

Author
Sergey G. Kosov, serge.nosp@m.y.ko.nosp@m.sov@p.nosp@m.roje.nosp@m.ct-10.nosp@m..de
Todo:
Check the application of this class to DAGs and mixed graphs

Definition at line 16 of file InferTree.h.

Constructor & Destructor Documentation

◆ CInferTree()

DirectGraphicalModels::CInferTree::CInferTree ( CGraphPairwise graph)
inline

Constructor.

Parameters
graphThe graph

Definition at line 23 of file InferTree.h.

◆ ~CInferTree()

virtual DirectGraphicalModels::CInferTree::~CInferTree ( void  )
inlinevirtual

Definition at line 24 of file InferTree.h.

Member Function Documentation

◆ calculateMessages()

void DirectGraphicalModels::CInferTree::calculateMessages ( unsigned int  nIt)
protectedvirtual

Calculates messages for exact inference in a tree graph.

This function estimates the marginal potentials for each graph node and stores them as node potentials.

Parameters
nItis not used

Implements DirectGraphicalModels::CMessagePassing.

Definition at line 6 of file InferTree.cpp.

Here is the call graph for this function:

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