Simulation using ABM

Florent Le Nechet

Sébastien Rey-Coyrehourcq

slides

https://goo.gl/vXi2ZD

 

mails

sebastien.rey-coyrehourcq.fr@univ-rouen.fr

florent.lenechet@u-pem.fr

29/01/2018 Manchester

from definitions ...

To an observer B, an object A* is a model of an object A to the extent that B can use A* to answer questions that interest him about A

Modelisation ? Simulation ?

Lot of different definitions ... static or dynamic

En construisant un modèle (model building), on crée une représentation idéalisée de la réalité afin de faire apparaître certaines de ses propriétés

[Minsky 1965]

[Hagget 1965]

"le terme de modélisation désigne à la fois l’activité pour produire un modèle et le résultat de cette activité" .

[Langlois 2005]

Le concept de modélisation est donc « [...] plus large que celui de modèle, car il recouvre l’activité humaine qui aboutit au modèle achevé, alors que le modèle est un objet (concret ou abstrait), volontairement dépouillé de l’activité qui l’a créé »

Modelisation ? Simulation ?

un objet médiateur qui a pour fonction de faciliter une opération cognitive dans le cadre d’un questionnement orienté, opération cognitive qui peut être de cognition pratique (manipulation, savoir-faire, apprentissage de gestes, de techniques, de conduites, etc.) ou théorique (récolte de données, formulation d’hypothèses, hypothèses de mécanismes théoriques, etc.)

"simplificate" or "facilitate" ??

[Varenne 2013]

ce n’est pas tant « le modèle » que ce qu’il y a « dans le modèle » qui nous intéresse

[Sander 2000,  Besse 2000]

Puisque l’usage du modèle est relatif (à un observateur et à un questionnement), on ne peut dire que le modèle doit être un objet simple en lui-même ou dans l’absolu. Il convient donc de regarder sous quel aspect exactement il doit apparaître simplificateur, sous quel aspect il devient un outil facilitateur, un outil de facilitation. [...] on comprend déjà qu’un modèle n’est pas ce qui est recherché en tant que tel, mais ce qui facilite la recherche d’information au sujet d’un système réel ou fictif [...] Il est le moyen plus que la fin.

[Varenne 2008]

Modelisation ? Simulation ?

un objet médiateur qui a pour fonction de faciliter une opération cognitive dans le cadre d’un questionnement orienté, opération cognitive qui peut être de cognition pratique (manipulation, savoir-faire, apprentissage de gestes, de techniques, de conduites, etc.) ou théorique (récolte de données, formulation d’hypothèses, hypothèses de mécanismes théoriques, etc.)

overlaping and/or emergent objectives for modelling

[Varenne 2013]

~ 20 possible overlapping epistemic function

performance ? parcimony ? compression ? understanding ? pedagogy ? co-construction ? ...

from definitions ...

... to historical pratice

Simulation, an old idea in geography

1950

1980

Hägerstrand, Marble, Pitts, etc.

 

Pumain, Sanders, etc.

Guermond, Langlois, etc.

Chamussy, Le Berre, Uvietta, etc.

 

Forrester

pioneers

turning point

1970

Wilson

Batty

Ackerman, Chorley, Hagget, Berry, etc .

Prigogine, Allen,

Sanglier, Haken, etc..

conceptual

technical

1990

Couclelis,

Tobler,etc.

Epstein, Doran, etc.

Repeated influences of systemic project (Von Bertallanfy et cie.)

open systems, retro-action, self-organization, equifinality, bifurcation, etc.

[Pouvreau 2013]

 ~ 1980 in France

Agent Based Modelling

(and social science ...)

[Rey-Coyrehourcq 2015]

Cellular
Automata

Non Linear Dynamical
Systems

ABM, rupture or continuity ?

... an old idea in SHS ...

MC
micro-simulation 1957

[Sanders 2013, Rey 2015]

individual entities

James Doran

Archeological simulation 1970

Torsten Hägerstrand

Guy Orcutt

MC
micro-simulation 1953, 1965

bottom-up ? 

rules-based ?

One formalism to rule them all ?

Dynamic systems

Cellular Automata

Agent Based Models

game of life

ant foraging

predator-prey

encapsulate

Agent Based Model in geography

The twenty last year part...

Src : Heppenstal, 20 years of geocomputation 2016

Agent Based Model

Exchange messages

Think

Move and Perceive

Evolve on environment

Act on environment

(more or less ...)

[Ferber 1999, Drogoul 2009]

Agent Based Model

not a model, but a meta-model

city

ant

mosquito

people

tree

[Drogoul Treuil 2008]

Influences of ABM

1970-80

Alan Kay

Oriented

Object Programming

Generic
Ontology

Formalism

Software Evolution

Influences of ABM

Carl Hewitt

Actor model

1973

Software and IA Evolution

Influences of ABM

Complexity Theory and Artificial Life ( self organization + emergence)

Influences of ABM

Complexity Theory and Artificial Life ( self organization + emergence)

Simple rules could product complex emergent phenomena using simulation

Von Neumman & Arthur Burks

1966

CA, ABM and ...
... Artificial Life ?

Langton 

"Artificial Life"
~1980 SFI

Bach Group

Burks, Axelrod,
Holland, etc.

Cybernetics
(Wiener, Mc Culloch)

Swarm
platform

Biology & GST
(Bertallanfy)

BCL of
Von Foerster

AutoPoeise
(Maturana & Varela)

Biology &
Evolutionary computation (M. Conrad)

Logo / Turtle
S. Papert & M. Minsky

Bioinformatics
A. Lindermayer

Bioinformatics
& Ecology
P. Hoggeweg

Starlogo
M. Resnick

Phy, Eco, Geo
Y. Prigogine ULB team

Logo's
platform

ECAL conf

SFI

CS
J. Ferber

[Rey 2015]

Influences of ABM

Jacque Ferber

DAI Computer Scientist at Paris 6

CS Intellectuals Purveyors in SHS

James Doran

DAI Computer Scientist at Essex

DAI in Sociology since 1980's
DAI in archaeology since 1980's
Simulation in archaeology since 1960's

Geography since 1990's

Ecology since 1990's

Modelisation ? Simulation ?

In short, model of simulation ...

  • is old in geography and SHS
  • is multi-paradigm (non linear SD, CA, ABM)
  • is linked to complex-system theory
  • is an incremental and dynamic process which ...
  • ... organise the "facilitation" of reality in order to ...
  • ... answer needed researchs questions

How-To process ?

create simulation models

in a nutshell

specific, complementary,  and/or ambiguous vision of reality

Inter-disciplinarity context

geographs

medievalists

SimFéodal

[Cura et al. 2017]

An interesting flexibility

... into a spatio-temporal virtual laboratory

talking

Choose rules, interactions between rules, etc.

integrate

SIMULATEUR

 

substrat silicium

"reconstruction"

An interesting flexibility

... into a spatio-temporal virtual laboratory

?

?

?

!

An interesting flexibility

... into a spatio-temporal virtual laboratory

research question

An interesting flexibility

... into a spatio-temporal virtual laboratory

"The general idea of POM (Pattern Oriented Modelling) is to use multiple observed patterns as indicators of a system’s internal organization. Trying to reproduce such patterns with our ABMs makes us decode the internal organization of the real system.  The point of POM is to consciously think in terms of pattern, regularities or stylized facts right from the beginning and to select model structure accordingly."

Railsback et Al. 2012

internal mechanisms

patterns multiples

German school of V. Grimm ...

... an approach to formalize your building process

Railsback et Al. 2012

round trip

You should always start with
“null theories”

1-  START with a null functional model

2 - Test the benefice of each new hypothesis

"null"

"medawar Zone"

SURPRISE !

German school of V. Grimm ...

... an approach to formalize your building process

Choices

generate paths / models ...

which could lead to the same pattern(s)

1

2

(    )

(    ,    )

[Grimm2016, Cottineau2016]

Equifinality

simulated patterns

p1 cluster

p2 densités

p3 attribut

Path dependency problem

a) Organize the confrontation between points of view

c) Organize "surprise" by observing gap between patterns simulated vs patterns observed

d) Find bugs and limit case

So what ? A systemic exploration  !!

b) Explain the path/ the choice you take during the construction

Ok, but how ??

"By exploring the sensitivity of model output to changes in parameters, we learn about the relative importance of the various mechanisms represented in the model and how robust the model output is to parameter uncertainty."

- local sensibility

- global sensibility

"Sensitivity analysis (SA) is used to explore the influence of varying inputs on the outputs of a simulation model (Ginot et al. 2006).

[Thiele2014]

we do this during pratice  !

Sensitivity Analysis

The OAT method

 "Face Validity

"One-Variable-At-A-Time"  

- not reliable
- cost in time
- limited
- not reproductible

 "Tinkering" de Papert & Retsnick

- playful
- interactive
- exploratory
- incremental
- trial error

Sensitivity Analysis (local)

~= rule of thumb

Familly of Design of experiment (DOE)

A simple DOE :

a full factorial design :

P1 x P2 x P3

P_1
P_2
P_3
O_1

500ko

3 graphiques

outputs

Sensitivity Analysis (global)

{discreteStep}^{(\sum\limits_{i=1}^n P_i)} * replication * duree
\{ replication \in \mathbb R \mid 30 \}
\{ time \in \mathbb R \mid 1 minute \}
discreteStep = 11
11^3 * 30 * 1 \text{min} = 39930 min = 27 jours
11^3 * 30 * 500\text{ko} = 19965000 Ko = 19 Go
P = 3
11^3 * 30 * 3 \text{graphics} = 119790 graphics

Time & Volume are a problem

1er problem : combinatorial explosion problem

Sensitivity Analysis (global)

2nd problem - "Curse Dimensionality"

more dimensions

=

less covers for same number of points

Sensitivity Analysis (global)

So, is there a solution ?

"High Performance Computing"

[Thiele2014]

...YES but with lot of computation ...

ABC Method - Chris Brunsdon

Evolutionary Algorithms

methods

Exploring some simple & classical models

horseshoe

KISS

KIDS

Stylized

Particular

[Sanders & Banos 2011, 2013, Banos 2013]

Schelling

few rules

lot of rules

simple space

realistic space

Schelling - Sakoda simulation

[1916 - 2005]

[1921 - 2016]

Journal of Mathematical Sociology (Vol 1) 1971

Journal of Mathematical Sociology (Vol 2) 1971

- The checkerboard model of social interaction -

- Dynamic models of segregation - 

Phd Dissertation 1949

Schelling

Sénat - 1966

Crédit : Henry Griffin / Associated Press

Schelling model

vacancies

blue people

pink people

random position of people on a 2D grid

Schelling model

False

Move to

random

True

Stay here

Moore

Neumann

\lambda

% of similar around me

Schelling model

What could we expect if we accept some heterogeneity ?

\lambda

=

mean of 70 % similar

Schelling model

Play with differents         threshold

\lambda

Play with more or less vacancies

experiment on netlogo

Try to identify different states of the Schelling model and place them on this diagram

Try to identify different states of the Schelling model and place them on this diagram

[Gauvin 2009, Daude 2007]

Joshua Epstein

Social Simulation Conference 2015

Sugarscape model

KISS

KIDS

Stylized

Particular

[Sanders & Banos 2011, 2013, Banos 2013]

Schelling

Sugarscape

Sugarscape model

max sugar by patch

world - n * n patch -

Sugarscape model

Sugarscape model

limited vision, growing sugar

Sugarscape model

Sugarscape model

Sugarscape model

exploring resilience concept ?

Resilience is the ability of a system to maintain certain functions, processes, or populations after experiencing a disturbance.

Sugarscape model

farm workers

farm owners

tax

https://hal.archives-ouvertes.fr/hal-01094421

Collectif MAPS :

more rules !

Sugarscape model

reproduction

Sugarscape model

play with tax and note observation

Tax 0.05 0.10 0.20 0.30
Gini
Total population 
% capitalist
% farmers
Mean ressources farm owners 
Mean ressources farm workers

value at ticks = 2000

Tax 0.05 0.10 0.20
Gini 0,40 0.28 - 0.38 0.35 - 0.38
Total population  430 250 240
% capitalist 5 12 20
% farmers 95 88 80
Mean ressources capitalist  25 28 26
Mean ressources farmers 22 22 23

not so big differences between roles ... need some new visualisation ...

smaller population, higher share of farm workers, more inequalities

... possible collapse of system or
new equilibrium ...

https://goo.gl/k3j72D

add some new visualisations

right clic in blank zone in interface

change pen name

change plot name

change xy

advanced pen

mode "Bar"

name pen name interval
Wealth-Rentiers WR 5
Wealth-Recoltants WRe 5

parameters for 2 plots

Sugarscape model

Go to "code" tab, search "update-lorenz-and-gini-plots" function, add this source code ...



;; .... At the end of this function ....  
;; .... add this code to plot Distribution of Wealth

    set-current-plot "Wealth-Rentiers"
      set-current-plot-pen "WR"
      if any? turtles with [class = ClasseRentier]
        [histogram [sugar] of turtles with [class = ClasseRentier] ]
        
        set-current-plot "Wealth-Recoltants"
      set-current-plot-pen "WRe"
      if any? turtles with [class = ClasseRécoltant]
        [histogram [sugar] of turtles with [class = ClasseRécoltant] ]

Sugarscape model

... then return to "interface" tab, and relaunch simulation

Playing with catastrophe & observe resilience

Sugarscape model

Multiple states for the same system

Resilient : same state before and after catastrophe

New equilibrium : all red dead, only blue

Collapse : everyone is dead

Tax 0.05 0.10 0.20 0.30 0.40
Little catastroph resilient
medium catastroph
Big catastroph
Cataclysme

Sugarscape model

https://goo.gl/k3j72D > page 2

Workshop time !

https://goo.gl/BRJES8

Simulation Workshop 2018

By sebastien rey coyrehourcq

Simulation Workshop 2018

  • 1,163