private Assignment sampleContinuousVars (Variable[] contVars, Randoms r) { Collection contFactors = allFactorsContaining (Arrays.asList (contVars)); FactorGraph contFg = new FactorGraph (contVars); for (Iterator it = contFactors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); contFg.multiplyBy (factor); } return contFg.sampleInternal (r); }
private Assignment sampleContinuousVars (Variable[] contVars, Randoms r) { Collection contFactors = allFactorsContaining (Arrays.asList (contVars)); FactorGraph contFg = new FactorGraph (contVars); for (Iterator it = contFactors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); contFg.multiplyBy (factor); } return contFg.sampleInternal (r); }
private Assignment sampleContinuousVars (Variable[] contVars, Randoms r) { Collection contFactors = allFactorsContaining (Arrays.asList (contVars)); FactorGraph contFg = new FactorGraph (contVars); for (Iterator it = contFactors.iterator (); it.hasNext ();) { Factor factor = (Factor) it.next (); contFg.multiplyBy (factor); } return contFg.sampleInternal (r); }
public Assignment sample (Randoms r) { Variable[] contVars = Factors.continuousVarsOf (this); if ((contVars.length == 0) || (contVars.length == numVariables ())) { return sampleInternal (r); } else { Assignment paramAssn = sampleContinuousVars (contVars, r); FactorGraph discreteSliceFg = (FactorGraph) this.slice (paramAssn); Assignment discreteAssn = discreteSliceFg.sampleInternal (r); return Assignment.union (paramAssn, discreteAssn); } }
public Assignment sample (Randoms r) { Variable[] contVars = Factors.continuousVarsOf (this); if ((contVars.length == 0) || (contVars.length == numVariables ())) { return sampleInternal (r); } else { Assignment paramAssn = sampleContinuousVars (contVars, r); FactorGraph discreteSliceFg = (FactorGraph) this.slice (paramAssn); Assignment discreteAssn = discreteSliceFg.sampleInternal (r); return Assignment.union (paramAssn, discreteAssn); } }
public Assignment sample (Randoms r) { Variable[] contVars = Factors.continuousVarsOf (this); if ((contVars.length == 0) || (contVars.length == numVariables ())) { return sampleInternal (r); } else { Assignment paramAssn = sampleContinuousVars (contVars, r); FactorGraph discreteSliceFg = (FactorGraph) this.slice (paramAssn); Assignment discreteAssn = discreteSliceFg.sampleInternal (r); return Assignment.union (paramAssn, discreteAssn); } }