http://en.wikipedia.org/wiki/Markov_chain#Introduction

contains nice and clear explanation of the idea of Markov chains. Based on the paragraph about eating habits, we can form an interesting coding exercise:

- A person eats lunch every day
- We form a set of rules similar to the one presented in Wikipedia - one part of the exercise is how to represent these rules in a program. What would be the convenient way to represent this internally and how would you translate a possible textual representation (such as one entered from standard input) into the internal format? Would the two format be quite similar or quite different from each other?
- We run a simulation for a number of days - say, 365 days - and we get statistical distribution of the number of each type of meals that would be eaten