CS382:Fire

From Earlham CS Department
Revision as of 10:21, 25 March 2009 by Fitz (talk | contribs) (Lab)
Jump to navigation Jump to search

Fire

Overview

This short unit about the spreading of forest fires is intended to teach some of the basics of using a simple pre-made model/simulation. While there are many benefits to using this model, the ability to physically verify the results proves to be difficult. It turns out that the rudimentary simulation of a wild fire spreading through a forest of varying densities can be implemented in a wide range of tools including NetLogo, AgentSheets, Vensim, Excel, and possibly others. Thus, this single model can teach the basics of simulation techniques like agent modeling, cellular automata, and systems dynamics without requiring students to relearn or rediscover what results to expect and allows them to focus on the methods and the techniques.

Background Reading

For Teachers/TAs

WildFire Modeling (wikipedia)

  • Geared a little bit towards the teachers and upper end students. Meant largerly as an intro into what we're looking at.

Agent-based modeling and simulation of wildland fire suppression

  • Much more so geared towards the teachers than students. This is a fairly technical article and is meant to give an overview of an Agent-Based version of wildfires.

For Students

Cellular Automata (wikipedia)

  • Parts of this article are fairly technical and mathematical, however I think there's a lot of good information here. Perhaps we could write up a summary.

History of Cellular Automata

  • Some of the language might be tough for intro-students, however there's some fascinating information here on why cellular automata are important.

Reference Material

Lecture Notes

  • Might want to start with a here's where we're going with this before starting about specifics of the wildfire model, esp. since this is their first unit out of foundations and they don't have a basis for the structure of a unit.

Lecture 1

  • Brief cover of wildfires, to understand the basics of what we're going to try to model
    • Fires can start any number of ways (lightning, careless smokers, etc.)
    • Fires can spread in many ways (more lightning, wind, dense undergrowth, etc.)
  • Start covering basic dynamic modeling methods (brief overview, we'll cover Cellular Automata later)
    • Cellular Automata
      • Cells of a grid can be in some state
        • Think of a sheet of graph paper and you can either shade in a square or not
      • One cell's state may or may not affect its neighbors
      • Changes based on a set of rules
    • Agent Modeling - Like we talked about in class, this may be too heavy for them before they actually see these, but if you show the models and then only give a few sentences about it, and ask the differences they saw rather than telling them about each type of modeling, it may go over better.
      • Independent agents whose behavior is governed by sets of rules
    • Systems Dynamics
      • Sets of math equations govern the output of a set of graphs
      • Output of equations is governed by rates

Lecture 2

  • More in-depth coverage of cellular automata
  • Game Of Life - canonical example [GoL on Wikipedia]
    • Grid where each cell can either be alive or dead
      • Cells can either be alive or dead based on the number of living/dead cells around them
    • This rule controls the entire simulation and can produce some seemingly complex results
  • The wildfire model we'll use is a special-case of the Game of Life
    • Trees can either be alive, burning, or smoldering
      • Alive trees can be caught on fire by neighboring burning trees and become burning
      • Burning trees can catch neighboring alive trees on fire and can become smoldering after a certain time
      • Smoldering trees can do nothing
    • In the basic model, the average distance between trees (i.e. the forest's density) can be controlled
    • Certain aspects can be seen by varying this control
      • Lightning: where new fires can be started at a random location
      • Wind: where fire has a tendency to spread in certain directions
      • Wetness: where certain trees may have a decreased chance to catch on fire
      • Duration of Burning: where burning trees may stay burning longer
    • As with density, tuning these "knobs" can produce different behaviors

Some "why we care" to tie it back together at the end, like how we can use it for estimating and planning, would be nice.

Lab

This lab will consist of learning how to use NetLogo's wildfire model to see how minor changes in parameters can, under certain circumstances, producing wildly different results.

The student should first see the tediousness of the process of:

  1. Set the desired parameter to some value
  2. Run the model
  3. Record the proper results into a spreadsheet
  4. Increment the parameter and repeat steps (2-4)

The next step is to learn how to use NetLogo's parameter sweep ("Behavior Space") functionality to automate this process.

Ideally, when they run the manual parameter sweep they'll get results that tell them very little about how the density of the affects how much of it gets burnt. This will stress the importance of taking representative data sets to be able to accurately analyze the model.

Use this exercise to illustrate 3 points in a range (looks linear) compared to 8 points (the true sigmoid shape is revealed). Notion of a critical parameter.

A continuation of the lab would be to use one of the extended models (likely written by one of the TAs) and run parameter sweeps to understand how the different features can dramatically change the results.

Software

Bill of Materials

As long as the students don't try to actually burn down a forest to validate these models, there is no cost for this lab.

Evaluation

CRS Questions

  • Which of these is a reasonable method for simulating Wild Fires?
  1. A technique called "systematic dynamical conflagration"
  2. Going out back campus and ....
  3. Coding all the properties of wood into a program
  4. A technique called "cellular automata"

This one might be a bit facetious. :P

  • What is another name for "Cellular Automata"?
  1. Automated Telecomune
  2. Tessellation Automata
  3. Biological Automated Simulation
  4. Systems Dynamics
  • Who is credited for doing some of the first work in Cellular Automata?
  1. Stephen Wolfram
  2. John von Neumann
  3. Alan Turing
  4. Stanislaw Ulam

Quiz Questions

* A question.

Fire Metadata

Scheduling

This should be very early in the semester as it is a fairly simple and short topic. Given its simplicity, it should only be a single week.

Concepts and Techniques

This unit should teach the basics of using someone else's model, as well the importance of conducting multiple runs with different parameters in order to gain an accurate understanding of the effect of the model. Also VVA, if we're talking about how this model isn't a good indicator of real life. And don't forget cellular automata.

General Education Alignment

Analytical Reasoning Requirement

Abstract Reasoning

  • From the [Catalog Description] Courses qualifying for credit in Abstract Reasoning typically share these characteristics:
    • They focus substantially on properties of classes of abstract models and operations that apply to them.
      • This unit deals almost entirely will quantitative reasoning, and would be hard to expand into the abstract world.
    • They provide experience in generalizing from specific instances to appropriate classes of abstract models.
      • Parameter sweeping (one of the primary goals of this unit) can be used in almost every instance of computational simulations. In this sense it can be expanded from this specific model to others, yet it is more of a quantitative method of analysis than it is abstract.
    • They provide experience in solving concrete problems by a process of abstraction and manipulation at the abstract level. Typically this experience is provided by word problems which require students to formalize real-world problems in abstract terms, to solve them with techniques that apply at that abstract level, and to convert the solutions back into concrete results.
*** Analysis of this unit's support or not for this item.
Nice work!

Quantitative Reasoning

  • From the [Catalog Description] General Education courses in Quantitative Reasoning foster students' abilities to generate, interpret and evaluate quantitative information. In particular, Quantitative Reasoning courses help students develop abilities in such areas as:
    • Using and interpreting formulas, graphs and tables.
      • This unit is intended to teach the student how to gather data using a specific tool and analyze that data to come to some conclusion. If we did some graphing with the results, that could strengthen this point. I don't know how much time we would have to teach them and what software though. Maybe bring this up in class or with Charlie.
    • Representing mathematical ideas symbolically, graphically, numerically and verbally.
      • The student will need to create a lab write-up in which they express why they went about collecting the necessary amount of data. They will also need to include examples of said data and an explanation of what conclusion(s) can be drawn from that data.
    • Using mathematical and statistical ideas to solve problems in a variety of contexts.
      • While this unit deals almost entirely with a single tool, the idea of parameter sweeping is necessary in every form of simulation and is thus applicable in a wide range of contexts.
    • Using simple models such as linear dependence, exponential growth or decay, or normal distribution.
      • This wildfire model clearly shows how the number of burned trees is directly dependent on certain features of the forest (density, wetness, etc) and how minor changes in those features can dramatically change the outcome.
    • Understanding basic statistical ideas such as averages, variability and probability.
      • At the end of this unit the student should be able to understand that one cannot make sufficiently accurate conclusions about a model with only a single data set.
    • Making estimates and checking the reasonableness of answers.
      • In the beginning of the lab portion of this unit, the student should take a guess at what the result will be when the density of the forest is varied. After running a number of trials, they should be able to easily assess the accuracy of they're answer as well as the reasonableness of their results from the lab.
    • Recognizing the limitations of mathematical and statistical methods.
      • The student should clearly note that this model of wildfires is far from indicative of how they actually happen. It should be stressed that this model is simply proof of concept for showing the profound effect a single variable can have on the overall results. En serio, it's not indicative at all? As in no VVA?

Scientific Inquiry Requirement

  • From the [Catalog Description] Scientific inquiry:
    • Develops students' understanding of the natural world.
      • After the completion of this unit, the student should understand the world's dependence on a surprisingly small number of variables even though this model is far from accurate.
    • Strengthens students' knowledge of the scientific way of knowing — the use of systematic observation and experimentation to develop theories and test hypotheses.
      • The entirety of this lab is to change a variable, observe the results, and repeat, eventually leading to having enough data to make reasonable theories on the model.
    • Emphasizes and provides first-hand experience with both theoretical analysis and the collection of empirical data.
      • The lab portion of this unit is exactly this: gathering numerical data in order to provide the basis for some sort of conclusion.

Scaffolded Learning

The NetLogo model(s) in question are easy to use and easy to witness the effect of changing parameters to obtain different results. As well there are fairly clear extensions for the student inclined towards taking those steps. It would be nice if we had a set of extension questions for students interested in going further. Possibly trying to get certain situations to occur (a larger percentage of the time) by changing different variables. Or just trying to get certain situations to occur.

Inquiry Based Learning

This unit should be able to pique the curiosity of the student, most likely in the form of the question: "Why is that that a single variable can have such a dramatic effect on the output of a system?" I think there's also a lot to be said that the entire lab is based on tweaking parameters and so seeing what happens with different experiments.

To Do

Comments

  • You have all of the required stuff for background reading but the template has shifted, just make sure you update it.
    • Will redo with the new Lab template
  • Don't forget to mark the correct answers by bolding them.
    • Done.