|
Darwin
1.10(beta)
|
Implements the incremental tightening of the LP MAP inference algorithm from Sontag et al., UAI 2008. More...
Public Member Functions | |
| drwnSontag08Inference (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... | |
Public Member Functions inherited from drwnGEMPLPInference | |
| drwnGEMPLPInference (const drwnFactorGraph &graph) | |
Public Member Functions inherited from drwnMessagePassingMAPInference | |
| drwnMessagePassingMAPInference (const drwnFactorGraph &graph) | |
Public Member Functions inherited from drwnMAPInference | |
| drwnMAPInference (const drwnFactorGraph &graph) | |
| drwnMAPInference (const drwnMAPInference &inf) | |
Static Public Attributes | |
| static unsigned | WARMSTART_ITERATIONS = 20 |
| maximum number of iterations after adding clusters | |
| static unsigned | MAX_CLIQUES_TO_ADD = 5 |
| number of cliques to add per cycle | |
Static Public Attributes inherited from drwnMessagePassingMAPInference | |
| static unsigned | MAX_ITERATIONS = 1000 |
| maximum number of iterations | |
| static double | DAMPING_FACTOR = 0.0 |
| damping factor for updating messages | |
Protected Member Functions | |
| void | buildComputationGraph () |
| virtual void | findCliqueCandidates (std::map< drwnClique, std::vector< int > > &cliqueCandidateSet) |
| Generates the set of clique candidates to test after each GEMPLP iteration. Derived classes can override this to implement different clique candidate strategies. | |
Protected Member Functions inherited from drwnGEMPLPInference | |
| void | initializeMessages () |
| 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 > | _additionalCliques |
Protected Attributes inherited from drwnGEMPLPInference | |
| std::vector< drwnClique > | _separators |
| std::vector< drwnEdge > | _edges |
| std::vector< std::set< int > > | _cliqueEdges |
| std::vector< std::set< int > > | _separatorEdges |
| double | _lastDualObjective |
| unsigned | _maxIterations |
Protected Attributes inherited from drwnMessagePassingMAPInference | |
| 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 |
Protected Attributes inherited from drwnMAPInference | |
| const drwnFactorGraph & | _graph |
| reference to initial clique potentials | |
Implements the incremental tightening of the LP MAP inference algorithm from Sontag et al., UAI 2008.
|
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 drwnGEMPLPInference.
1.8.13