Изменения

Перейти к: навигация, поиск

Алгоритм Витерби

54 байта добавлено, 00:22, 1 апреля 2018
Псевдокод
'''for''' <tex>\mathtt{i} = 2</tex> '''to''' <tex>\mathtt T</tex>
'''for''' <tex>\mathtt{j} = 1</tex> '''to''' <tex>\mathtt K</tex>
<tex>\mathtt{TState[j, i]} = \max_{1 \leqslant \mathtt{k}\leqslant \mathtt{K}} \limits (\mathtt{TState[k, i - 1] * A[k, j] * B[j, Y[i]]})</tex> <tex>\mathtt{TIndex[j, i]} = \arg\max_{1 \leqslant \mathtt{k}\leqslant \mathtt{K}} \limits (\mathtt{TState[k, i - 1] * A[k, j] * B[j, Y[i]]})</tex>
''<font color=green>// функция arg max() ищет максимум выражения в скобках и возвращает аргумент
// (в нашем случае <tex>\mathtt{k}</tex>), при котором достигается этот максимум</font>''
<tex>\mathtt{X[T]} = \arg\max_{1 \leqslant \mathtt{k}\leqslant \mathtt{K}} \limits (\mathtt{TState[k, T]})</tex>
'''for''' <tex>\mathtt{i} = \mathtt{T}</tex> '''downto''' <tex>2</tex>
<tex>\mathtt{X[i - 1]} = \mathtt{TIndex[X[i], i]}</tex>
62
правки

Навигация