package aima.core.probability.example;
import java.util.HashMap;
import java.util.Map;
import aima.core.probability.hmm.HiddenMarkovModel;
import aima.core.probability.hmm.impl.HMM;
import aima.core.util.math.Matrix;
/**
*
* @author Ciaran O'Reilly
* @author Ravi Mohan
*
*/
public class HMMExampleFactory {
public static HiddenMarkovModel getUmbrellaWorldModel() {
Matrix transitionModel = new Matrix(new double[][] { { 0.7, 0.3 },
{ 0.3, 0.7 } });
Map<Object, Matrix> sensorModel = new HashMap<Object, Matrix>();
sensorModel.put(Boolean.TRUE, new Matrix(new double[][] { { 0.9, 0.0 },
{ 0.0, 0.2 } }));
sensorModel.put(Boolean.FALSE, new Matrix(new double[][] {
{ 0.1, 0.0 }, { 0.0, 0.8 } }));
Matrix prior = new Matrix(new double[] { 0.5, 0.5 }, 2);
return new HMM(ExampleRV.RAIN_t_RV, transitionModel, sensorModel, prior);
}
}