Расчёт вероятности поглощения в состоянии — различия между версиями
Arimon (обсуждение | вклад) м (→См. также) |
Arimon (обсуждение | вклад) м (Косметические изменения) |
||
Строка 13: | Строка 13: | ||
*<tex>\mathtt{absorbing[i]}</tex> — является ли i-е состояние поглощающим | *<tex>\mathtt{absorbing[i]}</tex> — является ли i-е состояние поглощающим | ||
− | ''' | + | '''float[]''' getAbsorbingProbability(absorbing: boolean[n], G: float[n][n]): |
− | float probability[n] | + | '''float''' probability[n] |
'''for''' i = 0 '''to''' n - 1 | '''for''' i = 0 '''to''' n - 1 | ||
− | prob = 0 | + | '''int''' prob = 0 |
'''if''' absorbing[i] | '''if''' absorbing[i] | ||
'''for''' j = 0 '''to''' nonabs - 1 | '''for''' j = 0 '''to''' nonabs - 1 | ||
Строка 23: | Строка 23: | ||
prob /= n | prob /= n | ||
probability[i] = prob | probability[i] = prob | ||
− | return probability | + | '''return''' probability |
==См. также== | ==См. также== |
Версия 23:43, 19 июня 2018
Поглощающее(существенное) состояние цепи Маркова — состояние с вероятностью перехода в самого себя
. Составим матрицу , элементы которой равны вероятности того, что, выйдя из , попадём в поглощающее состояние .Теорема: |
, где — фундаментальная матрица, и — матрица перехода из несущественных состояний в существенные. |
Доказательство: |
Пусть этот переход будет осуществлён за Матрица шагов: → → → → → j, где все являются несущественными. Тогда рассмотрим сумму , где — матрица переходов между несущественными состояниями, — из несущественного в существенное. определяется их суммированием по всем длинам пути из i в j: , т.к. , а фундаментальная матрица марковской цепи |
Псевдокод
Выведем ответ: в
-ой строке вероятность поглощения в -ом состоянии. Естественно, для несущественного состояния это , в ином случае где — номер соответствующий -ому состоянию в матрице (т.е. под которым оно располагалось в матрице т.е. значение ). Прибавлять нужно т.к. вероятность поглотиться в -ом поглощающем состоянии, оказавшись изначально в нем же равна .- — вероятность поглощения в -ом состоянии
- — является ли i-е состояние поглощающим
float[] getAbsorbingProbability(absorbing: boolean[n], G: float[n][n]): float probability[n] for i = 0 to n - 1 int prob = 0 if absorbing[i] for j = 0 to nonabs - 1 prob += G[j][position[i]] prob++ prob /= n probability[i] = prob return probability
См. также
- Марковская цепь
- Подсчет количества поглощающих состояний и построение матриц переходов марковской цепи
- Фундаментальная матрица
- Теорема о поглощении
- Математическое ожидание времени поглощения