Darwin
1.10(beta)
|
Implements generic message-passing algorithms on factor graphs. See derived classes for specific algorithms. More...
Public Member Functions | |
drwnMessagePassingMAPInference (const drwnFactorGraph &graph) | |
void | clear () |
Clear internally cached data (e.g., computation graph) | |
std::pair< double, double > | inference (drwnFullAssignment &mapAssignment) |
Run inference (or resume for iterative algorithms). Algorithms may initialize from mapAssignment if not empty. Returns an upper and lower bound (if available) of the minimum energy. The upper bound is the same as the energy of the best solution found (i.e., same as graph.getEnergy(mapAssignment) ). | |
![]() | |
drwnMAPInference (const drwnFactorGraph &graph) | |
drwnMAPInference (const drwnMAPInference &inf) | |
Static Public Attributes | |
static unsigned | MAX_ITERATIONS = 1000 |
maximum number of iterations | |
static double | DAMPING_FACTOR = 0.0 |
damping factor for updating messages | |
Protected Member Functions | |
virtual void | initializeMessages () |
virtual void | buildComputationGraph ()=0 |
virtual void | decodeBeliefs (drwnFullAssignment &mapAssignment) |
Protected Attributes | |
std::vector< drwnTableFactor * > | _forwardMessages |
std::vector< drwnTableFactor * > | _backwardMessages |
std::vector< drwnTableFactor * > | _oldForwardMessages |
std::vector< drwnTableFactor * > | _oldBackwardMessages |
std::vector< drwnTableFactor * > | _intermediateFactors |
std::vector < drwnFactorOperation * > | _computations |
std::vector < drwnTableFactorStorage * > | _sharedStorage |
![]() | |
const drwnFactorGraph & | _graph |
reference to initial clique potentials | |
Implements generic message-passing algorithms on factor graphs. See derived classes for specific algorithms.