Изменения

Перейти к: навигация, поиск
м
Для хранения переходов марковской цепи создадим структуру <tex> \mathtt{jump}</tex>.
Введем <tex>\mathtt{transition}:</tex>: <tex> \mathtt{jump}[\mathtt{m}] </tex>, где <tex>\mathtt{transition}[\mathtt{i}]\mathtt{.prob}</tex> — вероятность перехода из состояния <tex>\mathtt{transition}[\mathtt{i}]\mathtt{.from}</tex> в <tex>\mathtt{transition}[\mathtt{i}]\mathtt{.to}</tex>.
Тогда, по определению поглощающего состояния, если <tex>\mathtt{j}</tex> — поглощающее состояние, то <tex>\mathtt{transition}[\mathtt{j}]\mathtt{.prob} = 1</tex>. По этому признаку можно определить все поглощающие состояния в цепи.
'''boolean''' absorbing[n]
'''for''' ''' jump ''' i: '''in''' transition
absorbing[i.from] = i.from == i.to '''and''' i.prob == 1
'''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
count_q++
'''for''' '''jump''' i = 0 '''toin''' m - 1transition '''if''' absorbing[transition[i].to] '''if''' !absorbing[transition[i].from] R[position[transition[i].from]][position[transition[i].to]] = transition[i].prob
'''else'''
Q[position[transition[i].from]][position[transition[i].to]] = transition[i].prob
'''return Q'''Q
== См. также ==

Навигация