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
500ko
3 graphiques
outputs
Sensitivity Analysis (global)
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
% of similar around me
Schelling model
What could we expect if we accept some heterogeneity ?
=
mean of 70 % similar
Schelling model
Play with differents threshold
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,164