protected void setUp() { modelsList = createTestModels(); createTestTrees(); models = (UndirectedModel[]) modelsList.toArray (new UndirectedModel[]{}); computeTestTreeMargs(); }
public void testUndirectedCaches () { List models = TestInference.createTestModels (); for (Iterator it = models.iterator (); it.hasNext ();) { FactorGraph mdl = (FactorGraph) it.next (); verifyCachesConsistent (mdl); } }
private void comparePotentials (DiscreteFactor ptl, double[] expected) { double[] actual = ptl.toValueArray (); assertEquals (expected.length, actual.length); for (int i = 0; i < expected.length; i++) { assertEquals (expected[i], actual[i], 0.001); } }
public void testMarginalize () { Assignment assn = new Assignment (); assn.addRow (vars, new int[] { 1, 1 }); assn.addRow (vars, new int[] { 1, 0 }); Assignment assn2 = (Assignment) assn.marginalize (vars[0]); assertEquals (2, assn2.numRows ()); assertEquals (1, assn2.size ()); assertEquals (vars[0], assn2.getVariable (0)); assertEquals (1, assn.get (0, vars[0])); assertEquals (1, assn.get (1, vars[0])); }
public void testSum () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (1.71, fg.sum (), 1e-5); }
private void checkOrdering (HashVarSet vs, Variable[] vars) { assertEquals (vars.length, vs.size ()); for (int i = 0; i < vars.length; i++) { assertEquals (vars[i], vs.get (i)); } }
private void comparePotentials (DiscreteFactor fActual, DiscreteFactor fExpected) { double[] actual = fActual.toValueArray (); double[] expected = fExpected.toValueArray (); assertEquals (expected.length, actual.length); for (int i = 0; i < expected.length; i++) { assertEquals (expected[i], actual[i], 0.001); } }
private void checkOrdering (VarSet vs, Variable[] vars) { assertEquals (vars.length, vs.size ()); for (int i = 0; i < vars.length; i++) { assertEquals (vars[i], vs.get (i)); } }
public void testCptOfVar () { DirectedModel dm = new DirectedModel (vars); dm.addFactor (pA); dm.addFactor (pB); dm.addFactor (pC); assertTrue (pA == dm.getCptofVar (A)); assertTrue (pB == dm.getCptofVar (B)); assertTrue (pC == dm.getCptofVar (C)); }
public void testUndirectedCaches () { List models = TestInference.createTestModels (); for (Iterator it = models.iterator (); it.hasNext ();) { FactorGraph mdl = (FactorGraph) it.next (); verifyCachesConsistent (mdl); } }
public void testMarginalizeOut () { Assignment assn = new Assignment (); assn.addRow (vars, new int[] { 1, 1 }); assn.addRow (vars, new int[] { 1, 0 }); Assignment assn2 = (Assignment) assn.marginalizeOut (vars[1]); assertEquals (2, assn2.numRows ()); assertEquals (1, assn2.size ()); assertEquals (vars[0], assn2.getVariable (0)); assertEquals (1, assn.get (0, vars[0])); assertEquals (1, assn.get (1, vars[0])); }
public void testNumVariables () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (3, fg.numVariables ()); }
private void checkOrdering (HashVarSet vs, Variable[] vars) { assertEquals (vars.length, vs.size ()); for (int i = 0; i < vars.length; i++) { assertEquals (vars[i], vs.get (i)); } }
public void testMarginalizeOut () { Assignment assn = new Assignment (); assn.addRow (vars, new int[] { 1, 1 }); assn.addRow (vars, new int[] { 1, 0 }); Assignment assn2 = (Assignment) assn.marginalizeOut (vars[1]); assertEquals (2, assn2.numRows ()); assertEquals (1, assn2.size ()); assertEquals (vars[0], assn2.getVariable (0)); assertEquals (1, assn.get (0, vars[0])); assertEquals (1, assn.get (1, vars[0])); }
public void testSum () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (1.71, fg.sum (), 1e-5); }
public void testSetValueDup () { Assignment assn = new Assignment (); assn.addRow (vars, new int[] { 1, 1 }); Assignment dup = (Assignment) assn.duplicate (); dup.setValue (vars[0], 0); assertEquals (1, dup.numRows ()); assertEquals (0, dup.get (0, vars[0])); assertEquals (1, dup.get (0, vars[1])); }
public void testLogNormalize () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (ltbl1); fg.multiplyBy (ltbl2); fg.normalize (); assertEquals (1.0, fg.sum(), 1e-5); }
public void testScale () { Assignment assn = new Assignment (vars, new int[] { 1, 0 }); assn.addRow (vars, new int[] { 1, 0 }); assn.addRow (vars, new int[] { 1, 1 }); Assignment assn2 = new Assignment (vars, new int[] { 1, 0 }); assn.normalize (); assertEquals (0.666666, assn.value (assn2), 1e-5); }
public void testNormalize () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); fg.normalize (); assertEquals (1.0, fg.sum(), 1e-5); }
public void testScale () { Assignment assn = new Assignment (vars, new int[] { 1, 0 }); assn.addRow (vars, new int[] { 1, 0 }); assn.addRow (vars, new int[] { 1, 1 }); Assignment assn2 = new Assignment (vars, new int[] { 1, 0 }); assn.normalize (); assertEquals (0.666666, assn.value (assn2), 1e-5); }