Darwin  1.10(beta)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
drwnMAPInference Class Referenceabstract

Interface for various MAP inference (energy minimization) algorithms. More...

Inheritance diagram for drwnMAPInference:
drwnADLPInference drwnAlphaBetaSwapInference drwnAlphaExpansionInference drwnDualDecompositionInference drwnICMInference drwnJunctionTreeInference drwnMessagePassingMAPInference drwnTRWSInference

Public Member Functions

 drwnMAPInference (const drwnFactorGraph &graph)
 
 drwnMAPInference (const drwnMAPInference &inf)
 
virtual void clear ()
 Clear internally cached data (e.g., computation graph)
 
virtual std::pair< double, double > inference (drwnFullAssignment &mapAssignment)=0
 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)).
 

Protected Attributes

const drwnFactorGraph_graph
 reference to initial clique potentials
 

Detailed Description

Interface for various MAP inference (energy minimization) algorithms.

Algorithms operate on a factor graph (see drwnFactorGraph) that is assumed to be provided in energy function form, i.e., $E(x) = \sum_c \psi_c(x_c)$ where $P(x) \propto \exp\left\{-E(x)\right\}$ and the task is to find $\mathop{argmin}_x E(x)$. A constant reference is maintained to the factor graph, so it is important that the drwnFactorGraph object not be destoryed before destroying the drwnMAPInference object.

Todo:
derive from drwnStdObjectIface to allow factory creation

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