cc.mallet.grmm.inference
Class TRP

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

public class TRP
extends AbstractBeliefPropagation

Implementation of Wainwright's TRP schedule for loopy BP in general graphical models.

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

Nested Class Summary
 class TRP.AlmostRandomTreeFactory
          Always adds edges that have not been touched, after that adds random edges.
static class TRP.ConvergenceTerminator
           
static class TRP.DefaultConvergenceTerminator
           
static class TRP.IterationTerminator
           
static interface TRP.TerminationCondition
           
static interface TRP.TreeFactory
          Interface for tree-generation strategies for TRP.
static class TRP.TreeListFactory
          Generates spanning trees cyclically from a predefined collection.
 
Nested classes/interfaces inherited from class cc.mallet.grmm.inference.AbstractBeliefPropagation
AbstractBeliefPropagation.AbstractMessageStrategy, AbstractBeliefPropagation.MaxProductMessageStrategy, AbstractBeliefPropagation.MessageStrategy, AbstractBeliefPropagation.SumProductMessageStrategy
 
Field Summary
 
Fields inherited from class cc.mallet.grmm.inference.AbstractBeliefPropagation
assignedVertexPtls, iterUsed, mdlCurrent, normalizeBeliefs, useCaching
 
Constructor Summary
TRP()
           
TRP(TRP.TerminationCondition cond)
           
TRP(TRP.TreeFactory f)
           
TRP(TRP.TreeFactory f, TRP.TerminationCondition cond)
           
 
Method Summary
 Assignment bestAssignment()
           
 java.lang.Object clone()
           
 void computeMarginals(FactorGraph m)
          Computes marginal distributions for a factor graph.
static TRP createForMaxProduct()
           
protected  void initForGraph(FactorGraph m)
           
 boolean isConverged()
           
 Factor query(DirectedModel m, Variable var)
           
 TRP setFactory(TRP.TreeFactory factory)
           
 void setRandomSeed(long seed)
           
 TRP setTerminator(TRP.TerminationCondition cond)
           
 void setVerboseOutputDirectory(java.io.File verboseOutputDirectory)
           
 
Methods inherited from class cc.mallet.grmm.inference.AbstractBeliefPropagation
copyOldMessages, doneWithGraph, dump, dump, getMessager, getMessagesSent, getMessagesUsedLastTime, getTotalMessagesSent, hasConverged, hasConverged, iterationsUsed, lookupLogJoint, lookupMarginal, lookupMarginal, reportTime, resetMessagesSentAtStart, sendMessage, sendMessage, setMessager
 
Methods inherited from class cc.mallet.grmm.inference.AbstractInferencer
duplicate, lookupJoint, query
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TRP

public TRP()

TRP

public TRP(TRP.TreeFactory f)

TRP

public TRP(TRP.TerminationCondition cond)

TRP

public TRP(TRP.TreeFactory f,
           TRP.TerminationCondition cond)
Method Detail

createForMaxProduct

public static TRP createForMaxProduct()

setTerminator

public TRP setTerminator(TRP.TerminationCondition cond)

setFactory

public TRP setFactory(TRP.TreeFactory factory)

setRandomSeed

public void setRandomSeed(long seed)

setVerboseOutputDirectory

public void setVerboseOutputDirectory(java.io.File verboseOutputDirectory)

isConverged

public boolean isConverged()

initForGraph

protected void initForGraph(FactorGraph m)
Overrides:
initForGraph in class AbstractBeliefPropagation

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

query

public Factor query(DirectedModel m,
                    Variable var)

bestAssignment

public Assignment bestAssignment()

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object