public FactorGraph (Factor[] factors) { this (); for (int i = 0; i < factors.length; i++) { addFactor (factors[i]); } }
public FactorGraph (Collection factors) { this (); for (Iterator it = factors.iterator (); it.hasNext ();) { addFactor ((Factor) it.next ()); } }
public FactorGraph (Collection factors) { this (); for (Iterator it = factors.iterator (); it.hasNext ();) { addFactor ((Factor) it.next ()); } }
public FactorGraph (Collection factors) { this (); for (Iterator it = factors.iterator (); it.hasNext ();) { addFactor ((Factor) it.next ()); } }
public void addFactor (Variable var1, Variable var2, double[] probs) { Variable[] vars = new Variable[] { var1, var2 }; TableFactor pot = new TableFactor (vars, probs); addFactor (pot); }
public Factor multiply (Factor dist) { FactorGraph fg = (FactorGraph) duplicate (); fg.addFactor (dist); return fg; }
public void addFactor (Variable var1, Variable var2, double[] probs) { Variable[] vars = new Variable[] { var1, var2 }; TableFactor pot = new TableFactor (vars, probs); addFactor (pot); }
public void addFactor (Variable var1, Variable var2, double[] probs) { Variable[] vars = new Variable[] { var1, var2 }; TableFactor pot = new TableFactor (vars, probs); addFactor (pot); }
public FactorizedRegion (List factors) { super (varsForFactors (factors), factors); subMdl = new FactorGraph ((Variable[]) vars.toArray (new Variable[0])); for (Iterator it = factors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); subMdl.addFactor (factor); } }
public FactorizedRegion (List factors) { super (varsForFactors (factors), factors); subMdl = new FactorGraph ((Variable[]) vars.toArray (new Variable[0])); for (Iterator it = factors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); subMdl.addFactor (factor); } }
public FactorizedRegion (List factors) { super (varsForFactors (factors), factors); subMdl = new FactorGraph ((Variable[]) vars.toArray (new Variable[0])); for (Iterator it = factors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); subMdl.addFactor (factor); } }
public void logify () { List oldFactors = new ArrayList (factors); clear (); for (Iterator it = oldFactors.iterator (); it.hasNext ();) { AbstractTableFactor factor = (AbstractTableFactor) it.next (); addFactor (new LogTableFactor (factor)); } }
public void logify () { List oldFactors = new ArrayList (factors); clear (); for (Iterator it = oldFactors.iterator (); it.hasNext ();) { AbstractTableFactor factor = (AbstractTableFactor) it.next (); addFactor (new LogTableFactor (factor)); } }
public void addFactor (Factor factor) { super.addFactor (factor); if (factor.varSet ().size() == 2) { edges.add (factor.varSet ()); } }
public void addFactor (Factor factor) { super.addFactor (factor); if (factor.varSet ().size() == 2) { edges.add (factor.varSet ()); } }
public void addFactor (Factor factor) { super.addFactor (factor); if (factor.varSet ().size() == 2) { edges.add (factor.varSet ()); } }
public static void addRandomNodePotentials (Random r, FactorGraph mdl) { int size = mdl.numVariables (); for (int i = 0; i < size; i++) { Variable var = mdl.get (i); TableFactor ptl = randomNodePotential (r, var); mdl.addFactor (ptl); } }
public Factor normalize () { VariableElimination inf = new VariableElimination (); double Z = inf.computeNormalizationFactor (this); addFactor (new ConstantFactor (1.0/Z)); return this; }
public static void addRandomNodePotentials (Random r, FactorGraph mdl) { int size = mdl.numVariables (); for (int i = 0; i < size; i++) { Variable var = mdl.get (i); TableFactor ptl = randomNodePotential (r, var); mdl.addFactor (ptl); } }
public Factor normalize () { VariableElimination inf = new VariableElimination (); double Z = inf.computeNormalizationFactor (this); addFactor (new ConstantFactor (1.0/Z)); return this; }