Agent Based Modeling (ABM)

Slides:



Advertisements
Similar presentations
New Mexico Computer Science for All
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Design of Experiments Lecture I
Intelligent Agents Russell and Norvig: 2
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
OBJECT-ORIENTED THINKING CHAPTER Topics  The Object-Oriented Metaphor  Object-Oriented Flocks of Birds –Boids by Craig W. Reynolds  Modularity.
CITS4403 Computational Modelling Agent Based Models.
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Agent-based Modeling: Methods and Techniques for Simulating Human Systems Eric Bonabaun (2002) Proc. National Academy of Sciences, 99 Presenter: Jie Meng.
Lecture 7 Model Development and Model Verification.
Software Requirements
Agent-Based Acceptability-Oriented Computing International Symposium on Software Reliability Engineering Fast Abstract by Shana Hyvat.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 2 Introduction to Database Development.
Introduction to Database Development. 2-2 Outline  Context for database development  Goals of database development  Phases of database development.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Emergent Phenomena & Human Social Systems NIL KILICAY.
Introduction to Systems Analysis and Design
Modeling and Simulation
Agent Based Modeling and Simulation
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Introduction to Discrete Event Simulation Customer population Service system Served customers Waiting line Priority rule Service facilities Figure C.1.
Copyright © 2002 by The McGraw-Hill Companies, Inc. Information Technology & Management 2 nd Edition, Thompson Cats-Baril Chapter 8 I/S and Organizational.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Biology: flocking, herding & schooling Day 5 COLQ 201 Multiagent modeling Harry Howard Tulane University.
An Introduction to Software Architecture
Business Analysis and Essential Competencies
Zhiyong Wang In cooperation with Sisi Zlatanova
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
10 Software Architecture CSCU 411 Software Engineering.
NAVEEN AGENT BASED SOFTWARE DEVELOPMENT. WHAT IS AN AGENT? A computer system capable of flexible, autonomous (problem-solving) action, situated in dynamic,
SE: CHAPTER 7 Writing The Program
EXIT = Way Out Julian Dymacek April 29. Escape Panic Paper Dr. Dirk Helbing, Illes J. Farkas, Dr. Tamas Vicsek Point mass simulation Uses psychological.
Exploring Complex Systems through Games and Computer Models Santa Fe Institute – Project GUTS
Modeling Complex Dynamic Systems with StarLogo in the Supercomputing Challenge
Simulating Dynamical Features of Escape Panic Dirk Helbing, Illes Farkas, and Tamas Vicsek Presentation by Andrew Goodman.
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
Controlling the Behavior of Swarm Systems Zachary Kurtz CMSC 601, 5/4/
Building Simulation Model In this lecture, we are interested in whether a simulation model is accurate representation of the real system. We are interested.
Neural Networks and Machine Learning Applications CSC 563 Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi.
Chapter 4 Decision Support System & Artificial Intelligence.
Introduction of Intelligent Agents
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
B OIDS, D ROIDS, & N OIDS : D ESCRIPTION AND I MPLICATIONS OF AN I NTEGRATIVE R ESEARCH P ARADIGM ON M ACROCOGNITION Steve W.J. Kozlowski Georgia T. Chao.
Introduction To Defensive Driving  S.I.P.D.E. and “The Smith System” have been two key components of defensive driving for over 25 years.  Drivers who.
Norberto Orozco Portales III Group Dynamics Report.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Intelligent Agents Chapter 2. How do you design an intelligent agent? Definition: An intelligent agent perceives its environment via sensors and acts.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
OPERATING SYSTEMS CS 3502 Fall 2017
Classifications of Software Requirements
Service-Oriented Computing: Semantics, Processes, Agents
Chapter 4 – Requirements Engineering
Service-Oriented Computing: Semantics, Processes, Agents
Tools of Software Development
Advantages of ABS An advantage of using computer simulation is that it is necessary to think through one’s basic assumptions very clearly in order to create.
R. W. Eberth Sanderling Research, Inc. 01 May 2007
Agent Based Modeling (ABM)
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Service-Oriented Computing: Semantics, Processes, Agents
Building Valid, Credible, and Appropriately Detailed Simulation Models
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
From Use Cases to Implementation
Presentation transcript:

Agent Based Modeling (ABM) Stephen Kinsel

Outline What is ABM? Why use ABM? Applications Examples Good Modeling Practices Issues Future of ABM

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 autonomy: agents operate without direct intervention from the user, and have some sort of control over their actions pro-activeness: agents not only react in response to the environment, but also exhibit goal-directed behavior reactivity: agents perceive their environment and respond to changes social ability: agents can interact with other agents

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 Even a simple ABM can exhibit complex behavior patterns and provide valuable insight about the dynamics of a real world situation Rules created by the programmer. Their behavior can be anything you want, ranging from producing, selling, consuming, competing.

Agent Types (DeLaurentis) Mobile Agent Autonomous Agent Adaptive Agent Yes Yes Yes Does it run without continuous user input? 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

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)

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

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.

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

Heterogeneous Components of a System

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

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)

Areas of Application Flow Financial Markets Organizations Social evacuation, traffic Financial Markets Organizations organizational design, strategy Social

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

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

ABM Generic Example – Traffic Control

Good Modeling Practices Choosing the language that is right for you and the problem Goals of Good AB Programming Project Management

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

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?

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

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 upwardly compatible: All new versions should include all useful features of old versions check microdynamics: validating the program: difficult to confirm your code by checking out known results, because they probably don’t exist. Want to make sure your program is correctly handling the details

Issues with ABM Validity Human agents 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

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

Future of ABM New Software for Modeling Research in BDI Architecture

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