Изменения

Перейти к: навигация, поиск
м
rollbackEdits.php mass rollback
==Подсчет количества поглощащих состояний==
Пусть Для хранения переходов марковской цепи создадим структуру <tex> \mathtt{jump}</tex>.  Введем <tex>\mathtt{transition}:</tex> <tex> \mathtt{jump}[\mathtt{m}] </tex> — массив переходов марковской цепи, где <tex>\mathtt{transition}[\mathtt{i}][2]\mathtt{.prob}</tex> — вероятность перехода из состояния <tex>\mathtt{transition}[\mathtt{i}][0]\mathtt{.from}</tex> в <tex>\mathtt{transition}[\mathtt{i}][1]\mathtt{.to}</tex>. Тогда, по определению поглощающего состояния, если <tex>\mathtt{j}</tex> — поглощающее состояние, то <tex>\mathtt{transition}[\mathtt{j}][2] \mathtt{.prob} = 1</tex>. По этому признаку можно определить все поглощающие состояния в цепи.
===Псевдокод===
*<tex>\mathtt{absorbing}: boolean[\mathtt{n}]</tex> — массив состояний. Если <tex>\mathtt{i}</tex> — посглощающее состояние <tex>\mathtt{absorbing}[\mathtt{i}] = true</tex> иначе <tex>\mathtt{absorbing}[\mathtt{i}] = false</tex>
*<tex>\mathtt{n}</tex> — количество состояний
*<tex>\mathtt{m}</tex> — количество переходов
'''boolean[]''' findAbsorbings(transition: '''intjump'''[m][2]): '''boolean''' absorbing[mn] '''for''' i = 0 '''tojump''' m - 1 i '''ifin''' transition absorbing[i.from][0] = i.from == transition[i][1] .to '''and''' transition[i][2] .prob == 1 absorbing[transition[i][0]] = ''true''
'''return''' absorbing
*<tex>\mathtt{R}</tex> — матрица из несущественных состояний в поглощающие.
'''procedurefloat[][]''' buildTransitionMatrix(absorbing: '''boolean'''[n], transition: '''jump'''[m]): '''int''' count_q = 0 '''int''' count_r = 0 '''float''' Q[n][n] '''float''' R[n][n] '''int''' position[n]
'''for''' i = 0 '''to''' n - 1
'''if''' absorbing[i]
position[i] = count_q
count_q++
'''for''' '''jump''' i = 0 '''toin''' m - 1transition '''if''' absorbing[transition[i][1].to] '''if''' !absorbing[transition[i][0].from] R[position[transition[i][0].from]][position[transition[i][1].to]] = transition[i][2].prob
'''else'''
Q[position[transition[i][0].from]][position[transition[i][1].to]] = transition[i][2].prob '''return''' Q
== См. также ==
1632
правки

Навигация