Algorytm w przód Algorytm w przód służy do obliczania prawdopodobieństwa obserwowanej sekwencji Definiuje się zmienne
czyli prawdopodobieństwo wygenerowania prefiksu obserwacji i zakończenia w stanie w chwili
Inicjalizacja ma postać
Rekurencja:
Na końcu
Algorytm działa w czasie gdzie jest długością sekwencji, a liczbą stanów.
Algorytm wstecz Algorytm wstecz jest komplementarny do algorytmu w przód. Definiuje się zmienne
czyli prawdopodobieństwo wygenerowania sufiksu obserwacji przy założeniu, że w chwili model znajduje się w stanie
Inicjalizacja:
Rekurencja:
Algorytmy w przód i wstecz są używane wspólnie w procedurze Bauma-Welcha oraz do obliczania prawdopodobieństw posteriori stanów ukrytych.
Algorytm Viterbiego Algorytm Viterbiego służy do znalezienia najbardziej prawdopodobnej ścieżki stanów ukrytych dla danej sekwencji obserwacji. Szuka się więc
Definiuje się
Rekurencja ma postać
Aby odtworzyć całą ścieżkę, przechowuje się także wskaźniki stanów, dla których maksimum zostało osiągnięte.
Algorytm Viterbiego został wprowadzony przez Andrew Viterbiego w kontekście dekodowania kodów splotowych, a następnie stał się podstawowym narzędziem dekodowania w ukrytych modelach Markowa.