Agent-Based Models

Download Report

Transcript Agent-Based Models

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_che
st.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=jzczJXSxnw
• 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/a0038
00/a003827/
• NASA Simulation of aerosols:
Animations (Simulations?)
• Tsunamis:
– http://www.youtube.com/watch?v=_bCTa5s
u8II
– http://www.youtube.com/watch?v=WgpXzw
LuGDo
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
Methods
• Agent-Based
• Cellular automaton
Agent Based Models
www.anylogic.com
• 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
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
Pred 1
Prey 1
• Predator
– Hunger
• Prey
Prey 1
– Health
Prey 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
Life Cycle
Birth
Youth
Adult
Death
Individually Based Models
• Crowds
– http://www.lsi.upc.edu/~npelechano/MACES
/MACES.htm
• Princeton’s migration studies:
– http://icouzin.princeton.edu/leadershipcollective-behavior-and-the-evolution-ofmigration/
• 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