Algorithm for identifying Markov chain communicating classes

Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
Let $P$ be a transition matrix of a time-homogeneous Markov chain with at least one closed communication class.
Is there an algorithm / optimization problem that outputs the identification of the communication classes?
For example, if $$P=left(beginmatrix 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 \ 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 endmatrixright)$$
Then the output will be $(1,3),(2,4)$.
Thank you.
markov-chains
add a comment |Â
up vote
2
down vote
favorite
Let $P$ be a transition matrix of a time-homogeneous Markov chain with at least one closed communication class.
Is there an algorithm / optimization problem that outputs the identification of the communication classes?
For example, if $$P=left(beginmatrix 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 \ 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 endmatrixright)$$
Then the output will be $(1,3),(2,4)$.
Thank you.
markov-chains
2
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
2
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
2
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39
add a comment |Â
up vote
2
down vote
favorite
up vote
2
down vote
favorite
Let $P$ be a transition matrix of a time-homogeneous Markov chain with at least one closed communication class.
Is there an algorithm / optimization problem that outputs the identification of the communication classes?
For example, if $$P=left(beginmatrix 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 \ 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 endmatrixright)$$
Then the output will be $(1,3),(2,4)$.
Thank you.
markov-chains
Let $P$ be a transition matrix of a time-homogeneous Markov chain with at least one closed communication class.
Is there an algorithm / optimization problem that outputs the identification of the communication classes?
For example, if $$P=left(beginmatrix 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 \ 0.5 &0 &0.5 &0 \ 0 &0.5 &0 &0.5 endmatrixright)$$
Then the output will be $(1,3),(2,4)$.
Thank you.
markov-chains
asked Jul 2 '15 at 8:15
yoki
741516
741516
2
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
2
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
2
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39
add a comment |Â
2
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
2
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
2
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39
2
2
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
2
2
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
2
2
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
0
down vote
Yeah, there is one although the algorithm is really more defined as a graphing problem. That's the case since probability theory really isn't needed to identify communication classes. The only thing you need to know is whether or not jumps between states can occur in both directions.
You could replace the P matrix you gave with a binary matrix, just replace all non-zero entries with 1 and leave all zero entries as zero.
You would then do something like below to add to a communication class after you've established a basic communication class. Each state is in a communication class so you can start from there. You'll end up with redundancies this way but you could then just pick only the unique communication classes for your output.
for all states j in the matrix
for all states i in the communication class
if P(i,j) * P(j,i) > 0 then
add j to the communication class
end if
next i
next j
After you've computed the Markov Chain's communication classes it's then useful to
label each class as either transient or recurrent, if either exists in the Markov Chain, and to then form a block matrix that's useful to compute absorption probabilities and expected number of hitting times for transient states.
The form of the block matrix is ordered so that the recurrent states are placed before the transient states in the rows and columns.
Image of a generic Markov Chain being reconfigured into a useful block matrix. The grey matrix is the original matrix and the colored one is the block matrix
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Yeah, there is one although the algorithm is really more defined as a graphing problem. That's the case since probability theory really isn't needed to identify communication classes. The only thing you need to know is whether or not jumps between states can occur in both directions.
You could replace the P matrix you gave with a binary matrix, just replace all non-zero entries with 1 and leave all zero entries as zero.
You would then do something like below to add to a communication class after you've established a basic communication class. Each state is in a communication class so you can start from there. You'll end up with redundancies this way but you could then just pick only the unique communication classes for your output.
for all states j in the matrix
for all states i in the communication class
if P(i,j) * P(j,i) > 0 then
add j to the communication class
end if
next i
next j
After you've computed the Markov Chain's communication classes it's then useful to
label each class as either transient or recurrent, if either exists in the Markov Chain, and to then form a block matrix that's useful to compute absorption probabilities and expected number of hitting times for transient states.
The form of the block matrix is ordered so that the recurrent states are placed before the transient states in the rows and columns.
Image of a generic Markov Chain being reconfigured into a useful block matrix. The grey matrix is the original matrix and the colored one is the block matrix
add a comment |Â
up vote
0
down vote
Yeah, there is one although the algorithm is really more defined as a graphing problem. That's the case since probability theory really isn't needed to identify communication classes. The only thing you need to know is whether or not jumps between states can occur in both directions.
You could replace the P matrix you gave with a binary matrix, just replace all non-zero entries with 1 and leave all zero entries as zero.
You would then do something like below to add to a communication class after you've established a basic communication class. Each state is in a communication class so you can start from there. You'll end up with redundancies this way but you could then just pick only the unique communication classes for your output.
for all states j in the matrix
for all states i in the communication class
if P(i,j) * P(j,i) > 0 then
add j to the communication class
end if
next i
next j
After you've computed the Markov Chain's communication classes it's then useful to
label each class as either transient or recurrent, if either exists in the Markov Chain, and to then form a block matrix that's useful to compute absorption probabilities and expected number of hitting times for transient states.
The form of the block matrix is ordered so that the recurrent states are placed before the transient states in the rows and columns.
Image of a generic Markov Chain being reconfigured into a useful block matrix. The grey matrix is the original matrix and the colored one is the block matrix
add a comment |Â
up vote
0
down vote
up vote
0
down vote
Yeah, there is one although the algorithm is really more defined as a graphing problem. That's the case since probability theory really isn't needed to identify communication classes. The only thing you need to know is whether or not jumps between states can occur in both directions.
You could replace the P matrix you gave with a binary matrix, just replace all non-zero entries with 1 and leave all zero entries as zero.
You would then do something like below to add to a communication class after you've established a basic communication class. Each state is in a communication class so you can start from there. You'll end up with redundancies this way but you could then just pick only the unique communication classes for your output.
for all states j in the matrix
for all states i in the communication class
if P(i,j) * P(j,i) > 0 then
add j to the communication class
end if
next i
next j
After you've computed the Markov Chain's communication classes it's then useful to
label each class as either transient or recurrent, if either exists in the Markov Chain, and to then form a block matrix that's useful to compute absorption probabilities and expected number of hitting times for transient states.
The form of the block matrix is ordered so that the recurrent states are placed before the transient states in the rows and columns.
Image of a generic Markov Chain being reconfigured into a useful block matrix. The grey matrix is the original matrix and the colored one is the block matrix
Yeah, there is one although the algorithm is really more defined as a graphing problem. That's the case since probability theory really isn't needed to identify communication classes. The only thing you need to know is whether or not jumps between states can occur in both directions.
You could replace the P matrix you gave with a binary matrix, just replace all non-zero entries with 1 and leave all zero entries as zero.
You would then do something like below to add to a communication class after you've established a basic communication class. Each state is in a communication class so you can start from there. You'll end up with redundancies this way but you could then just pick only the unique communication classes for your output.
for all states j in the matrix
for all states i in the communication class
if P(i,j) * P(j,i) > 0 then
add j to the communication class
end if
next i
next j
After you've computed the Markov Chain's communication classes it's then useful to
label each class as either transient or recurrent, if either exists in the Markov Chain, and to then form a block matrix that's useful to compute absorption probabilities and expected number of hitting times for transient states.
The form of the block matrix is ordered so that the recurrent states are placed before the transient states in the rows and columns.
Image of a generic Markov Chain being reconfigured into a useful block matrix. The grey matrix is the original matrix and the colored one is the block matrix
answered Aug 16 at 1:33
gerardo dutan
1
1
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f1346760%2falgorithm-for-identifying-markov-chain-communicating-classes%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
2
math.wustl.edu/~feres/Math450Lect04.pdf
â d.k.o.
Jul 2 '15 at 8:31
2
I think you can take a look here.
â thanasissdr
Jul 2 '15 at 8:32
2
Also, if you use Matlab, you can take a look here, as well.
â thanasissdr
Jul 2 '15 at 8:39