L'algoritmo Forward-Backward combina il passo avanti e il passo indietro per ottenere la probabilità di essere in ogni stato in un momento specifico. Fare questo per tutti i passaggi temporali può quindi darci una sequenza di stati individualmente più probabili in ogni momento (sebbene non sia garantita una sequenza valida, poiché considera lo stato individuale ad ogni passaggio, e può succedere che la probabilità p(q_i -> q_j)=0
nel modello di transizione), in altre parole:
, dove 
D'altra parte, Viterbi algoritmo trova la sequenza di stati probabilmente proposta una sequenza di osservazione, massimizzando un diverso optimality criterio:

suggerisco si fa riferimento a questo documento noto per una spiegazione dettagliata (vedi Problema # 2):
LAWRENCE R. Rabiner, un tutorial su Hidden Markov Models e selezionati Applicazioni in Speech riconoscimento