
Summary Within computational science a Monte Carlo simulation is often used to create a statistical analysis of expected outcomes. As with many Monte
Carlo simulations that calculate the estimated probability of a scenario’s occurrence, the more simulations that are completed the closer the approximation
will become to the theoretical probability. In many cases a single simulation corresponds to a single iteration of the simulation loop.
Estimated probability is the calculated estimate of the theoretical probability of a scenario. To calculate an estimated probability we take the number of
occurrences for an observed scenario and divide by the number of possible occurrences (the number of simulations).
Monopoly is a board game created by Parker Bros. in which players roll two dice to move their pieces around a 40-spot game board. When landing on a spot
a player has to take various actions based on the the spot or whether the spot is owned by another player. One tactic of the game is to own several of the
spaces on the board where others have a high probability of landing. As such, we will use a Monte Carlo simulation to record how many times our piece
lands on a spot as it circumnavigates the game board multiple times across all of our simulations. After all of our simulations are complete we will report
several statistics.
Simplified Rules For our simulations we will not worry about most of the rules of Monopoly as we do not wish to implement the entire game. This means we
will only act on a few special cases: 1) The spot that says go to jail (space 31) will be counted as landed on, but then the piece will move to jail (space 11).
However, we do not double count, only space 31 will get an increment not space 11. 2) When the user rolls three sets of doubles in a row, the piece
automatically goes to jail. As in the spot that is counted as landed on is jail (space 11) not whatever the roll would have landed the piece on.
We will assume that the piece always pays to get out of jail so the next roll of the dice will move the piece.
3) When the space passes the end of the board (space 40), we should update the location with mathematics (shifting the location by 40 spots) so that the
location is now properly within the range of either the first side or second side of the board depending on the roll and the starting location within the final side
of the board. For example if we were on the second to last spot of the board, space 39 and rolled a 3 (2+1), the our location would become space 2 (42-40)
instead of space 42.
Program Output Once our program executes the expected number of simulations several items will be output that relate to our observations and statistics
based on those observations.
1. The number of times sent to jail and the estimated probability of being sent to jail.
2. Across the entire game board, the least likely space to land on and the percent associated with that observation.
3. Across the entire game board, the most likely to land on space and the percent associated with that observation.
Recall that we completed a basic version of a Monte Carlo simulation by hand on paper on Wednesday during discussion, when thinking about simulating a
known process it can often help to breakdown that process by completing the actions yourself. If you get stuck implementing pieces of this Monte Carlo
simulation for Monopoly, I would suggest performing the task similar to what we did in discussion Wednesday and complete some simulations on paper.
Program Overview We will break down this program into four steps, but you may wish to further breakdown the program into sub steps as you implement
your solution.
1) Basic input and output,
2) one roll,
3) multiple rolls, and
4) special cases.