Package aima.test.core.unit.probability.bayes.approx

Source Code of aima.test.core.unit.probability.bayes.approx.GibbsAskTest

package aima.test.core.unit.probability.bayes.approx;

import org.junit.Assert;
import org.junit.Test;

import aima.core.probability.ProbabilityModel;
import aima.core.probability.RandomVariable;
import aima.core.probability.bayes.BayesianNetwork;
import aima.core.probability.bayes.approx.GibbsAsk;
import aima.core.probability.example.BayesNetExampleFactory;
import aima.core.probability.example.ExampleRV;
import aima.core.probability.proposition.AssignmentProposition;
import aima.core.util.MockRandomizer;

/**
*
* @author Ciaran O'Reilly
* @author Ravi Mohan
*/
public class GibbsAskTest {
  public static final double DELTA_THRESHOLD = ProbabilityModel.DEFAULT_ROUNDING_THRESHOLD;

  @Test
  public void testGibbsAsk_basic() {
    BayesianNetwork bn = BayesNetExampleFactory
        .constructCloudySprinklerRainWetGrassNetwork();
    AssignmentProposition[] e = new AssignmentProposition[] { new AssignmentProposition(
        ExampleRV.SPRINKLER_RV, Boolean.TRUE) };
    MockRandomizer r = new MockRandomizer(new double[] { 0.5, 0.5, 0.5,
        0.5, 0.5, 0.5, 0.6, 0.5, 0.5, 0.6, 0.5, 0.5 });

    GibbsAsk ga = new GibbsAsk(r);

    double[] estimate = ga.gibbsAsk(
        new RandomVariable[] { ExampleRV.RAIN_RV }, e, bn, 3)
        .getValues();

    Assert.assertArrayEquals(new double[] { 0.3333333333333333,
        0.6666666666666666 }, estimate, DELTA_THRESHOLD);
  }
}
TOP

Related Classes of aima.test.core.unit.probability.bayes.approx.GibbsAskTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.