public static void main (String[] args) throws Throwable { TestSuite theSuite; if (args.length > 0) { theSuite = new TestSuite (); for (int i = 0; i < args.length; i++) { theSuite.addTest (new TestFactorGraph (args[i])); } } else { theSuite = (TestSuite) TestFactorGraph.suite (); } junit.textui.TestRunner.run (theSuite); }
public void testMultiplyBy () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (2, fg.factors ().size()); assertTrue (fg.factors ().contains (tbl1)); assertTrue (fg.factors ().contains (tbl2)); assertEquals (3, fg.numVariables ()); assertTrue (fg.variablesSet ().contains (vars[0])); assertTrue (fg.variablesSet ().contains (vars[1])); assertTrue (fg.variablesSet ().contains (vars[2])); }
public void testAllFactorsOf () throws IOException { ModelReader reader = new ModelReader (); FactorGraph fg = reader.readModel (new BufferedReader (new StringReader (uniformMdlstr2))); Variable var = new Variable (2); var.setLabel ("v0"); List lst = fg.allFactorsOf (var); assertEquals (0, lst.size ()); }
public void testAsTable2 () { Factor f1 = new TableFactor (vars[0], new double[] { 0.6, 0.4 }); Factor f2 = new ConstantFactor (2.0); FactorGraph fg = new FactorGraph (new Factor[] { f1, f2 }); AbstractTableFactor tbl = fg.asTable (); assertTrue (Arrays.equals(new double[] { 0.6 * 2.0, 0.4 * 2.0 }, tbl.toValueArray ())); }
public void testAllFactorsOf () throws IOException { ModelReader reader = new ModelReader (); FactorGraph fg = reader.readModel (new BufferedReader (new StringReader (uniformMdlstr2))); Variable var = new Variable (2); var.setLabel ("v0"); List lst = fg.allFactorsOf (var); assertEquals (0, lst.size ()); }
public void testAsTable2 () { Factor f1 = new TableFactor (vars[0], new double[] { 0.6, 0.4 }); Factor f2 = new ConstantFactor (2.0); FactorGraph fg = new FactorGraph (new Factor[] { f1, f2 }); AbstractTableFactor tbl = fg.asTable (); assertTrue (Arrays.equals(new double[] { 0.6 * 2.0, 0.4 * 2.0 }, tbl.toValueArray ())); }
public void testMultiplyBy () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (2, fg.factors ().size()); assertTrue (fg.factors ().contains (tbl1)); assertTrue (fg.factors ().contains (tbl2)); assertEquals (3, fg.numVariables ()); assertTrue (fg.variablesSet ().contains (vars[0])); assertTrue (fg.variablesSet ().contains (vars[1])); assertTrue (fg.variablesSet ().contains (vars[2])); }
public void testRedundantDomains () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); fg.multiplyBy (ltbl1); assertEquals (3, fg.varSet ().size ()); assertEquals ("Wrong factors in FG, was "+fg.dumpToString (), 3, fg.factors ().size ()); Assignment assn = new Assignment (fg.varSet ().toVariableArray (), new int [3]); assertEquals (0.128, fg.value (assn), 1e-5); }
public static void main (String[] args) throws Throwable { TestSuite theSuite; if (args.length > 0) { theSuite = new TestSuite (); for (int i = 0; i < args.length; i++) { theSuite.addTest (new TestFactorGraph (args[i])); } } else { theSuite = (TestSuite) TestFactorGraph.suite (); } junit.textui.TestRunner.run (theSuite); }
public void testMarginalize () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); Factor marg = fg.marginalize (vars[1]); Factor expected = new TableFactor (vars[1], new double[] { 0.81, 0.9 }); assertTrue (expected.almostEquals (marg)); }
public void testMultiply () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); FactorGraph fg2 = (FactorGraph) fg.multiply (tbl3); assertEquals (2, fg.factors ().size()); assertEquals (3, fg2.factors ().size()); assertTrue (!fg.factors ().contains (tbl3)); assertTrue (fg2.factors ().contains (tbl3)); }
public void testRedundantDomains () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); fg.multiplyBy (ltbl1); assertEquals (3, fg.varSet ().size ()); assertEquals ("Wrong factors in FG, was "+fg.dumpToString (), 3, fg.factors ().size ()); Assignment assn = new Assignment (fg.varSet ().toVariableArray (), new int [3]); assertEquals (0.128, fg.value (assn), 1e-5); }
public void testAsTable () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); AbstractTableFactor actual = fg.asTable (); AbstractTableFactor expected = (AbstractTableFactor) tbl1.multiply (tbl2); assertTrue (expected.almostEquals (actual)); }
public void testMultiply () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); FactorGraph fg2 = (FactorGraph) fg.multiply (tbl3); assertEquals (2, fg.factors ().size()); assertEquals (3, fg2.factors ().size()); assertTrue (!fg.factors ().contains (tbl3)); assertTrue (fg2.factors ().contains (tbl3)); }
public void testSum () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (1.71, fg.sum (), 1e-5); }
public void testMarginalize () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); Factor marg = fg.marginalize (vars[1]); Factor expected = new TableFactor (vars[1], new double[] { 0.81, 0.9 }); assertTrue (expected.almostEquals (marg)); }
public void testRemove () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (2, fg.getDegree (vars[1])); fg.divideBy (tbl1); assertEquals (2, fg.varSet ().size ()); Assignment assn = new Assignment (fg.varSet ().toVariableArray (), new int [2]); assertEquals (0.2, fg.value (assn), 1e-5); int nvs = 0; for (Iterator it = fg.varSetIterator (); it.hasNext(); it.next ()) { nvs++; } assertEquals (1, nvs); assertEquals (1, fg.getDegree (vars[1])); assertTrue (fg.get (0) != fg.get (1)); assertEquals (vars[1], fg.get (0)); assertEquals (vars[2], fg.get (1)); }
public void testEmbeddedFactorGraph () { FactorGraph embeddedFg = new FactorGraph (); embeddedFg.multiplyBy (tbl1); embeddedFg.multiplyBy (tbl2); FactorGraph fg = new FactorGraph (); fg.multiplyBy (embeddedFg); fg.multiplyBy (tbl3); assertEquals (4, fg.varSet ().size ()); assertEquals (2, fg.factors ().size ()); Assignment assn = new Assignment (fg.varSet ().toVariableArray (), new int [4]); assertEquals (0.032, fg.value (assn), 1e-5); AbstractTableFactor tbl = fg.asTable (); assertEquals (4, tbl.varSet ().size ()); assertEquals (0.032, tbl.value (assn), 1e-5); }
public void testAsTable () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); AbstractTableFactor actual = fg.asTable (); AbstractTableFactor expected = (AbstractTableFactor) tbl1.multiply (tbl2); assertTrue (expected.almostEquals (actual)); }
public void testRemove () { FactorGraph fg = new FactorGraph (); fg.multiplyBy (tbl1); fg.multiplyBy (tbl2); assertEquals (2, fg.getDegree (vars[1])); fg.divideBy (tbl1); assertEquals (2, fg.varSet ().size ()); Assignment assn = new Assignment (fg.varSet ().toVariableArray (), new int [2]); assertEquals (0.2, fg.value (assn), 1e-5); int nvs = 0; for (Iterator it = fg.varSetIterator (); it.hasNext(); it.next ()) { nvs++; } assertEquals (1, nvs); assertEquals (1, fg.getDegree (vars[1])); assertTrue (fg.get (0) != fg.get (1)); assertEquals (vars[1], fg.get (0)); assertEquals (vars[2], fg.get (1)); }