public static JunctionTreeInferencer createForMaxProduct() { return new JunctionTreeInferencer(JunctionTreePropagation.createMaxProductInferencer()); }
public Factor lookupMarginal(VarSet varSet) { return propagator.lookupMarginal(jtCurrent, varSet); }
public Factor lookupMarginal(Variable var) { return propagator.lookupMarginal(jtCurrent, var); }
public JunctionTreeInferencer() { this(JunctionTreePropagation.createSumProductInferencer()); } // JunctionTreeInferencer constructor
public void computeMarginals(JunctionTree jt) { inLogSpace = false; // ?? jtCurrent = jt; propagator.computeMarginals(jtCurrent); totalMessagesSent += propagator.getTotalMessagesSent(); }
public void computeMarginals(FactorGraph mdl) { inLogSpace = mdl.getFactor(0) instanceof LogTableFactor; buildJunctionTree(mdl); propagator.computeMarginals(jtCurrent); totalMessagesSent += propagator.getTotalMessagesSent(); }