Изменения

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

Алгоритм "Вперед-Назад"

13 байт убрано, 13:06, 8 марта 2018
Псевдокод
== Псевдокод ==
<font color="Green"> //* fwd, bkw {{---}} матрицы размера |S|*T, которым во время работы присваиваются промежуточные результаты alpha и beta * / /* probabilities {{---}} матрица размера |S|*T, в которую заносится ответ. *</font>
'''alpha'''(s, t):
'''if''' (s, t) '''in''' fwd
'''return''' fwd[s, t]
f = 0
'''for''' j '''in''' S
f += alpha(j, t - 1) * transition_probability[j][s]
f *= emit_probability[s][observations[t]]
fwd[s, t] = f
'''for''' j '''in''' S
b += beta(j, t + 1) * transition_probability[s][j] * emit_probability[j][O[t + 1]]
bkw[s, t] = b
'''return''' bkw[s, t]
fwd[s, 1] = emit_probability[s][observations[1]] * П[s]
bkw[s, len(observations) - 1] = 1
chain_probability = 0
'''for''' j '''in''' S
chain_probability += alpha(j, 1) * beta(j, 1)
'''for''' s '''in''' S
'''for''' t '''in''' [1, T]
442
правки

Навигация