0% found this document useful (0 votes)
112 views67 pages

Introduction To Computing For Complex Systems: (Session I)

This document provides an introduction and overview of an introductory course on computational modeling of complex systems. The key points are: - The course will provide an introduction to computational and agent-based approaches to modeling complex systems, contrast various approaches, and provide instruction on implementation. - Key concepts of complex systems modeling that will be covered include self-organization, simple rules generating complex outcomes, non-linearity, emergence, and focusing on non-equilibrium dynamics rather than equilibrium. - Agent-based modeling is introduced as one approach to studying complex adaptive systems, though complex systems encompass multiple theoretical and empirical approaches. - The document outlines some of the major software packages used for complex systems modeling like Net

Uploaded by

dmartink
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
112 views67 pages

Introduction To Computing For Complex Systems: (Session I)

This document provides an introduction and overview of an introductory course on computational modeling of complex systems. The key points are: - The course will provide an introduction to computational and agent-based approaches to modeling complex systems, contrast various approaches, and provide instruction on implementation. - Key concepts of complex systems modeling that will be covered include self-organization, simple rules generating complex outcomes, non-linearity, emergence, and focusing on non-equilibrium dynamics rather than equilibrium. - Agent-based modeling is introduced as one approach to studying complex adaptive systems, though complex systems encompass multiple theoretical and empirical approaches. - The document outlines some of the major software packages used for complex systems modeling like Net

Uploaded by

dmartink
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Introduction to Computing

for Complex Systems


(Session I)

Daniel Martin Katz


University of Michigan - Ann Arbor
My Affiliations
Fellow in Empirical
Legal Studies

NSF-IGERT Fellow
Center for the Study of
Complex Systems

PhD Candidate,
Political Science & Public Policy
Blog Run with

Michael
Bommarito II

Jonathan
Zelner

Course slides
will be
Posted Here!
Goals for the Class
Provide Introduction to Computational and
Agent Based Approaches to Modeling

Contrast Various Approaches Highlighting


Benefits and Drawbacks
Game Theoretic, Agent Based Models,
Network Models, Ecological Models, etc.

Provide a Solid Foundation in Implementation


Be a Good Consumer of 3rd Party Implementation
Actually Implement Models Using Appropriate Software
Introduction to
Complex Systems
Key Features of
Complex Systems

Complexity and CAS is not chaos theory

Bottom up versus Top Down

Heterogeneous rather than Homogenous

Emphasizes dependancies between actors

Emphasizes learning and adaptation by actors


Complex Systems Emphasizes

Self - organization / lack of top down control

Simple behavioral rules generating


complex and unforeseen outcomes

Non-linearity, Emergence, Positive Feedback


Equilibrium and
its Discontents?
CAS Focuses upon out of equilibrium solutions

Is a representative agent model appropriate?

Is an analytical solution up to the challenge?

Does the solution concept scale to the scope of


the problem?

What qualitative justification can be offered


for assuming something is a fixed point attractor?
Equilibrium and
its Discontents?

clearly overstated but it is worth remembering


that a fixed point based solution has limitations

When describing what would later be


called the nash equlibrium to john von
neumann in 1949, von Neumann famously
dismissed it with the words,

“That’s trivial, you know. That’s just a


fixed point theorem.”

“A Beautiful Mind”
By Sylvia Nasar (1998)
Brief Introduction to
Agent Based Modeling
Complex Systems and
Agent Based Modeling
Agent Based Models are an Approach to
Study Complex Adaptive Systems

However, the study of complex systems embraces


a number of theoretical and empirical approaches

ABM’s are only one particular manner to


execute the study of complex systems
Grand Father of
Agent Based Modeling

Arguably the Most


Important Mind of
the 20th Century

Invented
Game Theory

Helped Develop
Atomic Bomb

Developed the
Architecture of
the Computer
Father of Agent
Based Modeling

2005 Nobel Prize Winner

Argues for Bottom Up


Approach to Modeling In
“Micromotives & Macrobehavior”

Outlines the Famous


Schelling Segregation Model
(aka the ‘Tipping’ Model)
Other Important Contributors
John H. Conway

Developed the “game of life”


a simple cellular automaton

Life is a universal cellular


automaton capable of
emulating any turing machine

“Game of Life” offers lots


of Important Complex
Systems Principles

Simple rules can generate


Complex Environments
Other Important Contributors
Robert Axelrod

One of the top cited social


scientists in world

Has made many contributions


to the field of agent based
modeling

Consult His Papers Page:


http://www-personal.umich.edu/~axe/research_papers.html

Axelrod & Tesfatsion Guide


to Agent Based Models:
http://econ2.econ.iastate.edu/tesfatsi/abmread.htm
Other Important Contributors
Joshua Epstein, Robert Axtell, John H. Holland
A Few Major Institutes & Centers
Implementation:
From Concept to Product
Implementation
It is important to understand the canonical
scholarship as highlighted in the lecture

However, model implementation and the mechanics


of other forms of analysis is often the barrier to
entry for most scholars

Implementation is the link between concept and


scientific product
Different Software Packages
Netlogo = Introductory Modeling Environment
(Agent Based Models & System Dynamics)

Vensim / Stella = Development of System Dynamics


and Ecological Models

Pajek = Basic Software for Empirical Analysis


& Visualization of Networks

R = Platform for Statistical Analysis


(Includes the IGraph Library for Networks)

Python = Object Oriented Programming Language


Flexible and Fast but High Bar to Entry
Getting Started In
Getting Started In Netlogo

Netlogo is an Introductory Modeling Environment

Developed By Uri Wilensky @ Northwestern in 1999

Maintained by Center for Connected Learning &


Computer-Based Modeling @ Northwestern
Getting Started In Netlogo

Syntax is Inherited from the old “Logo” Language

Papert & Minsky (1967)

Resnick (1991)

Wilensky (1999)
Getting Started In Netlogo

Features Aspects of Programming But is Not a


General Language ( C++, Python, Java)

Arguably Easier To Learn Than A General Language

Serves the Implementation Needs of Many Modelers


Getting Started In Netlogo
Agent Based Models, System Dynamics Models,
Network Models, GIS, Etc.

Download @ ccl.northwestern.edu/

Version 4.1, Version 4.1 3D, Version 3.1.5

Should Also Acquire User Manual & Dictionary


Getting Started In Netlogo

HIV / AIDS VOTING


Where To Get Help
Where To Get Help
Netlogo
Front
Page
Getting Started in Netlogo
Getting Started in Netlogo

Files Have a Extension of .nlogo


Interface

Information

Procedures
Interface

Information

Procedures
Edit the
Information
Interface

Information

Procedures
Code for
the
Schelling’s
Segregation
Model
The Models Library

Explore the
Available
Models
Getting Started in Netlogo
Getting Started in Netlogo
Getting Started in Netlogo
Getting Started in Netlogo
Controls

Buttons
“once” buttons execute one Action

“forever” buttons repeat the same action


(Until Stopped)

Command Center
executes specific
commands “on the fly”
Settings

Sliders
Adjust a quantity by increments

Switchers
Set a Boolean variable
(true/false)

Choosers
Select a value from a list
Views

Monitors
Offers the Current
Value of Variables

Plots

Displays the Time Series Plot for


a Given Variable or Variables
The Netlogo Language
Four Types of Agents
Patches

Turtles

Links

The Observer
Patches

Tile
System
with

(0,0)
Center
Origin

pxcor
min‐pxcor
max‐pxcor
world‐height
world‐width
View the Settings
View the
Settings
View the
Settings
View the
Settings
View the
Settings
View the
Settings

What is a
Torus?

Why is It
33 x 33?
Patches: Key Things
Patches do not move -- they are fixed

Patches can have assigned variables

Patches can breed turtles

Patches belong to an agent set


Consulting the Netlogo Dictionary

Descriptions of
Patch Primitives
Can Be Accessed
Through the
Netlogo
Dictionary
Turtles
Turtles
move
on

top
of
the
patches

Have
decimal
coordinates

(xcor,
ycor)


Have
an
orientation

(heading)


Can
have
different
shapes

Turtles
Classic
Hawk
&

Dove
Model
from

Evolutionary

Game
Theory

Runs
in
Netlogo
Version
3.1.5
Inspect Turtles

Right Click on a Turtle


(Ctrl + Click on Mac)
Watch a Specific Turtle

Right Click on a Turtle


(Ctrl + Click on Mac)
Lots of Different Turtle Shapes
Turtles: Key Things
Turtles move around the environment

Turtles can have different variables

Turtles can have various shapes

Turtles belong to an agent set


Colors
color
=
agents
pcolor
=
patches

Select
a
Major

Color
by
Name


Customize
Colors

Using
##
from
Chart
Next Time:
The
Forest
Fire
Model

You might also like