Finding the probability of an observation II
In order to avoid this complexity, we can use dynamic programming or memoization techniques.
In particular, we use treillis algorithms.
We make a square array of states versus time and compute the probabilities of being at each state at each time in terms of the probabilities for being in each state at the preceding time.
A treillis can record the probability of all initial subpaths of the HMM that end in a certain state at a certain time. The probability of longer subpaths can then be worked out in terms of the shorter subpaths.