aGrUM 3.1.1
a C++ library for (probabilistic) graphical models
gum::LoopySamplingInference< GUM_SCALAR, APPROX > Class Template Reference

<agrum/BN/inference/loopySamplingInference.h> More...

#include <loopySamplingInference.h>

Inheritance diagram for gum::LoopySamplingInference< GUM_SCALAR, APPROX >:
Collaboration diagram for gum::LoopySamplingInference< GUM_SCALAR, APPROX >:

Public Member Functions

 LoopySamplingInference (const IBayesNet< GUM_SCALAR > *bn)
 Default constructor.
 ~LoopySamplingInference () override
 destructor
void makeInference_ () override
 makes the inference by generating samples w.r.t the mother class' sampling method after initalizing estimators with loopy belief propagation
void setVirtualLBPSize (GUM_SCALAR vlbpsize)

Protected Attributes

GUM_SCALAR virtualLBPSize_

Detailed Description

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
class gum::LoopySamplingInference< GUM_SCALAR, APPROX >

<agrum/BN/inference/loopySamplingInference.h>

class for making hybrid sampling inference with loopy belief propagation and an approximation inference method in Bayesian networks.

This class inherits of template class APPROX, which SHOULD be one of the 4 approximate inference methods (MonteCarlo, Weighted, Importance, Gibbs). It makes the inference with respect to the inherited class' method, after having initialized the estimators with the posteriors obtained by running LoopyBeliefPropagation algorithm.

Definition at line 76 of file loopySamplingInference.h.

Constructor & Destructor Documentation

◆ LoopySamplingInference()

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
gum::LoopySamplingInference< GUM_SCALAR, APPROX >::LoopySamplingInference ( const IBayesNet< GUM_SCALAR > * bn)
explicit

Default constructor.

Definition at line 62 of file loopySamplingInference_tpl.h.

63 :
66 }
<agrum/BN/inference/loopySamplingInference.h>
LoopySamplingInference(const IBayesNet< GUM_SCALAR > *bn)
Default constructor.

References LoopySamplingInference(), DEFAULT_VIRTUAL_LBP_SIZE, and virtualLBPSize_.

Referenced by LoopySamplingInference(), and ~LoopySamplingInference().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~LoopySamplingInference()

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
gum::LoopySamplingInference< GUM_SCALAR, APPROX >::~LoopySamplingInference ( )
override

destructor

Definition at line 69 of file loopySamplingInference_tpl.h.

References LoopySamplingInference().

Here is the call graph for this function:

Member Function Documentation

◆ makeInference_()

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
void gum::LoopySamplingInference< GUM_SCALAR, APPROX >::makeInference_ ( )
override

makes the inference by generating samples w.r.t the mother class' sampling method after initalizing estimators with loopy belief propagation

Definition at line 74 of file loopySamplingInference_tpl.h.

74 {
76 for (const auto& x: this->hardEvidence()) {
77 lbp.addEvidence(x.first, x.second);
78 }
79 lbp.makeInference();
80
82
84 }

References gum::GraphicalModelInference< GUM_SCALAR >::addEvidence(), gum::GraphicalModelInference< GUM_SCALAR >::makeInference(), and virtualLBPSize_.

Here is the call graph for this function:

◆ setVirtualLBPSize()

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
void gum::LoopySamplingInference< GUM_SCALAR, APPROX >::setVirtualLBPSize ( GUM_SCALAR vlbpsize)

Definition at line 87 of file loopySamplingInference_tpl.h.

87 {
89 }

References virtualLBPSize_.

Member Data Documentation

◆ virtualLBPSize_

template<GUM_Numeric GUM_SCALAR, template< typename > class APPROX>
GUM_SCALAR gum::LoopySamplingInference< GUM_SCALAR, APPROX >::virtualLBPSize_
protected

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