Discrete markov chains