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