Title: Agent Based Modeling (ABM)
1Agent Based Modeling(ABM)
2Outline
- What is ABM?
- Why use ABM?
- Applications
- Examples
- Good Modeling Practices
- Issues
- Future of ABM
3What is ABM?
- First What is an agent?
- An entity that functions continuously and
autonomously in an environment in which other
processes take place and other agents exist
(Shoham) - General Characteristics
- Autonomy
- Pro-activeness
- Reactivity
- Social Ability
4What is ABM?
- Simulation modeling technique where a system is
modeled as a collection of agents and the
relationships between them. - Agents individually asses its situation in the
environment and make decisions on the basis of a
set of rules. - - Bonabeau
5Agent Types (DeLaurentis)
Mobile Agent
Autonomous Agent
Adaptive Agent
Yes
Yes
Does it run without continuous user input?
Yes
Can it change its behavior based on past
experiences
Does it move?
No
Agent
Does it have a set solution path?
Reactive Agent
Require Assistant User?
Yes
Does it collect, filter classify information?
Yes
No
Does it care about the utility value?
Interface Agent
Utility Agent
Yes
Yes
No
Info-gathering Agent
Agents can possess more than one property
Goal-based Agent
6Agent Types in an Example
- Traffic Control
- Reactive Police (enforce laws of road)
- Info-gathering Media (informs the public of
traffic and accidents in major areas) - Autonomous Disruptors (weather / accidents)
- Goal-based City Planners (would like the least
number of accidents and greatest amount of flow
through parts of town) - Adaptive Drivers (may avoid roads that are known
to be overcrowded during certain times of day) - Utility Drivers (would like to minimize drive
time / distance)
7Why Use ABM?
- Captures Emergent Phenomena
- As the components of a system interact with each
other, and influence each other through these
interactions, the system as a whole exhibits
emergent behavior (Roetzheim) - This characteristic makes the output of a system
difficult to understand and predict
8Emergence Example
- Group of 10 40 people
- Each member randomly chooses two people, person A
and person B. - Members move themselves so that A is between
themselves and B - Now move so that member is between A and B.
9Why Use ABM?
- Provides a Natural Description of a System
composed of behavioral entities - Describes the system from the perspective of its
constituent units activities more so than the
systems processes - Heterogeneous units
10Heterogeneous Components of a System
11Why Use ABM?
- Flexibility
- What if the appropriate level of description or
complexity is not known ahead of time? - Easy to add / subtract more agents
- Tuning the complexity of the agents
- changing behaviors, degree of rationality, rules
of interactions, etc
12Traditional vs. ABM simulation
- ABM seeks adaptive rather than optimizing
nature - Adapt seek the rule and behavior set that lead
to new capabilities - ABM does not emphasize analytical solutions (more
qualitative than quantitative)
13Areas of Application
- Flow
- evacuation, traffic
- Financial Markets
- Organizations
- organizational design, strategy
- Social
-
14ABM Generic Example - BOIDS
BOIDS
Separation steer to avoid crowding local
flockmates
Alignment steer towards the average heading of
local flockmates
Cohesion steer to move toward the average
position of local flockmates Reynolds
15ABM Generic Example - Evacuation
Stampede Situation
- People become injured when they collide at a
certain speed - As a consequence, leaving the room becomes
difficult.
Stampede Situation w/ Column
- A column in front of the door can avoid injuries.
- It can increase the outflow well with less / no
injured people
Helbing, Farkas, Vicsek
16ABM Generic Example Traffic Control
17Good Modeling Practices
- Choosing the language that is right for you and
the problem - Goals of Good AB Programming
- Project Management
18Some Recommended Programs / Languages
- StarLogo
- Programmable modeling environment for new
programmers - Swarm
- For advanced programmers
- Wide variety of tools
- Languages
- Basic
- Easy to learn and use, but suitable for small
projects - Pascal
- Designed to be a first language for serious
programmers, and easy to learn and is structured
to encourage good programming habits - C, C
- Most commonly used among serious programmers.
- Allows easy conversion between separate computers
- OO languages make really large projects easier to
program
19Goals (Axelrod)
- Validity
- Would like to correctly implement the model
- Is the model itself an accurate representation of
the real world? - Problem If there are unexpected results, is
there necessarily a mistake?
20Goals (Axelrod)
- Usability
- Allow yourself and other users who follow to run
the program, interpret its output, and understand
how it works - Careful with different versions of the model
- Extendability
- Allow future users (including yourself) to adapt
the program for new uses - New questions arise from models such as these
21Project Management (Axelrod)
- How can I achieve these goals?
- Use long names for almost all variables
- List all the variables at the start of the
program - Write helpful comments
- Fully label output
- Develop upwardly compatible programs
- Document versions of each code
- Use commercial programs for most data analysis
- Check microdynamics
- Communication with other users
-
22Issues with ABM
- Validity
- Every model serves its own unique purpose
- Must be built at the right level of description
with the appropriate amount of complexity - Human agents
- Complex Psychology
- Irrational Behavior
- Subjective Choices
23Issues with ABM
- Qualitative vs. Quantitative
- Varying degree of accuracy and completeness in
input (data, expertise, etc) - Use qualitative data to learn about the system
- Capturing the behavior of all constituent units
- Lower level description can extremely
computationally intense, and time consuming - Heterogeneous units
24Future of ABM
- New Software for Modeling
- Research in BDI Architecture
25- References
- Shoham, Yoav, BDI agents From Theory to
Practice, 1993 - Bonabeau, Eric, Agent-based modeling Methods and
techniques for simulating human behavior, 2002 - Roetzheim, William H., Enter the Complexity Lab,
Where Chaos Meets Complexity, 1994 - Reynolds, Craig W., Flocks, herds and schools A
distributed behavioral model, 1987 - Helbing, Dirk Farkas, Illes Vicsek, Tamas,
Simulating Dynamical Features of Escape Panic,
2000 - Axelrod, Robert, The Complexity of Cooperation,
1998