libDAI
|
Calculates both types of BP messages and their normalizers from an InfAlg. More...
#include <dai/bp_dual.h>
Classes | |
struct | _edges_t |
Convenience label for storing edge properties. More... | |
struct | beliefs |
Groups together the data structures for storing the two types of beliefs and their normalizers. More... | |
struct | messages |
Groups together the data structures for storing the two types of messages and their normalizers. More... | |
Public Member Functions | |
BP_dual (const InfAlg *ia) | |
Construct BP_dual object from (converged) InfAlg object's beliefs and factors. More... | |
const FactorGraph & | fg () const |
Returns the underlying FactorGraph. More... | |
Prob & | msgM (size_t i, size_t _I) |
Returns reference to factor->variable message (I -> i) More... | |
const Prob & | msgM (size_t i, size_t _I) const |
Returns constant reference to factor->variable message (I -> i) More... | |
Prob & | msgN (size_t i, size_t _I) |
Returns reference to variable -> factor message (i -> I) More... | |
const Prob & | msgN (size_t i, size_t _I) const |
Returns constant reference to variable -> factor message (i -> I) More... | |
Real & | zM (size_t i, size_t _I) |
Returns reference to normalizer for factor->variable message (I -> i) More... | |
const Real & | zM (size_t i, size_t _I) const |
Returns constant reference to normalizer for factor->variable message (I -> i) More... | |
Real & | zN (size_t i, size_t _I) |
Returns reference to normalizer for variable -> factor message (i -> I) More... | |
const Real & | zN (size_t i, size_t _I) const |
Returns constant reference to normalizer for variable -> factor message (i -> I) More... | |
Factor | beliefV (size_t i) const |
Returns belief of variable i. More... | |
Factor | beliefF (size_t I) const |
Returns belief of factor I. More... | |
Real | beliefVZ (size_t i) const |
Returns normalizer for belief of variable i. More... | |
Real | beliefFZ (size_t I) const |
Returns normalizer for belief of factor I. More... | |
Protected Member Functions | |
void | init () |
Does all necessary preprocessing. More... | |
void | regenerateMessages () |
Allocates space for _msgs. More... | |
void | regenerateBeliefs () |
Allocates space for _beliefs. More... | |
void | calcMessages () |
Calculate all messages from InfAlg beliefs. More... | |
void | calcNewM (size_t i, size_t _I) |
Update factor->variable message (i -> I) More... | |
void | calcNewN (size_t i, size_t _I) |
Update variable->factor message (I -> i) More... | |
void | calcBeliefs () |
Calculate all variable and factor beliefs from messages. More... | |
void | calcBeliefV (size_t i) |
Calculate belief of variable i. More... | |
void | calcBeliefF (size_t I) |
Calculate belief of factor I. More... | |
Protected Attributes | |
messages | _msgs |
Stores all messages. More... | |
beliefs | _beliefs |
Stores all beliefs. More... | |
const InfAlg * | _ia |
Pointer to the InfAlg object. More... | |
Calculates both types of BP messages and their normalizers from an InfAlg.
BP_dual calculates "dual" versions of BP messages (both messages from factors to variables and messages from variables to factors), and normalizers, given an InfAlg. These are computed from the variable and factor beliefs of the InfAlg. This class is used primarily by BBP.
|
inline |
|
protected |
Does all necessary preprocessing.
|
protected |
Allocates space for _msgs.
|
protected |
Allocates space for _beliefs.
|
protected |
Calculate all messages from InfAlg beliefs.
|
protected |
Update factor->variable message (i -> I)
|
protected |
Update variable->factor message (I -> i)
|
protected |
Calculate all variable and factor beliefs from messages.
|
protected |
Calculate belief of variable i.
|
protected |
Calculate belief of factor I.
|
inline |
Returns the underlying FactorGraph.
|
inline |
Returns reference to factor->variable message (I -> i)
|
inline |
Returns constant reference to factor->variable message (I -> i)
|
inline |
Returns reference to variable -> factor message (i -> I)
|
inline |
Returns constant reference to variable -> factor message (i -> I)
|
inline |
Returns reference to normalizer for factor->variable message (I -> i)
|
inline |
Returns constant reference to normalizer for factor->variable message (I -> i)
|
inline |
Returns reference to normalizer for variable -> factor message (i -> I)
|
inline |
Returns constant reference to normalizer for variable -> factor message (i -> I)
|
inline |
Returns belief of variable i.
|
inline |
Returns belief of factor I.
|
inline |
Returns normalizer for belief of variable i.
|
inline |
Returns normalizer for belief of factor I.
|
protected |
Stores all messages.
|
protected |
Stores all beliefs.