viterbi function

Viterbi algorithm