AIMA.Test.Core.Unit.Probability.Reasoning.HMMTest.testForwardBackwardOnRainmanHmm C# (CSharp) Method

testForwardBackwardOnRainmanHmm() private method

private testForwardBackwardOnRainmanHmm ( ) : void
return void
        public void testForwardBackwardOnRainmanHmm()
        {
            List<String> perceptions = new List<String>();
            perceptions.Add(HmmConstants.SEE_UMBRELLA);
            perceptions.Add(HmmConstants.SEE_UMBRELLA);

            List<RandomVariable> results = rainmanHmm.forward_backward(perceptions);
            Assert.AreEqual(3, results.Count);

            Assert.IsNull(results[0]);
            RandomVariable smoothedDayOne = results[1];
            Assert.AreEqual(0.982, smoothedDayOne
                    .getProbabilityOf(HmmConstants.RAINING), TOLERANCE);
            Assert.AreEqual(0.018, smoothedDayOne
                    .getProbabilityOf(HmmConstants.NOT_RAINING), TOLERANCE);

            RandomVariable smoothedDayTwo = results[2];
            Assert.AreEqual(0.883, smoothedDayTwo
                    .getProbabilityOf(HmmConstants.RAINING), TOLERANCE);
            Assert.AreEqual(0.117, smoothedDayTwo
                    .getProbabilityOf(HmmConstants.NOT_RAINING), TOLERANCE);
        }