public void ForwardScalingTest2()
{
HiddenMarkovModel hmm = Accord.Tests.Statistics.Models.Markov.
ForwardBackwardAlgorithmTest.CreateModel2();
MarkovDiscreteFunction function = new MarkovDiscreteFunction(hmm);
// A B B A
int[] observations = { 0, 1, 1, 0 };
double[] scaling;
double logLikelihood;
double[,] actual = Accord.Statistics.Models.Fields.
ForwardBackwardAlgorithm.Forward(function.Factors[0], observations, 0, out scaling, out logLikelihood);
double p = System.Math.Exp(logLikelihood);
Assert.AreEqual(0.054814695, p, 1e-7);
Assert.IsFalse(double.IsNaN(p));
}