Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good...

25
Agent Based Modeling (ABM) Stephen Kinsel
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    266
  • download

    1

Transcript of Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good...

Page 1: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Agent Based Modeling(ABM)

Stephen Kinsel

Page 2: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

• What is ABM?

• Why use ABM?

• Applications

• Examples

• Good Modeling Practices

• Issues

• Future of ABM

Outline

Page 3: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

What 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

Page 4: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

What 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

Page 5: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Agent Types (DeLaurentis)

AgentAgentAgentAgent

Does it move?

Does it have a set solution path?

Does it run without continuous user input?

Does it collect, filter & classify information?

Require Assistant User?

Can it change its behavior based on past experiences

Does it care about the utility value?

Info-gatheringAgent

Info-gatheringAgent

MobileAgent

MobileAgent Autonomous

Agent

AutonomousAgent

InterfaceAgent

InterfaceAgent

ReactiveAgent

ReactiveAgent

AdaptiveAgent

AdaptiveAgent

UtilityAgent

UtilityAgent

Goal-basedAgent

Goal-basedAgent

Yes

Yes

Yes

YesYes

Yes

Yes

No

No

No

Agents can possess more than one property

Page 6: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Agent 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)

Page 7: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Why 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

Page 8: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Emergence 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.

Page 9: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Why 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 system’s processes• Heterogeneous units

Page 10: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Heterogeneous Components of a System

Page 11: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Why 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

Page 12: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Traditional 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)

Page 13: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Areas of Application

• Flow– evacuation, traffic

• Financial Markets

• Organizations– organizational design, strategy

• Social

Page 14: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

ABM Generic Example - 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

BOIDS

Page 15: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

ABM 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

Page 16: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

ABM Generic Example – Traffic Control

Page 17: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Good Modeling Practices

•Choosing the language that is right for you and the problem

•Goals of Good AB Programming

•Project Management

Page 18: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Some 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

Page 19: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Goals (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?

Page 20: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Goals (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

Page 21: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Project 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

Page 22: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Issues 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

Page 23: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Issues 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

Page 24: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

Future of ABM

• New Software for Modeling

• Research in BDI Architecture

Page 25: Agent Based Modeling (ABM) Stephen Kinsel. What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM Outline.

ReferencesShoham, 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