Paul Chapron
Sébastien Rey-Coyrehourcq
twitter / github : @chapinux @reyman64
mail : paul.chapron@iscpif.fr & sebastien.rey-coyrehourcq.fr@univ-rouen.fr
Exchange messages
Think
Move and Perceive
Evolve on environment
Act on environment
(more or less ...)
[Ferber 1999, Drogoul 2009]
not a model, but a meta-model
city
ant
mosquito
people
tree
[Drogoul Treuil 2008]
1970-80
Alan Kay
Oriented
Object Programming
Generic
Ontology
Formalism
Software Evolution
Carl Hewitt
Actor model
1973
Software and IA Evolution
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
Complexity Theory and Artificial Life ( self organization + emergence)
Simple rules could product complex phenomena
Complexity Theory and Artificial Life ( self organization + emergence)
Simple rules could product complex phenomena
Von Neumman & Arthur Burks
1966
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]
... 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 ?
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.
Influences répétées du projet systemique (Von Bertallanfy et cie.)
open systems, retro-action, self-organization, equifinality, bifurcation, etc.
[Pouvreau 2013]
~ 1980 in France
Agent Based Modelling
[Rey 2015]
Cellular
Automata
Non Linear Dynamical
Systems
Systèmes dynamiques
Automate
Cellulaire
Modèle multi-agent
jeu de la vie
fourmis
proie prédateur
Intègre
... avec de grandes capacités d'intégration
... au sein d'un laboratoire virtuel spatio-temporel
discuter
formaliser
... au sein d'un laboratoire virtuel spatio-temporel
discuter
formaliser
intégrer
... au sein d'un laboratoire virtuel spatio-temporel
SIMULATEUR
substrat silicium
"reconstruction"
?
?
?
!
... avec une question de recherche c'est mieux !
"2nd-empirie"
... pour contraindre la dynamique des simulations
question(s) de recherche
"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
structure interne
patterns multiples
... pionnière sur les aspects formalisations
Railsback et Al. 2012
aller - retour
You should always start with
“null theories”
1- Modèle fonctionel dès le départ
2 - Tester l'apport de chaque hypothèse
"null"
"medawar Zone"
SURPRISE !
... pionnière sur les aspects formalisations
Les choix
générent des chemins / modèles ...
qui peuvent générer le/les même(s) pattern(s)
1
2
( )
( , )
( )
[Grimm2016, Cottineau2016]
Equifinalité
patterns simulés
p1 cluster
p2 densités
p3 attribut
1
2
( )
( , )
( )
[Grimm2016, Cottineau2016]
Deconstruire les choix & les chemins ... &
les reconstruire ensuite pour mieux comprendre ...
Know where and when
parameters and mechanisms break
Look back and challenge choices
Share your results
and challenge others
Cumulative knowledge
a) Organiser la saine confrontation des points de vue
b) Organiser la "surprise" par l'observation des écarts entre comportements attendus vs simulés
d) Trouver les bugs et cas limites
b) Justifier le chemin pris lors de la construction
Oui, mais comment ?
"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."
- sensibilité locale
- sensibilité globale
"Sensitivity analysis (SA) is used to explore the influence of varying inputs on the outputs of a simulation model (Ginot et al. 2006).
[Thiele2014]
allons y !
+ 20 raisons différentes de créer des modèles
modèle ~= modèle de simulation
simplification ou facilitation ?
modéliser, un objectif en soit or modéliser pour éclairer ?
modélisons pour une question
( voir les travaux de Phan, Varenne, Livet, etc. )
substrat silicium
une nouvelle empirie
equations
objects
stocks
performance ? parcimonie ? compression ? compréhension ? co-construction ? ...
"reconstruire" la réalité
dynamique complexes
difficile à comparer
Connaissance ?
modèle de simulation
processus
entité
choix des representations et échelles pour
patterns
parameters
choix depuis une réalité
=
Logo langage 1966
Seymour Papert
Logo turtle 1969-70 inspired by
Walter Grey's turtle in 1948
to square
repeat 4 [forward 50 right 90]
end1928 - 2016
StarLogo
& Netlogo
Sensibilité locale - OAT
évaluation à l'oeil
"Face Validity"
stratégie / DOE
"One-Variable-At-A-Time"
- peu fiable
- couteux en temps
- limité
- difficilement reproductible
"Tinkering" de Papert & Retsnick
- ludique
- interactif
- exploratoire
- incrémental
- essai erreur
KISS
KIDS
Stylisé
Particulier
[Sanders & Banos 2011, 2013, Banos 2013]
Schelling
[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
place vide
habitant bleu
habitant rose
position aléatoire sur une grille en 2D
False
déplacement aléatoire
True
reste ici
Moore
Neumann
% similaires
% similaires
Jouons avec différents seuil
Jouons avec plus ou moins de positions libres
experimentons avec netlogo
Essayons d'identifier les différents états du modèle de Schelling et plaçons les sur le schéma
Try to identify different states of the Schelling model and place them on this diagram
[Gauvin 2009, Daude 2007]
Que peut on attendre si on accepte un peu d'hétérogénéité ?
=
moyenne ~ 70 % similaire
attendu
réalité
Joshua Epstein
Social Simulation Conference 2015
KISS
KIDS
Stylized
Particular
[Sanders & Banos 2011, 2013, Banos 2013]
Schelling
Sugarscape
max sugar by patch
world - n * n patch -
limited vision, growing sugar
more rules ?
farm workers
farm owners
tax
https://hal.archives-ouvertes.fr/hal-01094421
Collectif MAPS :
reproduction
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 ...
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
Go to "code" tab, and add this source code ...
;; .... At the end of this function ....
;; .... add this code to plot Distribution of Wealth
to update-lorenz-and-gini-plots
; ... some code ...
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] ]
end... then return to "interface" tab, and relaunch simulation
Play with catastrophe ...
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 |
switching role
| Tax | 0.05 | 0.10 | 0.20 | 0.30 | 0.40 |
|---|---|---|---|---|---|
| Little catastroph | resilient | ||||
| medium catastroph | |||||
| Big catastroph | |||||
| Cataclysme |