Изменения

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

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

17 байт добавлено, 07:51, 14 января 2013
м
Псевдокод
/* fwd, bkw {{---}} матрицы размера |S|*T, которым во время работы присваиваются промежуточные результаты alpha и beta */
'''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]
'''return''' fwd[s, t]
'''beta'''(s, t):
'''if''' (s, t) '''in''' bkw
'''return''' bkw[s, t]
b = 0
'''for''' j '''in''' S:
b += beta(j, t + 1) * transition_probability[s][j] * emit_probability[j][O[t + 1]]
'''return''' bkw[s, t]
'''forward_backward'''():
probabilities = {}
'''for''' s '''in''' S
chain_probability = 0
'''for''' j '''in''' S:
chain_probability += alpha(j, t)*beta(j, t)
119
правок

Навигация