SlideShare a Scribd company logo
Adam Getchell
Nonlinear Physics: Modeling Chaos and Complexity
What is an Agent?
Historically related to the Von Neumann machine, as
later improved by Stanislaw Ulam into the first agent-
based device – the cellular automata
Agents have:
 Activity
 Autonomy
 Heterogeneity
Agent Activity
 Goal-direction
 Reactivity/Perceptivity to its surroundings (model)
 Mobility: Able to roam the model space independantly
 Bounded Rationality (imperfect information)
 Interacts/exchanges information with other agents,
which may in turn cause:
 Adaptation: Change in behavior based on interactions
with the model or other agents
What is a Model?import breve
class myControl( breve.Control ):
def __init__( self ):
breve.Control.__init__( self )
self.walkerShape = None
myControl.init( self )
def getWalkerShape( self ):
return self.walkerShape
def init( self ):
print '''Setting up the simulation.'''
self.pointCamera( breve.vector( 0, 0, 0 ), breve.vector( 0, 60, 0 ) )
self.walkerShape = breve.createInstances( breve.Sphere, 1 ).initWith( 1 )
breve.createInstances( breve.RandomWalker, 200 )
breve.myControl = myControl
class RandomWalker( breve.Mobile ):
def __init__( self ):
breve.Mobile.__init__( self )
RandomWalker.init( self )
def init( self ):
self.setShape( self.controller.getWalkerShape() )
self.setColor( breve.randomExpression( breve.vector( 1.000000, 1.000000, 1.000000 ) ) )
self.move( breve.randomExpression( breve.vector( 0.100000, 0.100000, 0.100000 ) ) )
def iterate( self ):
self.setVelocity( ( breve.randomExpression( breve.vector( 60, 60, 60 ) ) - breve.vector( 30, 30, 30 ) ) )
breve.RandomWalker = RandomWalker
# Create an instance of our controller object to initialize the simulation
myControl()
Tools and Languages in 2008
Program Language(s) Description
Swarm Objective-C, Java Agent modeling library, dated, last release
version 2.2 February 2005
RepastJ Java Based on Swarm, written specifically in Java
RepastPy Python Friendly GUI, uses Python for scripting,
limited
Repast.NET C#, VB.NET Leverages .NET framework, doesn’t work with
Visual Studio 2008
Repast Simphony Java Full-featured, uses Eclipse IDE, can be difficult
to setup
MetaABM Java Full-featured, uses Eclipse IDE plus own GUI,
designed to use standard model file that can
work with other tools (Repast, Weka, VisAD,
MatLAB), can be difficult to setup
Breve Steve, Python, Push Fast, easy to use 3d simulation environment
targeted towards physics and artificial life
RepastPy -- Model
 Simple GUI which generates Java classes
RepastPy – Agent
Simple Python scripting for behaviors
Repast Simphony
 Uses Java + Groovy to compile an application
Boids
 A kind of 3D Life simulation producing chaotic
behavior. The rules are:
1. Boids try to fly towards the center of mass of
neighboring boids (usually, the perceived CoM with
respect to that particular boid)
2. Boids try to keep a small distance away from other
objects (including other boids)
3. Boids try to match velocity with near boids (perceived
velocity of neighbors)
A Simphony of Boids
breve – basic Controller/Agent
structure (Python)
import breve
class HelloWorld( breve.Control ):
def __init__( self ):
breve.Control.__init__( self )
def iterate( self ):
print '''Hello, world!'''
breve.Control.iterate( self )
breve.HelloWorld = HelloWorld
# Create an instance of our controller object to initialize the simulation
HelloWorld()
breve – basic Controller/Agent
structure (steve)
@include "Control.tz"
Controller HelloWorld.
Control : HelloWorld {
+ to iterate:
print "Hello, world!".
super iterate.
}
breve – Gravity & 3D collisions
breve – Gray Scott model of
reaction diffusion
breve – Capture the Flag
breve – boids to evolving swarms
Evolving swarms
In addition to the behaviors of boids, swarm agents:
 Seek out food, which randomly teleports around
 Feed their friends with excess food
 Reproduce when energy (food) hits certain threshold
 Die when they run out of energy, or reach maximum
age
 Land on the ground, rest, fly around again
 Mutate in such a way as to improve/reduce
reproduction
So how to you mutate code that must be pre-defined?
Push
Genetic programming – random crossover and mutation
of computer programs
 Doesn’t work for most computer languages, since they
typically have rigid syntax:
 This makes sense:
L = [math.exp(val) for val in eigenvalues]
 This does not:
eigenvalues ] in math.exp(val) = L ] for
Push
 Programs made up of: instructions, literals, and
sublists
 Push program is an expression, entirely placed on the
stack and evaluated recursively according to these
rules:
1. If P is an instruction then execute it
2. Else if P is a literal then push it on to the stack
3. Else (P must be a list) sequentially execute each of the
Push programs in P
Sample Push program and
execution
( 2 3 INTEGER. * 4.1 5.2 FLOAT.+ TRUE FALSE BOOLEAN.OR )
 Pushing onto the stack from left to right, we then pop the stack right to left
:
 First run is: BOOLEAN.OR FALSE TRUE = (TRUE) (BOOLEAN stack)
 Next we have: FLOAT.+ 5.2 4.1 = (9.3) (FLOAT stack)
 Finally we have INTEGER.* 2 3 = (6) (INTEGER stack)
Note that each stack has its own type, the stack-based typing system puts
each instruction on its own type of stack, so that any combination remains
semantically valid. We could re-order all of these stacks without issue.
The main trick is to devise programs that actually produce changeable
behaviors in the agents, so they can be selected for or against
References
 “Agent-based model,” Wikipedia, the free encyclopedia,
http://en.wikipedia.org/wiki/Agent_based_modeling.
 Christian Castle and Andrew Crooks, Principles and Concepts of Agent-Based Modelling
for Developing Geospatial Simulations, UCL Working Papers Series (UCL Centre for
Advanced Spatial Analysis, September 2006),
http://www.casa.ucl.ac.uk/working_papers/paper110.pdf.
 “Main Page - SwarmWiki,” http://www.swarm.org/index.php?title=Main_Page.
 Repast Agent Simulation Toolkit, http://repast.sourceforge.net/.
 Miles Parker, metaABM, http://metaabm.org/docs/index.html.
 Jon Klein, breve: a 3d Simulation Environment for Multi-Agent Simulations and Artificial
Life (Hampshire College), http://www.spiderland.org/.
 Craig Reynolds, “Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model),”
Boids, Backround and Update, http://www.red3d.com/cwr/boids/.
 Abelson et al., “Gray Scott Home Page,” Gray Scott Model of Reaction Diffusion,
http://www.swiss.ai.mit.edu/projects/amorphous/GrayScott/.
 Jon Klein, “"Push": a Language for Evolutionary Computation Integrated With breve |
breve,” http://www.spiderland.org/node/2759.
 Lee Spector, Push, PushGP, and Pushpop (School of Cognitive Science: Hampshire
College), http://hampshire.edu/lspector/push.html.

More Related Content

What's hot (20)

Hidden markov model ppt
Hidden markov model pptHidden markov model ppt
Hidden markov model ppt
Shivangi Saxena
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
Saqib Raza
 
Biological Neural Network.pptx
Biological Neural Network.pptxBiological Neural Network.pptx
Biological Neural Network.pptx
Abdul Rehman
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
koolkampus
 
An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed Debugging
Anant Narayanan
 
Data-Intensive Technologies for Cloud Computing
Data-Intensive Technologies for CloudComputingData-Intensive Technologies for CloudComputing
Data-Intensive Technologies for Cloud Computing
huda2018
 
Patterns
PatternsPatterns
Patterns
Amith Tiwari
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 
Multithreading models.ppt
Multithreading models.pptMultithreading models.ppt
Multithreading models.ppt
Luis Goldster
 
Artificial neural network
Artificial neural networkArtificial neural network
Artificial neural network
Mohd Arafat Shaikh
 
Advantages and disadvantages of hidden markov model
Advantages and disadvantages of hidden markov modelAdvantages and disadvantages of hidden markov model
Advantages and disadvantages of hidden markov model
joshiblog
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics Architecture
Arvind Sathi
 
Grid Computing Systems and Resource Management
Grid Computing Systems and Resource ManagementGrid Computing Systems and Resource Management
Grid Computing Systems and Resource Management
Souparnika Patil
 
Discrete event simulation
Discrete event simulationDiscrete event simulation
Discrete event simulation
ssusera970cc
 
Types and Functions of DDBMS
Types and Functions of DDBMSTypes and Functions of DDBMS
Types and Functions of DDBMS
Adeel Rasheed
 
Lecture 5 - Agent communication
Lecture 5 - Agent communicationLecture 5 - Agent communication
Lecture 5 - Agent communication
Antonio Moreno
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
Haitham Ahmed
 
Evolutionary Computing
Evolutionary ComputingEvolutionary Computing
Evolutionary Computing
Madhawa Gunasekara
 
Cloud sim
Cloud simCloud sim
Cloud sim
Khyati Rajput
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
Saqib Raza
 
Biological Neural Network.pptx
Biological Neural Network.pptxBiological Neural Network.pptx
Biological Neural Network.pptx
Abdul Rehman
 
Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
koolkampus
 
An Overview of Distributed Debugging
An Overview of Distributed DebuggingAn Overview of Distributed Debugging
An Overview of Distributed Debugging
Anant Narayanan
 
Data-Intensive Technologies for Cloud Computing
Data-Intensive Technologies for CloudComputingData-Intensive Technologies for CloudComputing
Data-Intensive Technologies for Cloud Computing
huda2018
 
Distributed Query Processing
Distributed Query ProcessingDistributed Query Processing
Distributed Query Processing
Mythili Kannan
 
Multithreading models.ppt
Multithreading models.pptMultithreading models.ppt
Multithreading models.ppt
Luis Goldster
 
Advantages and disadvantages of hidden markov model
Advantages and disadvantages of hidden markov modelAdvantages and disadvantages of hidden markov model
Advantages and disadvantages of hidden markov model
joshiblog
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics Architecture
Arvind Sathi
 
Grid Computing Systems and Resource Management
Grid Computing Systems and Resource ManagementGrid Computing Systems and Resource Management
Grid Computing Systems and Resource Management
Souparnika Patil
 
Discrete event simulation
Discrete event simulationDiscrete event simulation
Discrete event simulation
ssusera970cc
 
Types and Functions of DDBMS
Types and Functions of DDBMSTypes and Functions of DDBMS
Types and Functions of DDBMS
Adeel Rasheed
 
Lecture 5 - Agent communication
Lecture 5 - Agent communicationLecture 5 - Agent communication
Lecture 5 - Agent communication
Antonio Moreno
 
Security in distributed systems
Security in distributed systems Security in distributed systems
Security in distributed systems
Haitham Ahmed
 
Introduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed ComputingIntroduction to Parallel and Distributed Computing
Introduction to Parallel and Distributed Computing
Sayed Chhattan Shah
 

Viewers also liked (6)

Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing MixTop 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
ThinkVine
 
Study of urban traffic flow
Study of urban traffic flowStudy of urban traffic flow
Study of urban traffic flow
Sukhdeep Jat
 
Masters' Thesis Defense Slides
Masters' Thesis Defense SlidesMasters' Thesis Defense Slides
Masters' Thesis Defense Slides
Ram Subramanian
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
SlideShare
 
Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing MixTop 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
Top 20 Reasons Why Agent-based Modeling is Disrupting Marketing Mix
ThinkVine
 
Study of urban traffic flow
Study of urban traffic flowStudy of urban traffic flow
Study of urban traffic flow
Sukhdeep Jat
 
Masters' Thesis Defense Slides
Masters' Thesis Defense SlidesMasters' Thesis Defense Slides
Masters' Thesis Defense Slides
Ram Subramanian
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
SlideShare
 

Similar to Agent based modeling-presentation (20)

Java
JavaJava
Java
Ashen Disanayaka
 
Modern_2.pptx for java
Modern_2.pptx for java Modern_2.pptx for java
Modern_2.pptx for java
MayaTofik
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application Framework
Jady Yang
 
React native
React nativeReact native
React native
Mohammed El Rafie Tarabay
 
JavaScript Miller Columns
JavaScript Miller ColumnsJavaScript Miller Columns
JavaScript Miller Columns
Jonathan Fine
 
Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Python
dn
 
Javascript
JavascriptJavascript
Javascript
Sheldon Abraham
 
Knowledge of Javascript
Knowledge of JavascriptKnowledge of Javascript
Knowledge of Javascript
Samuel Abraham
 
Principles of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systemsPrinciples of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systems
Martin Chapman
 
Pig
PigPig
Pig
Vetri V
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
PROIDEA
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming Language
YLTO
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
elliando dias
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
MD Sayem Ahmed
 
Simulation
SimulationSimulation
Simulation
Leonardo Daniel López Condoy
 
TECHNICAL SEMINAR.pptx
TECHNICAL SEMINAR.pptxTECHNICAL SEMINAR.pptx
TECHNICAL SEMINAR.pptx
PraveenMR13
 
An Introduction to C# and .NET Framework (Basic)
An Introduction to C# and .NET Framework (Basic)An Introduction to C# and .NET Framework (Basic)
An Introduction to C# and .NET Framework (Basic)
Khubaib Ahmad Kunjahi
 
BWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation systemBWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation system
Andrii Gakhov
 
All your legos are belong to Us Gr8Conf.EU 2015
All your legos are belong to Us Gr8Conf.EU 2015All your legos are belong to Us Gr8Conf.EU 2015
All your legos are belong to Us Gr8Conf.EU 2015
Ryan Vanderwerf
 
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Javantura v3 - ES6 – Future Is Now – Nenad PečanacJavantura v3 - ES6 – Future Is Now – Nenad Pečanac
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Modern_2.pptx for java
Modern_2.pptx for java Modern_2.pptx for java
Modern_2.pptx for java
MayaTofik
 
Xopus Application Framework
Xopus Application FrameworkXopus Application Framework
Xopus Application Framework
Jady Yang
 
JavaScript Miller Columns
JavaScript Miller ColumnsJavaScript Miller Columns
JavaScript Miller Columns
Jonathan Fine
 
Patterns in Python
Patterns in PythonPatterns in Python
Patterns in Python
dn
 
Knowledge of Javascript
Knowledge of JavascriptKnowledge of Javascript
Knowledge of Javascript
Samuel Abraham
 
Principles of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systemsPrinciples of Health Informatics: Models, information, and information systems
Principles of Health Informatics: Models, information, and information systems
Martin Chapman
 
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go WrongJDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
JDD 2016 - Grzegorz Rozniecki - Java 8 What Could Possibly Go Wrong
PROIDEA
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming Language
YLTO
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
elliando dias
 
A brief overview of java frameworks
A brief overview of java frameworksA brief overview of java frameworks
A brief overview of java frameworks
MD Sayem Ahmed
 
TECHNICAL SEMINAR.pptx
TECHNICAL SEMINAR.pptxTECHNICAL SEMINAR.pptx
TECHNICAL SEMINAR.pptx
PraveenMR13
 
An Introduction to C# and .NET Framework (Basic)
An Introduction to C# and .NET Framework (Basic)An Introduction to C# and .NET Framework (Basic)
An Introduction to C# and .NET Framework (Basic)
Khubaib Ahmad Kunjahi
 
BWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation systemBWB Meetup: Storm - distributed realtime computation system
BWB Meetup: Storm - distributed realtime computation system
Andrii Gakhov
 
All your legos are belong to Us Gr8Conf.EU 2015
All your legos are belong to Us Gr8Conf.EU 2015All your legos are belong to Us Gr8Conf.EU 2015
All your legos are belong to Us Gr8Conf.EU 2015
Ryan Vanderwerf
 

More from Adam Getchell (14)

GenAI: Topic list generated by ChatGPT 4.0
GenAI: Topic list generated by ChatGPT 4.0GenAI: Topic list generated by ChatGPT 4.0
GenAI: Topic list generated by ChatGPT 4.0
Adam Getchell
 
AI for Research and Education for Pomology
AI for Research and Education for PomologyAI for Research and Education for Pomology
AI for Research and Education for Pomology
Adam Getchell
 
AI in Action: UC AI Innovation Virtual Share Fair
AI in Action: UC AI Innovation Virtual Share FairAI in Action: UC AI Innovation Virtual Share Fair
AI in Action: UC AI Innovation Virtual Share Fair
Adam Getchell
 
PCI Compliance in the Cloud: A working example
PCI Compliance in the Cloud: A working examplePCI Compliance in the Cloud: A working example
PCI Compliance in the Cloud: A working example
Adam Getchell
 
April 2015 APS presentation
April 2015 APS presentationApril 2015 APS presentation
April 2015 APS presentation
Adam Getchell
 
Cloud Applications at UC Davis
Cloud Applications at UC DavisCloud Applications at UC Davis
Cloud Applications at UC Davis
Adam Getchell
 
Background independent quantum gravity
Background independent quantum gravityBackground independent quantum gravity
Background independent quantum gravity
Adam Getchell
 
Newtonian limit in cdt
Newtonian limit in cdtNewtonian limit in cdt
Newtonian limit in cdt
Adam Getchell
 
UC Davis Active Directory Unified Communications Design Whitepaper
UC Davis Active Directory Unified Communications Design WhitepaperUC Davis Active Directory Unified Communications Design Whitepaper
UC Davis Active Directory Unified Communications Design Whitepaper
Adam Getchell
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Defending Your Network
Defending Your NetworkDefending Your Network
Defending Your Network
Adam Getchell
 
Secure Dot Net Programming
Secure Dot Net ProgrammingSecure Dot Net Programming
Secure Dot Net Programming
Adam Getchell
 
An Overview Of Python With Functional Programming
An Overview Of Python With Functional ProgrammingAn Overview Of Python With Functional Programming
An Overview Of Python With Functional Programming
Adam Getchell
 
Quantum Gravity
Quantum GravityQuantum Gravity
Quantum Gravity
Adam Getchell
 
GenAI: Topic list generated by ChatGPT 4.0
GenAI: Topic list generated by ChatGPT 4.0GenAI: Topic list generated by ChatGPT 4.0
GenAI: Topic list generated by ChatGPT 4.0
Adam Getchell
 
AI for Research and Education for Pomology
AI for Research and Education for PomologyAI for Research and Education for Pomology
AI for Research and Education for Pomology
Adam Getchell
 
AI in Action: UC AI Innovation Virtual Share Fair
AI in Action: UC AI Innovation Virtual Share FairAI in Action: UC AI Innovation Virtual Share Fair
AI in Action: UC AI Innovation Virtual Share Fair
Adam Getchell
 
PCI Compliance in the Cloud: A working example
PCI Compliance in the Cloud: A working examplePCI Compliance in the Cloud: A working example
PCI Compliance in the Cloud: A working example
Adam Getchell
 
April 2015 APS presentation
April 2015 APS presentationApril 2015 APS presentation
April 2015 APS presentation
Adam Getchell
 
Cloud Applications at UC Davis
Cloud Applications at UC DavisCloud Applications at UC Davis
Cloud Applications at UC Davis
Adam Getchell
 
Background independent quantum gravity
Background independent quantum gravityBackground independent quantum gravity
Background independent quantum gravity
Adam Getchell
 
Newtonian limit in cdt
Newtonian limit in cdtNewtonian limit in cdt
Newtonian limit in cdt
Adam Getchell
 
UC Davis Active Directory Unified Communications Design Whitepaper
UC Davis Active Directory Unified Communications Design WhitepaperUC Davis Active Directory Unified Communications Design Whitepaper
UC Davis Active Directory Unified Communications Design Whitepaper
Adam Getchell
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Defending Your Network
Defending Your NetworkDefending Your Network
Defending Your Network
Adam Getchell
 
Secure Dot Net Programming
Secure Dot Net ProgrammingSecure Dot Net Programming
Secure Dot Net Programming
Adam Getchell
 
An Overview Of Python With Functional Programming
An Overview Of Python With Functional ProgrammingAn Overview Of Python With Functional Programming
An Overview Of Python With Functional Programming
Adam Getchell
 

Recently uploaded (20)

Supercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMsSupercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMs
Francesco Corti
 
Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Iobit Driver Booster Pro Crack Free Download [Latest] 2025Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Mudasir
 
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PCWondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Mudasir
 
Fully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and ControlFully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and Control
ShapeBlue
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Kubernetes Cloud Native Indonesia Meetup - May 2025
Kubernetes Cloud Native Indonesia Meetup - May 2025Kubernetes Cloud Native Indonesia Meetup - May 2025
Kubernetes Cloud Native Indonesia Meetup - May 2025
Prasta Maha
 
cloudgenesis cloud workshop , gdg on campus mita
cloudgenesis cloud workshop , gdg on campus mitacloudgenesis cloud workshop , gdg on campus mita
cloudgenesis cloud workshop , gdg on campus mita
siyaldhande02
 
Artificial Intelligence (Kecerdasan Buatan).pdf
Artificial Intelligence (Kecerdasan Buatan).pdfArtificial Intelligence (Kecerdasan Buatan).pdf
Artificial Intelligence (Kecerdasan Buatan).pdf
NufiEriKusumawati
 
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
SOFTTECHHUB
 
AI against disinformation and why it is not enough
AI against disinformation and why it is not enoughAI against disinformation and why it is not enough
AI against disinformation and why it is not enough
Yiannis Kompatsiaris
 
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Eugene Fidelin
 
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 ProfessioMaster tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Kari Kakkonen
 
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AISAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
Peter Spielvogel
 
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AIAI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
Buhake Sindi
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 
Talk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya WeersTalk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya Weers
Kaya Weers
 
Content and eLearning Standards: Finding the Best Fit for Your-Training
Content and eLearning Standards: Finding the Best Fit for Your-TrainingContent and eLearning Standards: Finding the Best Fit for Your-Training
Content and eLearning Standards: Finding the Best Fit for Your-Training
Rustici Software
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 
Supercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMsSupercharge Your AI Development with Local LLMs
Supercharge Your AI Development with Local LLMs
Francesco Corti
 
Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Iobit Driver Booster Pro Crack Free Download [Latest] 2025Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Iobit Driver Booster Pro Crack Free Download [Latest] 2025
Mudasir
 
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PCWondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Wondershare Filmora 14.3.2 Crack + License Key Free for Windows PC
Mudasir
 
Fully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and ControlFully Open-Source Private Clouds: Freedom, Security, and Control
Fully Open-Source Private Clouds: Freedom, Security, and Control
ShapeBlue
 
European Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility TestingEuropean Accessibility Act & Integrated Accessibility Testing
European Accessibility Act & Integrated Accessibility Testing
Julia Undeutsch
 
SDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhereSDG 9000 Series: Unleashing multigigabit everywhere
SDG 9000 Series: Unleashing multigigabit everywhere
Adtran
 
Kubernetes Cloud Native Indonesia Meetup - May 2025
Kubernetes Cloud Native Indonesia Meetup - May 2025Kubernetes Cloud Native Indonesia Meetup - May 2025
Kubernetes Cloud Native Indonesia Meetup - May 2025
Prasta Maha
 
cloudgenesis cloud workshop , gdg on campus mita
cloudgenesis cloud workshop , gdg on campus mitacloudgenesis cloud workshop , gdg on campus mita
cloudgenesis cloud workshop , gdg on campus mita
siyaldhande02
 
Artificial Intelligence (Kecerdasan Buatan).pdf
Artificial Intelligence (Kecerdasan Buatan).pdfArtificial Intelligence (Kecerdasan Buatan).pdf
Artificial Intelligence (Kecerdasan Buatan).pdf
NufiEriKusumawati
 
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
With Claude 4, Anthropic redefines AI capabilities, effectively unleashing a ...
SOFTTECHHUB
 
AI against disinformation and why it is not enough
AI against disinformation and why it is not enoughAI against disinformation and why it is not enough
AI against disinformation and why it is not enough
Yiannis Kompatsiaris
 
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Marko.js - Unsung Hero of Scalable Web Frameworks (DevDays 2025)
Eugene Fidelin
 
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 ProfessioMaster tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Master tester AI toolbox - Kari Kakkonen at Testaus ja AI 2025 Professio
Kari Kakkonen
 
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AISAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
SAP Sapphire 2025 ERP1612 Enhancing User Experience with SAP Fiori and AI
Peter Spielvogel
 
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AIAI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
AI in Java - MCP in Action, Langchain4J-CDI, SmallRye-LLM, Spring AI
Buhake Sindi
 
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Multistream in SIP and NoSIP @ OpenSIPS Summit 2025
Lorenzo Miniero
 
TrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy ContractingTrustArc Webinar: Mastering Privacy Contracting
TrustArc Webinar: Mastering Privacy Contracting
TrustArc
 
Talk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya WeersTalk: On an adventure into the depths of Maven - Kaya Weers
Talk: On an adventure into the depths of Maven - Kaya Weers
Kaya Weers
 
Content and eLearning Standards: Finding the Best Fit for Your-Training
Content and eLearning Standards: Finding the Best Fit for Your-TrainingContent and eLearning Standards: Finding the Best Fit for Your-Training
Content and eLearning Standards: Finding the Best Fit for Your-Training
Rustici Software
 
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath InsightsUiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPath Community Berlin: Studio Tips & Tricks and UiPath Insights
UiPathCommunity
 

Agent based modeling-presentation

  • 1. Adam Getchell Nonlinear Physics: Modeling Chaos and Complexity
  • 2. What is an Agent? Historically related to the Von Neumann machine, as later improved by Stanislaw Ulam into the first agent- based device – the cellular automata Agents have:  Activity  Autonomy  Heterogeneity
  • 3. Agent Activity  Goal-direction  Reactivity/Perceptivity to its surroundings (model)  Mobility: Able to roam the model space independantly  Bounded Rationality (imperfect information)  Interacts/exchanges information with other agents, which may in turn cause:  Adaptation: Change in behavior based on interactions with the model or other agents
  • 4. What is a Model?import breve class myControl( breve.Control ): def __init__( self ): breve.Control.__init__( self ) self.walkerShape = None myControl.init( self ) def getWalkerShape( self ): return self.walkerShape def init( self ): print '''Setting up the simulation.''' self.pointCamera( breve.vector( 0, 0, 0 ), breve.vector( 0, 60, 0 ) ) self.walkerShape = breve.createInstances( breve.Sphere, 1 ).initWith( 1 ) breve.createInstances( breve.RandomWalker, 200 ) breve.myControl = myControl class RandomWalker( breve.Mobile ): def __init__( self ): breve.Mobile.__init__( self ) RandomWalker.init( self ) def init( self ): self.setShape( self.controller.getWalkerShape() ) self.setColor( breve.randomExpression( breve.vector( 1.000000, 1.000000, 1.000000 ) ) ) self.move( breve.randomExpression( breve.vector( 0.100000, 0.100000, 0.100000 ) ) ) def iterate( self ): self.setVelocity( ( breve.randomExpression( breve.vector( 60, 60, 60 ) ) - breve.vector( 30, 30, 30 ) ) ) breve.RandomWalker = RandomWalker # Create an instance of our controller object to initialize the simulation myControl()
  • 5. Tools and Languages in 2008 Program Language(s) Description Swarm Objective-C, Java Agent modeling library, dated, last release version 2.2 February 2005 RepastJ Java Based on Swarm, written specifically in Java RepastPy Python Friendly GUI, uses Python for scripting, limited Repast.NET C#, VB.NET Leverages .NET framework, doesn’t work with Visual Studio 2008 Repast Simphony Java Full-featured, uses Eclipse IDE, can be difficult to setup MetaABM Java Full-featured, uses Eclipse IDE plus own GUI, designed to use standard model file that can work with other tools (Repast, Weka, VisAD, MatLAB), can be difficult to setup Breve Steve, Python, Push Fast, easy to use 3d simulation environment targeted towards physics and artificial life
  • 6. RepastPy -- Model  Simple GUI which generates Java classes
  • 7. RepastPy – Agent Simple Python scripting for behaviors
  • 8. Repast Simphony  Uses Java + Groovy to compile an application
  • 9. Boids  A kind of 3D Life simulation producing chaotic behavior. The rules are: 1. Boids try to fly towards the center of mass of neighboring boids (usually, the perceived CoM with respect to that particular boid) 2. Boids try to keep a small distance away from other objects (including other boids) 3. Boids try to match velocity with near boids (perceived velocity of neighbors)
  • 10. A Simphony of Boids
  • 11. breve – basic Controller/Agent structure (Python) import breve class HelloWorld( breve.Control ): def __init__( self ): breve.Control.__init__( self ) def iterate( self ): print '''Hello, world!''' breve.Control.iterate( self ) breve.HelloWorld = HelloWorld # Create an instance of our controller object to initialize the simulation HelloWorld()
  • 12. breve – basic Controller/Agent structure (steve) @include "Control.tz" Controller HelloWorld. Control : HelloWorld { + to iterate: print "Hello, world!". super iterate. }
  • 13. breve – Gravity & 3D collisions
  • 14. breve – Gray Scott model of reaction diffusion
  • 15. breve – Capture the Flag
  • 16. breve – boids to evolving swarms
  • 17. Evolving swarms In addition to the behaviors of boids, swarm agents:  Seek out food, which randomly teleports around  Feed their friends with excess food  Reproduce when energy (food) hits certain threshold  Die when they run out of energy, or reach maximum age  Land on the ground, rest, fly around again  Mutate in such a way as to improve/reduce reproduction So how to you mutate code that must be pre-defined?
  • 18. Push Genetic programming – random crossover and mutation of computer programs  Doesn’t work for most computer languages, since they typically have rigid syntax:  This makes sense: L = [math.exp(val) for val in eigenvalues]  This does not: eigenvalues ] in math.exp(val) = L ] for
  • 19. Push  Programs made up of: instructions, literals, and sublists  Push program is an expression, entirely placed on the stack and evaluated recursively according to these rules: 1. If P is an instruction then execute it 2. Else if P is a literal then push it on to the stack 3. Else (P must be a list) sequentially execute each of the Push programs in P
  • 20. Sample Push program and execution ( 2 3 INTEGER. * 4.1 5.2 FLOAT.+ TRUE FALSE BOOLEAN.OR )  Pushing onto the stack from left to right, we then pop the stack right to left :  First run is: BOOLEAN.OR FALSE TRUE = (TRUE) (BOOLEAN stack)  Next we have: FLOAT.+ 5.2 4.1 = (9.3) (FLOAT stack)  Finally we have INTEGER.* 2 3 = (6) (INTEGER stack) Note that each stack has its own type, the stack-based typing system puts each instruction on its own type of stack, so that any combination remains semantically valid. We could re-order all of these stacks without issue. The main trick is to devise programs that actually produce changeable behaviors in the agents, so they can be selected for or against
  • 21. References  “Agent-based model,” Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Agent_based_modeling.  Christian Castle and Andrew Crooks, Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations, UCL Working Papers Series (UCL Centre for Advanced Spatial Analysis, September 2006), http://www.casa.ucl.ac.uk/working_papers/paper110.pdf.  “Main Page - SwarmWiki,” http://www.swarm.org/index.php?title=Main_Page.  Repast Agent Simulation Toolkit, http://repast.sourceforge.net/.  Miles Parker, metaABM, http://metaabm.org/docs/index.html.  Jon Klein, breve: a 3d Simulation Environment for Multi-Agent Simulations and Artificial Life (Hampshire College), http://www.spiderland.org/.  Craig Reynolds, “Boids (Flocks, Herds, and Schools: a Distributed Behavioral Model),” Boids, Backround and Update, http://www.red3d.com/cwr/boids/.  Abelson et al., “Gray Scott Home Page,” Gray Scott Model of Reaction Diffusion, http://www.swiss.ai.mit.edu/projects/amorphous/GrayScott/.  Jon Klein, “"Push": a Language for Evolutionary Computation Integrated With breve | breve,” http://www.spiderland.org/node/2759.  Lee Spector, Push, PushGP, and Pushpop (School of Cognitive Science: Hampshire College), http://hampshire.edu/lspector/push.html.