simulation a “model” that is a simulation of a past or potential event typically the models are...
TRANSCRIPT
Simulation• A “model” that is a simulation of a past or
potential event
• Typically the models are not considered general (simpler models may be)
• Relies on knowledge of the mechanisms behind the processes that created the event
"3DiTeams percuss chest". Licensed under CC BY-SA 3.0 via Wikipedia - http://en.wikipedia.org/wiki/File:3DiTeams_percuss_chest.JPG#/media/File:3DiTeams_percuss_chest.JPG
Simulations are Used In:
• Volcanic eruption processes
• Flood dynamics
• Land slides
• Earthquakes
• Disease propagation
• Oil spills
• Species population dynamics
• Social dyanmis
Validation?
• Past Events:– Can ground-truth based but how
generalizable are they?
• Future Events:– How to ground-truth?
• Best case:– Model based on past events, ground-truth,
then extend into the future carefully
Civil Engineering
• Civil engineering is based on what has worked in the past
• New structures are built based on:– Understanding of materials– Books of “margins of error” based on what
has worked and not worked in the past– Simulations of potential scenarios
Tacoma Narrows Bridge
• http://www.youtube.com/watch?v=j-zczJXSxnw
• After the Tacoma narrows bridge collapsed, all suspension bridges had to be checked for harmonic oscillations against the typical winds in the area
• Today, this is just one of the simulations that are used to test structures in different situations.
Simulation Models
• NASA’s Perpetual Ocean– http://svs.gsfc.nasa.gov/vis/a000000/
a003800/a003827/
• NASA Simulation of aerosols:
Animations (Simulations?)
• Tsunamis:– http://www.youtube.com/watch?
v=_bCTa5su8II– http://www.youtube.com/watch?
v=WgpXzwLuGDo
When to simulate?
• Completely hypothetic scenarios
• Really minimal data
• Temporal process -> compelling animations
• The process is believed to be well understood (simulations are typically mechanistic)
• When the problem can be simplified enough to run on available hardware!
• Educational
• Agent:– Typically a point– Has “attributes”: health, size, age, sex, etc.– Behaves independently
• Moves, feeds, breeds, dies
– Can “interact” with other agents– Can “interact” with its envrionment
Agent Based Modelswww.anylogic.com
Environmental Science
• Spatially Explicit Individually Based Models (SEIBM)– Each “object” in the model represents one
individual
• Spatially Explicit Population Based Models (SEPBM)– Each “object” represents N individuals
Simple Model
• All Agents– X– Y
• Predator– Hunger
• Prey– Health
Prey 1
Prey 1
Prey 1Pred 1
How it works
• Move agents
• Agent interactions– Prey
• Update attributes– Hunger– Birth– Death
Movement
• Each agent has an x, y coordinate
• Moves to a new position based on:– Random movement– Directed movement– Terrain– Forces: wind, water, slope
Random
Directed
Lagrangian Movement
“Walking”
• Random Walk– Brownian Motion: pseudo-random
movement of particles when interacting with other particles
• “Directed Walk”– Movement toward a resource
• Lévy flight foraging hypothesis – Line lengths drawn from a “heavy tailed”
distribution
Interactions
• Agents interact with each other:– Breed– Feed– Interact with distance < some minimum
• Agents interact with the environment:– Feed on grass
Agents Update Attributes• Hunger/Health go down without food• Birth happens at some cycle if conditions
are correct• Death
– If Hunger/Health are too high/low– Age > maximum– Conditions too harsh
• Also can:– Grow– Learn– Bloom, senesce
Individually Based Models
• Crowds– http://www.lsi.upc.edu/~npelechano/
MACES/MACES.htm
• Princeton’s migration studies:– http://icouzin.princeton.edu/leadership-
collective-behavior-and-the-evolution-of-migration/
• Agent Based Traffic Model– http://www.cs.unc.edu/~wilkie/
Cellular Automata
• Monitor what is in each “cell”– Typically:
• Each raster has the number of individuals of one type (or amount of available veg)
– Can also include:• Land cover, barriers, water vs. land, etc.• Difficulty to cross area• Open vs. protected areas
Tools
• NetLogo
• HexSim
• MASON Multi-Agent Simulation Toolkit
• Repast
• Programming!– Python– Java
• Books: “Agent-Based Models of Geographical Systems”
Python SEIBM• Very simple model
• Includes 2 classes: – Animal (prey and predators)– Veg (grass)
SEIBM – Main Script
• Imports: Tkinter, time, random, Veg, Animal
• Setup the GUI
• Initialize animal objects in an array
• Loop forever:– Update each object– Redraw the window– Let Python process events (mouse clicks)– Sleep for a bit