Forest Fire

Overview

Model Description

This project models a forest fire. Two versions of the project were created; the first uses AgentCubes, and the second uses JavaScript and the AgentModel.js library.

In a post-apocalyptic world where humans are no longer present, fire rages through the forests of Earth. Healthy trees are at risk of becoming burning trees, and burning trees are at risk of becoming burnt trees. The only hope is the firefighters, who can put out the fires and restore the burning trees to their original health. Unfortunately, if trees have diminished to the point of becoming burnt, there is no chance of saving them. This model simulates a situation in which wind and firefighters are both factors that influence the spreading of fire.

The Story

If a healthy tree (green square) is one of the nearest-neighbors of a burning tree (red square), it will test the wind direction (a simulation property, WIND_DIRECTION -- 0 means north, 1 means south, 2 means east, 3 means west). If the healthy tree is downwind from the burning tree, there is some percent chance (simulation property, HIGH_PCT_CHANCE) that the healthy tree will change to burning. If the healthy tree is NOT down-wind from the burning tree, there is a different percent chance (simulation property, LOW_PCT_CHANCE) that the healthy tree will still change to burning. Also, a burning tree has some percent chance (a simulation property, BURNT_PCT_CHANCE) it will change into a burnt tree (black square). If a burning tree is next to one or more firefighters (yellow square), with some percent chance (a simulation property, SPREAD_PCT_CHANCE), the burning tree will change into a healthy tree. If a firefighter is next to one or more burning trees, at some percent chance (a simulation property, SPREAD_PCT_CHANCE), the firefighter will die, or disappear from the world (blue square). If there are no more burning trees, (using the simulation property to determine this, BURNING) all the firefighters, will leave, or disappear from the world. In the world, firefighters move randomly, by one cell. If the number of burning trees is greater than the considered number of too many burning trees, (using the simulation properties, BURNING, and TOO_MANY_BURNING), there is some percent chance (a simulation property, NEW_FIREMAN_CHANCE), that a new fireman will come out of the fire house (red house square). A counter (brown/bark square) counts the number of each type of tree and firefighter, and graphs the population sizes. A world square (blue) indicates the absence of a tree. To change any of the simulation properties, click the gear button at the top left part of the screen. Then, in the menu that appears, click show simulation properties. In the simulation dialog box, you can change any values and you can see what are the properties, in which affect the model.

Agents and Shapes

Agent Shape Color
Tree Healthy Green
Burning Red
Burnt Black
World Blue
Counter Brown/ Bark
Firefighter Yellow
Firehouse Red House

Observed Behaviors

In the overall system and graph, the healthy trees quickly become burning trees, then gradually become burnt trees. Many factors contribute to how fast the trees become burning or burnt, from healthy. In the system, we can see how the different factors contribute to the spread of fire, through a forest. Some of the factors that affect this are wind direction, firefighters, and much more. In the graph, we see the number of healthy trees decrease slowly. As that is happening, the number of burning trees increase slightly, then later decrease. Since most of the burning trees turn into burnt trees, the graph also portrays that when the number of burning trees decrease, the number of burnt trees increase greatly. In addition, the number of firemen waver, depending on how many burning trees there are. In the graph, it shows that the number of firemen increased gradually, then they later disappeared from the world due to the simulation property BURNING. This simulation property makes it so that when there is no more burning trees, all the firemen leave.

Nearest-Neighbors Burning

We ensured that only the nearest neighbors burn, by broadcasting a tree check and change. This makes it so that only the nearest neighbors burn, because in one time step, instead of seeing that the agents are beside burning trees and changing the agents around them to burning, it sets the burn of the healthy tree beside the burning tree to one, then after, in the broadcast tree change, it will test if the burn of the healthy tree is set to one. If it is, then the healthy tree will then change to burning. This prevents too many trees, or in other words, only the nearest neighbors to change from healthy to burning. This is very important in making only those healthy trees right beside the burning tree(s) to turn to burning trees.

Conclusions

We learned that many different factors can contribute to the spread of fire. For example, wind, temperature, firefighters, and much more can affect the spread of fire. In addition, we learned that it is important that only the nearest neighbors change from healthy to burning. We learned that to do this we have to broadcast a tree check and change, which makes sure only the nearest neighbors get affected by the burning trees in one time step. In addition, I learned that if you change the burnt_pct_chance, than the behavior will change. If the burnt percent chance is larger, the trees change to burnt tree faster. This contains the surrounding trees from becoming burning very quickly. On the other hand, if the burnt percent chance is less, the trees around the burning tree turn into burning tree more quickly. This is because if a tree is burning the trees around will turn into burning.