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

Implements the generalized LP-based message passing algorithm of Globerson and Jaakkola, NIPS 2007. More...

Inheritance diagram for drwnGEMPLPInference:
drwnMessagePassingMAPInference drwnMAPInference drwnSontag08Inference

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...
 
- Public Member Functions inherited from drwnMessagePassingMAPInference
 drwnMessagePassingMAPInference (const drwnFactorGraph &graph)
 
- Public Member Functions inherited from drwnMAPInference
 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
 
- 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
 

Additional Inherited Members

- 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
 

Detailed Description

Implements the generalized LP-based message passing algorithm of Globerson and Jaakkola, NIPS 2007.

Member Function Documentation

pair< double, double > drwnGEMPLPInference::inference ( drwnFullAssignment mapAssignment)
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)).

Todo:
add this to computation graph

Reimplemented from drwnMessagePassingMAPInference.

Reimplemented in drwnSontag08Inference.


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