aGrUM 2.3.2
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.
virtual ~LoopySamplingInference ()
 destructor
virtual void makeInference_ ()
 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<typename 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<typename GUM_SCALAR, template< typename > class APPROX>
gum::LoopySamplingInference< GUM_SCALAR, APPROX >::LoopySamplingInference ( const IBayesNet< GUM_SCALAR > * bn)
explicit

Default constructor.

Definition at line 61 of file loopySamplingInference_tpl.h.

62 :
65 }
<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<typename GUM_SCALAR, template< typename > class APPROX>
gum::LoopySamplingInference< GUM_SCALAR, APPROX >::~LoopySamplingInference ( )
virtual

destructor

Definition at line 68 of file loopySamplingInference_tpl.h.

References LoopySamplingInference().

Here is the call graph for this function:

Member Function Documentation

◆ makeInference_()

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

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

Definition at line 73 of file loopySamplingInference_tpl.h.

73 {
75 for (const auto& x: this->hardEvidence()) {
76 lbp.addEvidence(x.first, x.second);
77 }
78 lbp.makeInference();
79
81
83 }

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

Here is the call graph for this function:

◆ setVirtualLBPSize()

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

Definition at line 92 of file loopySamplingInference.h.

92 {
94 };

Member Data Documentation

◆ virtualLBPSize_

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

Definition at line 97 of file loopySamplingInference.h.

Referenced by LoopySamplingInference(), and makeInference_().


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