I am trying to create a Markov chain using the initial state of a probabilistic cellular automaton, that is a list of length 8, as the first argument of the function DiscreteMarkovProcess, and with a second argument of the transition matrix as the cellular automaton moves from state to state, also of length 8.

However, after reading the documentation for DiscreteMarkovProcess, I am realizing that this won't work, because the function normalizes the first argument to sum to 1. This means that the resulting argument is a list of length two: {0,1}, as opposed to something of the form {0,1,1,0,1,0,1,0}. So the function fails to evaluate and something like this is returned:

DiscreteMarkovProcess[{0,1,1,0,1,0,1,0}, {{1,.9,0,.3,.5,0,1,.2}}] (*DiscreteMarkovProcess[{0,1}, {{1,.9,0,.3,.5,0,1,.2}}]*)

Is there a better function to use that will allow me to easily generate a Markov chain representation of a probabilistic cellular automaton?

  • $\begingroup$ DiscreteMarkovProcess uses first argument as a list of states, and needs a square transition matrix that specifies the probabilities for each combination of states. So you probably need to construct a list of transition matrices for each element in your original list where your probabilities will be off-diagonal elements and then make a list of DiscreteMarkovProcess for each element using those matrices. $\endgroup$
    – Stitch
    Nov 19 '16 at 0:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.