All models are wrong, but some are useful. -George Box
Computational modeling is useful in situations where experimenting with a real-world physical process is impractical, costly, or dangerous. A computer model of the physical phenomenon lets us experiment with the phenomenon, and perhaps come to understand how the process works, without the limitations, cost, or danger found in the real world.
The phenomenon we'll be modeling is a forest fire. The model we'll use is simplified so that we can understand it easily, which reduces its representational accuracy. This simplicity-vs-accuracy tradeoff is common in modeling: models are (by definition) imperfect representations of the phenomena they represent, and the more simplified the model, the less accurately it represents the complexities of the real world.
Despite being imperfect, such models can be useful. For example, the model we will be examining might be used by park rangers to determine when it is safe (or unsafe) for campers to have campfires.
Begin by experimenting with this fire applet from the Shodor Foundation's Interactivate Project.
This model lets you start a forest fire by clicking on a tree, which lights it on fire. The fire then spreads probabilistically to neighboring trees, based upon the burn-probability, which models the likelihood of a fire spreading from a tree to its neighbors. The drier a forest is, the more likely fire is to spread between trees, so the burn-probability represents how dry a forest is.
When the fire burns out, the model displays the percentage of the forest that burned, and how long (number of iterations) the fire burned. Once your forest fire has burned itself out, you can "regrow" the forest by clicking the Regrow Forest button. Take a few minutes to experiment with the model, to get a sense of how it works.
We want to use this model to explore these questions:
Compare your charts to those of two of your classmates. How do they compare?
This model is an example of a class of computations called Monte Carlo simulations invented by John Von Neumann. Monte Carlo simulations use statistical probabilities and pseudo-random numbers to model physical phenomena. Because it uses probabilities and randomness, the model is non-deterministic: if you rerun the model several times, you are almost certain to get different outputs (percentage-burned, time) for the exact same inputs (burn-probability, center tree), A Monte Carlo simulation compensates for this randomness by running many trials or repetitions of the model and then averaging the results, to determine the average or typical behavior of the phenomenon being modeled.
Start a forest fire the same way two more times for each burn probability, and add those percent-burned and time results to your spreadsheet so that you have six measurements (three percent-burned and three time) for each of the nine burn-probabilities. We now have the results of three trials of the simulation.
For each of the nine burn-probabilities in your spreadsheet, use spreadsheet functions to calculate the averages of the three percent-burned and time trials. Then create two new quick charts that plot these averages (Y-axis) against the nine burn-probabilities (X-axis). As before, do not bother to beautify these charts with titles, labels, etc.
1. How do your new charts compare to your first ones? Are they similar or markedly different?
2. How do your new charts compare to your classmates' new charts? Are they similar or markedly different?
The Monte Carlo approach is a higher-level computational pattern that you will be using in this week's homework project. Continue to experiment with the forest fire applet using different burn-probabilities. When you feel you you have an intuitive understanding of how this model is working, proceed to this week's project.
CS > 374 > Exercise > 03 > Hands-On Lab