public Factor duplicate () { return new UniformFactor (var, min, max); }
public Factor duplicate () { return new UniformFactor (var, min, max); }
public Factor duplicate () { return new UniformFactor (var, min, max); }
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); }
public void testVarSet () { Variable var = new Variable (Variable.CONTINUOUS); Factor f = new UniformFactor (var, -1.0, 1.5); assertEquals (1, f.varSet ().size ()); assertTrue (f.varSet().contains (var)); }
public void testVarSet () { Variable var = new Variable (Variable.CONTINUOUS); Factor f = new UniformFactor (var, -1.0, 1.5); assertEquals (1, f.varSet ().size ()); assertTrue (f.varSet().contains (var)); }
public void testSample () { Variable var = new Variable (Variable.CONTINUOUS); Randoms r = new Randoms (2343); Factor f = new UniformFactor (var, -1.0, 1.5); TDoubleArrayList lst = new TDoubleArrayList (); for (int i = 0; i < 10000; i++) { Assignment assn = f.sample (r); lst.add (assn.getDouble (var)); } double[] vals = lst.toNativeArray (); double mean = MatrixOps.mean (vals); assertEquals (0.25, mean, 0.01); }
public void testSample () { Variable var = new Variable (Variable.CONTINUOUS); Randoms r = new Randoms (2343); Factor f = new UniformFactor (var, -1.0, 1.5); TDoubleArrayList lst = new TDoubleArrayList (); for (int i = 0; i < 10000; i++) { Assignment assn = f.sample (r); lst.add (assn.getDouble (var)); } double[] vals = lst.toNativeArray (); double mean = MatrixOps.mean (vals); assertEquals (0.25, mean, 0.01); }