assertArray( new double[]{0.8, 0.2}, scaleDouble( 3, bayesInstance.marginalize("Rain").getDistribution() ) );
assertArray( new double[]{1.0, 0.0}, scaleDouble(3, bayesInstance.marginalize("Sprinkler").getDistribution()) );
assertArray( new double[]{0.82, 0.18}, scaleDouble( 3, bayesInstance.marginalize("WetGrass").getDistribution() ) );
}
public static void marginalize(BayesVariableState varState, CliqueState cliqueState) {
JunctionTreeClique jtNode = cliqueState.getJunctionTreeClique();
new Marginalizer(jtNode.getValues().toArray( new BayesVariable[jtNode.getValues().size()]), cliqueState.getPotentials(), varState.getVariable(), varState.getDistribution() );