Simulation* &
Simulation en archéologie**
par Simulation Multi-Agents / Agent Based Modelling
Sébastien Rey Coyrehourcq (UMR IDEES 6266)
Rouen, GMPCA
14/04/2025

Frédérique Bertoncello, Marie-Jeanne Ouriachi (CEPAM UMR-7264) & Nicolas Bernigaud (ASM UMR-5140)
*
**
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
Many 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éé »
Modelling ? Simulate ?
=> Modelling is an incremental process that links peoples and tools (Socio-Technical System)
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.)
"simplifying" 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]
Modelling ? Simulate ?
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.)
multiple emergent goals
[Varenne 2013]
~ 20 epistemic functions
=> performance ; parcimony ; compressing information ; understanding ; pedagogy ; co-construction ; etc ...

Lot of french books on this subjects



Modelling ? Simulate ?
... to historical practices
from definitions ...
1950
1980
Hägerstrand, Marble, Pitts, etc.
Pumain, Sanders, etc.
Guermond, Langlois, etc.
Chamussy, Le Berre, Uvietta, etc.
Forrester
pioniers
pivot
1970
Wilson
Batty
Ackerman, Chorley, Hagget, Berry, etc .
Prigogine, Allen,
Sanglier, Haken, etc..
conceptuel
technique
1990
Couclelis,
Tobler,etc.
Epstein, Doran, etc.
Influences répétés du projet systémique (Von Bertallanfy et cie.)
open systems, retro-action, self-organization, equifinality, bifurcation, etc.
[Pouvreau 2013]
~ 1980 en France
Agent Based Modelling
[Rey-Coyrehourcq 2015]
Cellular Automata
non linear Dynamical Systems
Historiques des pratiques


Non linear Systems Dynamics
Cellular Automata
Agent Based Models

game of life
ant foraging
predator-prey
encapsulate
One formalism to bring them all together
More than twenty year of litterature ...

Src : Heppenstal, 20 years of geocomputation 2016
ABM in geography ?
Exchange messages
Think ...
Look and perceive
Evolve into an environnement
Act on environnement
(more or less ...)
[Ferber 1999, Drogoul 2009]
Building and playing with Agents that Interact on Environment at different Scale : "Virtual Laboratory"
Agent-based modelling ?

City
Ants
Mosquito
People
Tree
[Drogoul Treuil 2008]
More a meta-model than a model ...
flexibility of representation & nested scaling !
Agent-based modelling ?
Simple rules can produce complex emergent phenomena with simulation
Complexity Theory and Artificial Intelligence
( auto-organization & emergence)
Complex Systems
Simple rules can produce complex emergent phenomena with simulation
Complexity Theory and Artificial Intelligence
( auto-organization & emergence)
Complex Systems
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

CS
J. Ferber
[Rey 2015]


SFI
- is old in geography and SHS
- is multi-paradigm (non linear SD, CA, ABM)
- is linked to complex-system theory
- works perfectly with human and physical objects / process
- is an incremental and dynamic process which ...
- ... organise the "facilitation" of reality in order to ...
- ... answer needed researchs questions
About Practices ?
In Brief ...
KISS
KIDS
Stylised
Particular
[Sanders & Banos 2011, 2013, Banos 2013]
A wide range of practices
few rules
lot of rules
simple space
realistic space
to answer a large variety of questions ...
Examples of ABM in SHS
Why AMB in Archeology !
Exemples SMA

GAMA (gaml)
Netlogo (logo)
plateformes SMA
ou java/scala

Exemples
KISS
KIDS
Stylisé
Particulier
MicMac
"épidémiologie"
MicMac

[Banos et al. 2015]
agents = personnes & avion & villes ; couplage avec ODE
4 stratégies à explorer
2 objectifs à minimiser (écon. vs épi.)
pas de données
Question : Quel est la combinaison de stratégies (quarantaine, évitement, responsabilisation ind., protection ind.) qui permet de limiter à la fois les pertes économiques, et la diffusion de l'épidémie dans un tel système ?

~ 5/10 minutes d'exécution
1 simulation par CPU
MicMac
[Banos et al. 2015]

KISS
KIDS
Stylisé
Particulier
M03
épidémiologie
MicMac
Mo
[Maneerat et al. 2017]
3
agents = moustiques & nids
résolution inf. 1m
exécution : + 12 heures
+ 50 paramètres
1 simulation = 1 cpu
16 Go Ram
DOE : LHS sur grille EGI
500000 sim, ~20 ans calculs
Objectif : Comprendre et lutter contre l'émergence et la diffusion de la Dengue dans les milieux urbains
Moma
Mode
Momos
Micro
Macro
[Misslin 2017]
résolution 30m,
ville entière
[Daudé et al. 2017]
[Cebeillac et al. 2017]
résolution inf. 1m, quartier 10km²
paysage synthétique
agent: individu mobile avec agenda
résolution 30m,
ville entière
données: twitter
modèle
surrogate
exploration
exploration
indice env.

2011 & 2019
ou ?
comment ?
quand ?

KISS
KIDS
Stylisé
Particulier
SimpopLocal
ATP
5AD
M03
ESCAPE
risques & santé
HUME
SimFeodal
MicMac
Escape
Objectif : Le projet ESCAPE a pour objectif de développer un système d’aide à la modélisation et à la simulation d’évacuation de villes afin d’évaluer des scénarios de gestion de crise.
[Daudé et al. 2019]

2016

Trois démonstrateurs :
Rouen (risque tech),
Hanoï et val d’Authion (risque nat)

agents: automobiles, bus, piétons, organisations, etc.
mécanismes: pop synthétique, agenda, multimodalité, arbres décisions, etc.
données : traffic (voiture, transports en communs), Insee, EMD, etc.
1 simulation = 1 coeur
~ 8/16 Go Ram
+30 minutes


KISS
KIDS
Stylisé
Particulier
5AD
géo. santé
MicMac
M03
5Ad
[Cottineau et al. 2020, à paraitre]
~ 25 minutes d'exécution
~ 3 Go ram par simulation
1 core, mais multithreading possible
test : 100.000 execution
calibrage: 200.000 executions

% personnes en bonne santé
agents: personnes / 8.16 M agents mobiles, en interaction
espace: IDF à 1km x 1km
données: nombreuses, et à différentes dates (NPPS, CSP 18 catégories, OD, baromètre santé, etc.)
mesure d'inégalité entre les extrême des groupe d'éducation à sexe et âge égal
1 modèle changement d'opinion
5 paramètres
3 objectifs à minimiser
4 scénarii de mobilité (random, données, etc.)
Etudier l'effet de la segregation sociale dans l'évolution des comportements de santé sur une journée type de 24h.

Question : Arrive-t-on à reproduire de façon cohérente les données et l'inégalité de comportement de santé en fonction des groupes sociaux ?

KISS
KIDS
Stylisé
Particulier
Colodyn
Colodyn
Objectif : Explorer les processus qui conduisent un espace initialement vierge de toute présence humaine à se peupler sous l’effet d’un flux migratoire. L’objectif est d’explorer les effets de différents paramètres et de différentes situations initiales sur la configuration spatiale et le rythme du peuplement. Le processus central est celui de la migration.
Un flux de groupes migrants pénètre l’espace (grid of Cell) par le nord-ouest.
Ces groupes exploitent les ressources des cellules sur lesquelles ils sont localisés.
Face à une pénurie de ressources, le groupe se déplace.


ex : " Out of Africa"




Colodyn




moving strategy (II)
min energy
avoid competition
max energy
moving strategy (I)
Colodyn




Continuous
Front
Diffuse
R = 25
H = 30
M = 10
R = 1
H = 150
M = 10
R = 2
H = 90
M = 120
neolithic agriculture propagation
Amazonie pioneer front
Australia colonization at pleistocene
KISS
KIDS
Stylisé
Particulier
Colodyn
HUME
HUME
Objectif : Explorer les processus qui conduisent un espace initialement vierge de toute présence humaine à se peupler sous l’effet d’un flux migratoire, et cela dans un contexte de perturbations environnementales. L’objectif est d’explorer les effets de différents paramètres et de différentes situations initiales sur la configuration spatiale et le rythme du peuplement. Le processus central est celui de la migration
(HUman Migration and Environment)

Un flux de groupes migrants pénètre l’espace (représenté par une grille) par le nord-ouest. Ces groupes exploitent les ressources des cellules sur lesquelles ils sont localisés. Face à une pénurie de ressources, le groupe se déplace mais il a aussi une certaine probabilité d’innover qui lui permet de survivre tout en prélevant moins de ressources.

HUME
(HUman Migration and Environment)



src :
KISS
KIDS
Stylisé
Particulier
SimpopLocal
archéologie
5AD
M03
MicMac
SimpopLocal
Question : La production et la diffusion de l'innovation
est il un mécanisme nécessaire pour produire une hiérarchisation crédible du système de peuplement en 4000 ans au néolithique ?
agents: villes & innovations
7 paramètres libres
4 mécanismes
très peu de données en entrée/sorties
1 loi empirique à reproduire
Espace
système de peuplements

src :
SimpopLocal


SimpopLocal
1 simulation = 1 coeur
1 Go Ram
~ 5/10 minutes d'exécution
500 millions de simulation
eq. 20 ans de calculs
4000 cpu EGI Biomed
Calibration
Analyse de sensibilité
NSGA 2 - Ilôts
CP-Profile
1 simulation = 1 coeur
1 Go Ram
~ 1/2 minutes d'exécution
eq. 12 ans calcul par profil
15 jours de calculs (profil x 6)
4000 cpu EGI Biomed
[Schmitt et al. 2015]
[Reuillon et al. 2015]
réécriture modèle
1 objectif : f = max(01,02,03)
3 objectifs : (temps, forme, taille)


obj. f est impossible si 0 innovations

KISS
KIDS
Stylisé
Particulier
SimpopLocal
SimFeodal
5AD
M03
archéologie
MicMac
SimFeodal
Objectif : Il s’agit de simuler les transformations du système de peuplement Nord-Ouest européen entre 800 et 1100, période de transition d’un système majoritairement dispersé à un système hiérarchisé et polarisé.
interdisciplinarité


src :


SimFeodal

Un pas de temps de simulation (i.e. une itération du modèle) représente une durée de 20 ans, ce qui correspond approximativement à la durée de vie d’une génération à l’époque médiévale.


KISS
KIDS
Stylisé
Particulier
SimpopLocal
ATP
5AD
M03
archéologie
SimFeodal
MicMac
Rin ATP
1 simulation = 1 coeur
1 Go Ram
~ 20 minutes d'exécution
... campagne en cours ...
Objectif : Simuler pour mieux comprendre les règles de circulation des archéomatériaux (craies) depuis les carrières jusqu'aux sites de construction, en Normandie, entre le 11ème - 15ème siècle
agents: carrières et sites
espace :
données : très peu, fait stylisés & ordre de grandeurs
observable : volume par type de matériaux par type de batiments
processus
ordre de grandeurs
acteurs / objets
modèle(s)
simulation(s)
interdisciplinarité

Rin ATP


Modèle incrémental : complexification progressive des axes (espace, carrieres, monuments) pour mesurer le poids de chaque hypothèse sur les sorties du modèles.
Exploration (en cours) :
- distance moyenne parcourue par les archéomatériaux => quel paramètres pour quels patterns de distribution ?
- Calibrer distance moyenne obs. vs. simulé => quel paramètres produisent les meilleurs résultats ?
Rin ATP
interdisciplinarité

distribution "besoins"
distribution qté de batiment prioritaires
distribution qualité craie par carrières
distribution besoins pour les monuments
distribution de la capacité des carrière
population de monuments et de carrières
KISS
KIDS
Stylisé
Particulier
SimpopLocal
ATP
5AD
M03
HUME
SimFeodal
Kites
archéologie
MicMac
Desert Kites (wip)
Objectif : Modèle exploratoire pour mieux comprendre et évaluer les modes de chasses tenant compte de la morphologie des Desert kites.

Axes de complexification :
- Gazelle => algo. spécifique
- Chasseurs
- Espace
src :
KISS
KIDS
Stylisé
Particulier
SimpopLocal
ATP
5AD
M03
HUME
SimFeodal
Kites
Gerhaies
géormophologie
MicMac
GerHaies (revival)
Objectif : Explorer l'impact de différente stratégies de gestion sur l'évolution du linéaire de haies dans le territoire Normand


agents: Haies & Exploitants
2 indicateurs d'évolution
4 modes de gestion
Données réelles raster
Représentation multi-faces de chaque haie









create simulation models
in a nutshell
specific, complementary, and/or ambiguous vision of reality
Un contexte inter-disciplinaire

geographes
historiens
Ex : SimFéodal
[Cura et al. 2017]
Conceptual models
Entity
Interaction
SPACE
+ and +
... to build "Systems" answering questionS
... focus on
Sub-Systems to answer one question
Using simple words ...
... in space, time and point of view using a "virtual laboratory"
Discuss
Choosing rules, interaction between rules, observables, stylized facts, etc.
Organizing and discuting hypothesis
integrate
SIMULATEUR
substrat silicium
"reconstruction"
... in space, time and point of view using a "virtual laboratory"
Organizing and discuting hypothesis
?
?
?
!
... in space, time and point of view using a "virtual laboratory"
Organizing and discuting hypothesis
research question
... in space, time and point of view using a "virtual laboratory"
Organizing and discuting hypothesis
"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
... a good way to think ABM building and evaluation
round trip
German School in Ecology
[ see all Volker Grimm works ]
You should always start with
“null theories”
1- START with a null functional model
2 - Test the benefice of each new hypothesis to progress
"null"
"medawar Zone"

SURPRISE !
German School in Ecology
... a good way to think ABM building and evaluation
[ see all Volker Grimm works ]
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 ?
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
b) Explain the path / the choice you take during construction, for you, your team, and all others !
Building models absolutly need a systemic exploration to ...
So What ?
Ok, i see. About (b) how i organize all my models in order to reproduce, to discuss with others ?
Ok, i see. About(c), how i organize surprise and manage uncertainty in my model ?
[Cottineau2014, Rey2015, Cottineau2015, Cottineau2020, ...]
RBB (Reusable Building Block )
Better thinking modelling process ?
Incremental Modelling
Model familly
versions
Environnement
Thematic
0
3
0
1
2
2
2
2
0



Mise en oeuvre ?
“Building an automated modelling system (AMS) to explore a universe of spatial interaction models”, Openshaw 1988

The strategy of model building in biology, Lewins R., 1966
“From data crunching to model crunching: the dawn of a new era”, Openshaw 1983

HPC (High Performance Computing)
Paradigmes informatiques
Temps ! & Ingénieurs ?
[Rey2015, Cottineau2016, ...]
TP GMPCA
https://page.hn/ynngry

https://page.hn/quob0d

Analyse de sensibilité ?
"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]
next step in this workshop !
Introducing Netlogo platform
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
NetLogo
Workspace

Comment ?
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


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 ?
=

finally 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
starting homogeneous
finish heterogeneous
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 ...
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
| Tax | 0.05 | 0.10 | 0.20 | 0.30 | 0.40 |
|---|---|---|---|---|---|
| Little catastroph | resilient | ||||
| medium catastroph | |||||
| Big catastroph | |||||
| Cataclysme |

Sugarscape model
Analyse de sensibilité ?
"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]
next step in this workshop !
Example "Ants"
"random walk"
Example "Ants"
Utilisation de traces ou "phéromones"
Alignement avec les traces les plus fortes
Example "Ants"
evaporation
diffusion
t
t + 1
faible
forte
faible
forte
Example "Ants"

exemple de dynamique
Example "Ants"
Autre stratégie : Trouver tous les paramètres qui minimise/maximise la réponse à une question
Quelle valeurs de (diffusion, evaporation) minimise le temps de consommation des trois tas de nourriture ?
ticks quand
<= 0
ticks quand
<= 0
ticks quand
<= 0
trois objectifs
Example "Ants"
Mesurer le rôle de l'aléatoire dans les simulations ?
100 * médiane de 10,50,100,1000 réplications
Example "Ants"
Résultat d'une optimisation multi-critères ...
Atelier de sensibilisation ABM - GMPCA 2025
By sebastien rey coyrehourcq
Atelier de sensibilisation ABM - GMPCA 2025
- 147

