Viterbi
The Viterbi algorithm is a dynamic programming method used to decode the most likely sequence of hidden states in a hidden Markov model, given a sequence of observed events. It is widely used to decode convolutional codes in digital communications and is foundational in many pattern recognition tasks, including speech recognition and bioinformatics.
The algorithm operates on a trellis diagram representing possible state transitions. It computes, for each time
Complexity-wise, if the hidden Markov model has N states and T observations, the standard Viterbi pass runs
History and impact: The algorithm was introduced by Andrew J. Viterbi in 1967 in the context of