Задача 07L. hmm_forward_backward

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб
Максимальный балл:1  

Условие

Пусть задана скрытая марковская модель с множеством значений скрытой переменной X = 0,n − 1, множеством значений наблюдаемой переменной Y = 0,m − 1, матрицей вероятностей перехода p(xt = i|xt − 1 = j) = Sj,i и матрицей вероятности наблюдений p(ot = i|xt = j) = Oj,i. Для заданной последовательности y = (y1,…,yT) и начальными вероятностями p(x0 = i) = qi вычислить вероятности p(xt = i|y) = Pt,i с использованием Forward-backward algorithm.

При решении задачи необходимо использовать библиотеку numpy.

Формат входных данных

Первая строка входного файла содержит 3 натуральных числа n, m, T. Следующие n строк содержат по n вещественных чисел — матрица S, далее n строк по m вещественных чисел — матрица O. Последние две строки содержат по n и t вещественных чисел соответственно — векторы y и q.

Формат выходных данных

Выходной файл должен содержать t + 1 строку по n вещественных чисел с точностью не менее 3-х знаков после запятой — матрицу Pt,i.

Примеры тестов

Стандартный вход Стандартный выход
1
2 2 5
0.7 0.3
0.3 0.7
0.9 0.1
0.2 0.8
0.7 0.3
0 0 1 0 0
0.81  0.19
0.9   0.1
0.831 0.169
0.31  0.69
0.821 0.179
0.867 0.133
        

0.361s 0.021s 13