Finding the Best State Sequence II: The Viterbi Algorithm
The Viterbi Algorithm works as follows:
Initialization: ?j(1) = ?j, 1? j? N
Induction: ?j(t+1) = max1? i?N ?i(t)aijbijot, 1? j? N
?j(t+1) = argmax1? i?N ?j(t)aij bijot, 1? j? N
Termination and path readout: XT+1 = argmax1? i?N ?j(T+1) Xt = ?Xt+1(t+1) P(X) = max1? i?N ?j(T+1)