public Factor duplicate () { return new PottsTableFactor (xs, alpha); }
public Factor duplicate () { return new PottsTableFactor (xs, alpha); }
public Factor duplicate () { return new PottsTableFactor (xs, alpha); }
static FactorGraph createBoltzmannChain (int len) { Randoms r = new Randoms (3241321); List<Variable> vars = new ArrayList<Variable> (); for (int i = 0; i < len; i++) { Variable x_i = new Variable (2); x_i.setLabel ("X_"+i); vars.add (x_i); } List<Factor> factors = new ArrayList<Factor> (vars.size ()); // node factors for (int i = 0; i < len; i++) { double u = r.nextUniform (-4.0, 4.0); factors.add (new BoltzmannUnaryFactor (vars.get (i), u)); } // edge factors for (int i = 0; i < len-1; i++) { Variable alpha = new Variable (Variable.CONTINUOUS); alpha.setLabel ("ALPHA_"+i); factors.add (new UniformFactor (alpha, -4.0, 4.0)); factors.add (new PottsTableFactor (vars.get (i), vars.get(i+1), alpha)); } return new FactorGraph (factors); }
static FactorGraph createBoltzmannChain (int len) { Randoms r = new Randoms (3241321); List<Variable> vars = new ArrayList<Variable> (); for (int i = 0; i < len; i++) { Variable x_i = new Variable (2); x_i.setLabel ("X_"+i); vars.add (x_i); } List<Factor> factors = new ArrayList<Factor> (vars.size ()); // node factors for (int i = 0; i < len; i++) { double u = r.nextUniform (-4.0, 4.0); factors.add (new BoltzmannUnaryFactor (vars.get (i), u)); } // edge factors for (int i = 0; i < len-1; i++) { Variable alpha = new Variable (Variable.CONTINUOUS); alpha.setLabel ("ALPHA_"+i); factors.add (new UniformFactor (alpha, -4.0, 4.0)); factors.add (new PottsTableFactor (vars.get (i), vars.get(i+1), alpha)); } return new FactorGraph (factors); }
protected void setUp () throws Exception { alpha = new Variable (Variable.CONTINUOUS); Variable v1 = new Variable (2); Variable v2 = new Variable (2); vars = new HashVarSet (new Variable[] { v1,v2 }); factor = new PottsTableFactor (vars, alpha); }
protected void setUp () throws Exception { alpha = new Variable (Variable.CONTINUOUS); Variable v1 = new Variable (2); Variable v2 = new Variable (2); vars = new HashVarSet (new Variable[] { v1,v2 }); factor = new PottsTableFactor (vars, alpha); }
public void testSparseMatrixN () { Variable x1 = new Variable (2); Variable x2 = new Variable (2); Variable alpha = new Variable (Variable.CONTINUOUS); Factor potts = new PottsTableFactor (x1, x2, alpha); Assignment alphAssn = new Assignment (alpha, 1.0); Factor tbl = potts.slice (alphAssn); System.out.println (tbl.dumpToString ()); int j = 0; double[] vals = new double[] { 0, -1, -1, 0 }; for (AssignmentIterator it = tbl.assignmentIterator (); it.hasNext ();) { assertEquals (vals[j++], tbl.logValue (it), 1e-5); it.advance (); } }
public void testSparseMatrixN () { Variable x1 = new Variable (2); Variable x2 = new Variable (2); Variable alpha = new Variable (Variable.CONTINUOUS); Factor potts = new PottsTableFactor (x1, x2, alpha); Assignment alphAssn = new Assignment (alpha, 1.0); Factor tbl = potts.slice (alphAssn); System.out.println (tbl.dumpToString ()); int j = 0; double[] vals = new double[] { 0, -1, -1, 0 }; for (AssignmentIterator it = tbl.assignmentIterator (); it.hasNext ();) { assertEquals (vals[j++], tbl.logValue (it), 1e-5); it.advance (); } }