Подсчёт количества поглощающих состояний и построение матриц переходов марковской цепи — различия между версиями
Arimon (обсуждение | вклад) м (→Подсчет количества поглощащих состояний: исправлен псевдокод) |
Arimon (обсуждение | вклад) м (→Построение матриц переходов: косметические изменения) |
||
Строка 21: | Строка 21: | ||
*<tex>\mathtt{R}</tex> — матрица из несущественных состояний в поглощающие. | *<tex>\mathtt{R}</tex> — матрица из несущественных состояний в поглощающие. | ||
− | '''procedure''' buildTransitionMatrix(absorbing: boolean[]): | + | '''procedure''' buildTransitionMatrix(absorbing: '''boolean'''[]): |
'''int''' count_q = 0 | '''int''' count_q = 0 | ||
'''int''' count_r = 0 | '''int''' count_r = 0 |
Версия 01:07, 20 июня 2018
Содержание
Подсчет количества поглощащих состояний
Пусть
— массив переходов марковской цепи, где — вероятность перехода из состояния в . Тогда, по определению поглощающего состояния, если — поглощающее состояние, то . По этому признаку можно определить все поглощающие состояния в цепи.Псевдокод
- — массив состояний. Если — посглощающее состояние иначе
- — количество состояний
- — количество переходов
boolean[] findAbsorbings(transition: int[m][2]): boolean absorbing[n] for i = 0 to m - 1 absorbing[transition[i][0]] = transition[i][0] == transition[i][1] and transition[i][2] == 1 return absorbing
Построение матриц переходов
Cоздадим сначала массив
где -ый элемент указывает под каким номером будет находиться -ое состояние среди существенных если оно существенное или несущественных в обратном случае, и заполним эти массивы.Псевдокод
- — массив нумерации состояний относительно существенной/несущественной матрицы.
- — матрица перехода мужду несущественными состояниями.
- — матрица из несущественных состояний в поглощающие.
procedure buildTransitionMatrix(absorbing: boolean[]): int count_q = 0 int count_r = 0 for i = 0 to n - 1 if absorbing[i] position[i] = count_r count_r++ else position[i] = count_q count_q++ for i = 0 to m - 1 if absorbing[transition[i][1]] if !absorbing[transition[i][0]] R[position[transition[i][0]]][position[transition[i][1]]] = transition[i][2] else Q[position[transition[i][0]]][position[transition[i][1]]] = transition[i][2]
См. также
- Марковская цепь
- Расчет вероятности поглощения в состоянии
- Математическое ожидание времени поглощения