static HiddenMarkovModel buildDiscHMM() {
    HiddenMarkovModel hmm = new HiddenMarkovModel(2, 2);

    hmm.setPi(0, 0.95);
    hmm.setPi(1, 0.05);

    hmm.setStateDistribution(0, new DiscreteDistribution(new double[][] {{0.95, 0.05}}));
    hmm.setStateDistribution(1, new DiscreteDistribution(new double[][] {{0.20, 0.80}}));

    hmm.setTransitionProbability(0, 1, 0.05);
    hmm.setTransitionProbability(0, 0, 0.95);
    hmm.setTransitionProbability(1, 0, 0.10);
    hmm.setTransitionProbability(1, 1, 0.90);

    return hmm;
  }