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]
end

1928 - 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

\lambda

% of similar around me

Schelling model

What could we expect if we accept some heterogeneity ?

\lambda

=

finally 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

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 ?

Obj_1 =
Obj_2 =
Obj_3 =

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