Monte Carlo Simulation of Chutes and Ladders
Students learn the concept of Monte Carlo simulation to estimate the value of a probability. They gain more programming experience by adapting the simple children's game into a script in MATLAB that simulates one game and then collecting data from playing that game millions of times. They also learn the MATLAB function random integer function randi().
Context for Use
I use this activity in my upper-level undergraduate Numerical Analysis sequence taken mostly by senior math majors in our Applied Mathematics concentration. I average five students in the class, and so I have the whole class work together on the activity. It can be done in 50 minutes. The prerequisites for the course are the calculus sequence, linear algebra, and an introductory computer programming class although the most important skill for this activity is computer programming including for loops and if statements. By the time I get to this activity, the students have been writing scripts in MATLAB with me every day in class for about six months and are very familiar with the programming concepts needed to make a MATLAB script that simulates playing the board game.
Prior to this activity, I have introduced Monte Carlo simulation by estimating pi by selecting random points uniformly distributed in [0,1]x[0,1] and counting the number that are also inside the unit circle and by estimating the area inside a cardioid by sampling random points in polar coordinates from a circle containing the cardioid.
Description and Teaching Materials
Monte Carlo Simulation of Chutes and Ladders Activity (Microsoft Word 2007 (.docx) 574kB Aug15 19) Handout to give to students
MonteCarloChutesAndLadders.m (Matlab File 3kB Aug15 19) Instructor's solution
Teaching Notes and Tips
Some students may not initially believe that there is an advantage in going first. If so, discussion of a simplified model game with no chutes, no ladders, and only six squares long can help them see this.
I do not mention this in the assignment, but a game of Chutes and Ladders is not guaranteed to end. If the students do not appear to realize this while they are writing their simulation of the game, I will bring it up and tell them to include a maximum number of moves. Again, some students may not initially believe this is true.
The activity could easily be adapted to change a few rules such as not requiring landing exactly on square 100 to win, or determining the effect of removing or adding chutes or ladders, or adding a third player to the game.
I have not used a Markov Chain approach for this activity, but this could easily be adapted to an activity using Markov Chains.
As a teaching activity done in class, I do not grade this activity. As I am directly observing the class as they do this activity, I can see when they are stuck or not understanding something critical. The class is small enough that I can ask each student what they understand about the concepts.