Direct Graphical Models  v.1.5.1
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 (CGraph *pGraph)
 Constructor. More...
 
virtual ~CInferTree (void)
 
- Public Member Functions inherited from DirectGraphicalModels::CMessagePassing
 CMessagePassing (CGraph *pGraph)
 Constructor. More...
 
virtual ~CMessagePassing (void)
 
virtual void infer (unsigned int nIt=1)
 Inference. More...
 
- Public Member Functions inherited from DirectGraphicalModels::CInfer
 CInfer (CGraph *pGraph)
 Constructor. More...
 
virtual ~CInfer (void)
 
virtual vec_byte_t decode (unsigned int nIt=0, Mat &lossMatrix=Mat())
 Approximate decoding. More...
 
vec_float_t getConfidence (void) const
 Returns the confidence of the prediction. 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
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::CDecode
 CDecode (CGraph *pGraph)
 Constructor. More...
 
void setState (vec_byte_t &state, qword configuration) const
 Sets the state according to the configuration index configuration. More...
 
void incState (vec_byte_t &state) const
 Increases the state by one, i.e. switches the state array to the consequent configuration. More...
 
vec_float_t calculatePotentials (void) const
 Calculates potentials for all possible configurations. More...
 
virtual ~CDecode (void)
 
virtual vec_byte_t decode (unsigned int nIt=0, Mat &lossMatrix=Mat()) const
 Approximate decoding. 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...
 
- Static Protected Member Functions inherited from DirectGraphicalModels::CDecode
static vec_byte_t decode (const CGraph *pGraph, Mat &lossMatrix=Mat())
 Approximate decoding. More...
 
static Mat getDefaultLossMatrix (byte nStates)
 Returns a default loss matrix \(L\). More...
 
- Protected Attributes inherited from DirectGraphicalModels::CDecode
CGraphm_pGraph
 Pointer to the graph. 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

DirectGraphicalModels::CInferTree::CInferTree ( CGraph pGraph)
inline

Constructor.

Parameters
pGraphThe graph

Definition at line 23 of file InferTree.h.

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

Definition at line 24 of file InferTree.h.

Member Function Documentation

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: