Darwin
1.10(beta)
|
Implements the generalized LP-based message passing algorithm of Globerson and Jaakkola, NIPS 2007. More...
Public Member Functions | |
drwnGEMPLPInference (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) ). More... | |
![]() | |
drwnMessagePassingMAPInference (const drwnFactorGraph &graph) | |
![]() | |
drwnMAPInference (const drwnFactorGraph &graph) | |
drwnMAPInference (const drwnMAPInference &inf) | |
Protected Member Functions | |
void | initializeMessages () |
void | buildComputationGraph () |
void | decodeBeliefs (drwnFullAssignment &mapAssignment) |
int | findSeparatorIndex (const drwnClique &cliqueA, const drwnClique &cliqueB) |
void | addMessageUpdate (int cliqueId, const drwnClique &cliqueVars, const drwnTableFactor *psi=NULL) |
Protected Attributes | |
std::vector< drwnClique > | _separators |
std::vector< drwnEdge > | _edges |
std::vector< std::set< int > > | _cliqueEdges |
std::vector< std::set< int > > | _separatorEdges |
double | _lastDualObjective |
unsigned | _maxIterations |
![]() | |
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 | |
Additional Inherited Members | |
![]() | |
static unsigned | MAX_ITERATIONS = 1000 |
maximum number of iterations | |
static double | DAMPING_FACTOR = 0.0 |
damping factor for updating messages | |
Implements the generalized LP-based message passing algorithm of Globerson and Jaakkola, NIPS 2007.
|
virtual |
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)
).
Reimplemented from drwnMessagePassingMAPInference.
Reimplemented in drwnSontag08Inference.