cc.mallet.grmm.inference
Class VariableElimination

java.lang.Object
  extended by cc.mallet.grmm.inference.AbstractInferencer
      extended by cc.mallet.grmm.inference.VariableElimination
All Implemented Interfaces:
Inferencer, java.io.Serializable, java.lang.Cloneable

public class VariableElimination
extends AbstractInferencer

The variable elimination algorithm for inference in graphical models. Created: Mon Sep 22 17:34:00 2003

Version:
$Id: VariableElimination.java,v 1.1 2007/10/22 21:37:49 mccallum Exp $
Author:
Charles Sutton
See Also:
Serialized Form

Constructor Summary
VariableElimination()
           
 
Method Summary
 void computeMarginals(FactorGraph m)
          Computes marginal distributions for a factor graph.
 double computeNormalizationFactor(FactorGraph m)
          Computes the normalization constant for a model.
 Factor lookupMarginal(Variable var)
          Returns the computed marginal of a given variable.
 Factor unnormalizedMarginal(FactorGraph model, Variable query)
          The bulk of the variable-elimination algorithm.
 
Methods inherited from class cc.mallet.grmm.inference.AbstractInferencer
dump, duplicate, lookupJoint, lookupLogJoint, lookupMarginal, query, reportTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableElimination

public VariableElimination()
Method Detail

unnormalizedMarginal

public Factor unnormalizedMarginal(FactorGraph model,
                                   Variable query)
The bulk of the variable-elimination algorithm. Returns the marginal density of the variable QUERY in the undirected model MODEL, except that the density is un-normalized. The normalization is done in a separate function to make computeNormalizationFactor easier.


computeNormalizationFactor

public double computeNormalizationFactor(FactorGraph m)
Computes the normalization constant for a model.


computeMarginals

public void computeMarginals(FactorGraph m)
Description copied from interface: Inferencer
Computes marginal distributions for a factor graph.

Specified by:
computeMarginals in interface Inferencer
Specified by:
computeMarginals in class AbstractInferencer

lookupMarginal

public Factor lookupMarginal(Variable var)
Description copied from interface: Inferencer
Returns the computed marginal of a given variable. Before using this method, computeMarginals must have been previously called on the graphical model that contains v.

Specified by:
lookupMarginal in interface Inferencer
Specified by:
lookupMarginal in class AbstractInferencer
See Also:
Inferencer.computeMarginals(FactorGraph)