Initiation ABM (v1)

Rémi Lemoy

Sébastien Rey Coyrehourcq

Rouen

16-17/02/2023

des 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

Beaucoup de définitions ... statique ou dynamique

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éé »

Modéliser ? Simuler ?

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.)

"simplifier" ou "faciliter" ??

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

Modéliser ? Simuler ?

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.)

fusion et/ou émergences des objectifs

[Varenne 2013]

~ 20 fonctions épistémiques qui peuvent se recouper

exemples => performance ; parcimonie ; compression d'information ; la compréhension ; la pédagogie ; co-construire ; etc ...

Modéliser ? Simuler ?

Large bibliographie en fr.

des definitions ...

... aux pratiques historiques

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]

Automates

Cellulaires

Systèmes Dynamiques
non linéaires

Historiques des pratiques

... une vieille idée en SHS ...

MC
micro-simulation 1957

[Sanders 2013, Rey 2015]

entités individuelles ?

James Doran

Archeological simulation 1970

Torsten Hägerstrand

Guy Orcutt

MC
micro-simulation 1953, 1965

bottom-up ? 

à base de règles ?

ABM, rupture ou continuité ?

Systèmes

Dynamiques

Automate

Cellulaire

Agent Based Models

game of life

ant foraging

predator-prey

encapsule

Un formalisme pour tous les réunir ?

Déjà + 20 ans de littérature ...

Src : Heppenstal, 20 years of geocomputation 2016

ABM en géographie ?

Modèle multi-agents

Echangent des messages

Réflechissent ...

Bougent et perçoivent

Evoluent dans un environnement

Agissent sur l'environnement

(plus ou moins ...)

[Ferber 1999, Drogoul 2009]

ville

fourmis

moustique

individu

arbre

[Drogoul Treuil 2008]

Modèle multi-agents

Un méta-modèle plus qu'un modèle

flexibilité de représentation & emboitement d'échelle !

KISS

KIDS

Stylisé

Particulier

[Sanders & Banos 2011, 2013, Banos 2013]

Une variété de pratiques

peu de règles

beaucoup de règles

espace simplifié

espace réaliste

Exemples SMA

GAMA (gaml)

Netlogo (logo)

plateformes SMA
ou java/scala

6 exemples

KISS

KIDS

Stylisé

Particulier

MicMac

& une grande diversité de besoins en calculs : Grille & HPC !

"é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

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

archéologie

SimFeodal

MicMac

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

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

1970-80

Alan Kay

Oriented

Object Programming

Generic
Ontology

Formalism

Evolution des paradigmes informatiques

Une variété d'influences

Carl Hewitt

Actor model

1973

Evolution des paradigmes informatiques

Une variété d'influences

Théorie de la Complexité et Intelligence Artificielle
( auto-organisation + émergence)

Une variété d'influences

Des règles simple peuvent produire des phénomènes émergents complexes avec la simulation

Théorie de la Complexité et Intelligence Artificielle
( auto-organisation + émergence)

Une variété d'influences

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]

Jacque Ferber

DAI Computer Scientist at Paris 6

Les principaux "passeurs" en 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

Une variété d'influences

  • 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

Comment on procède ?

En résumé ...

create simulation models

in a nutshell

specific, complementary,  and/or ambiguous vision of reality

Un contexte inter-disciplinaire

geographes

historiens

SimFéodal

[Cura et al. 2017]

... au sein d'un "laboratoire virtuel" spatio-temporel

Discuter

Choisir des règles, des interactions entre règles, des observations, etc.

Structurer les propositions

integrer

SIMULATEUR

 

substrat silicium

"reconstruction"

Structurer les propositions

... au sein d'un "laboratoire virtuel" spatio-temporel

?

?

?

!

Structurer les propositions

... au sein d'un "laboratoire virtuel" spatio-temporel

research question

Structurer les propositions

... au sein d'un "laboratoire virtuel" spatio-temporel

"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

... une approche pour formaliser la construction des modèles

Railsback et Al. 2012

round trip

Ecole Allemande : V. Grimm

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 !

... une approche pour formaliser la construction des modèles

Ecole Allemande : V. Grimm

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

Dépendance au chemin ?

[Cottineau2014, Rey2015, Cottineau2015, Cottineau2020, ...]

RBB (Reusable Building Block )

Perspectives méthodologiques

Modélisation Incrémentale

Famille de Modèles

versions

Agents - Env.

Agents - Agents

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, ...]

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, comment ??

... next episode in 5 sec ...

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]

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

Exploring some simple & classical models

https://page.hn/qr9czo

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

=

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

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

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

Sugarscape model

Comment ?

Une première étape pour systématiser OAT ?

=> Sensibilité Globale

un modèle simple, 

un plan d'expérience complet :

P1 x P2 x P3

P_1
P_2
P_3
O_1

500ko

3 graphiques

 sorties systématiques

Comment ?

{discreteStep}^{(\sum\limits_{i=1}^n P_i)} * replication * duree
\{ replication \in \mathbb R \mid 30 \}
\{ duree \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{graphiques} = 119790 graphiques

Durée & Volumétrie impossible à gérer

1 er problème - Explosion combinatoire

Comment ?

2 ème problème - "Curse Dimensionality"

dimensions

=

couverture à nb points égal

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 

Example "Ants"

exemple de dynamique

Example "Ants"

Le BehaviorSpace

Utilisation de traces ou "phéromones" 

Example "Ants"

Le BehaviorSpace : config 4810 simulations

Utilisation de traces ou "phéromones" 

Example "Ants"

Résultats et script disponible sur github

Example "Ants"

Mesurer le rôle de l'aléatoire dans les simulations ?

diffusionRate = 25.0
evaporationRate = 25.0
population = 125.0

x

[                                  ]

10

10

50

100

1000

S

 output : [ time_t1 ,time_t2,  time_t3]

S

x

10

 ( mediane time_tx(                       ) ) * 100

S

x

10

 ( mediane time_tx(                       ) ) * 100

S

x

50

S

x

 ( mediane time_tx(                       ) ) * 100

S

x

100

S

x

 ( mediane time_tx(                       ) ) * 100

S

x

1000

S

x

 = replications

Example "Ants"

Mesurer le rôle de l'aléatoire dans les simulations ?

100 * médiane de 10,50,100,1000 réplications

Comment ?

Une première solution,  des méthodes plus sioux.

http://reseau-mexico.fr/

Comment ?

Une deuxième solution, changer d'approche !

Organiser une mise en tension entre les
choix Input - Output

modèle

(mécanismes, paramètres)

données, patterns / faits stylisés

choix Input

choix Output

Comment ?

Des critères quantifiés pour "guider"
une exploration automatisé

Quelle mise en tension ?

choix Output

Example "Ants"

Que veut on tester/savoir ?

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

Evolutionary Algorithm

Darwin like algorithms

Evolutionary algorithms (EAs) are population-based metaheuristicoptimization algorithms that use biology-inspired mechanisms like mutation, crossover, natural selection, and survival of the fittest in order to refinea set of solution candidates iteratively.

  • Population based => perfect for HPC
  • As good for Exploration than Exploitation
  • Optimize one or multiples objectives

Advantages :

Inconvenients :

  • Greedy !
  • Black Box
  • Lot of parameters
  • Termination criteria ?

Evolutionary Algorithm

Translation to simulation

P = G_0 .. G_n

Genome contain

values of parameters

mutate & crossover
values

simulation

I_1 = G_1 + \{O_0 ... O_m \}
I_n = G_n + \{O_0 ... O_m \}
...

Importance of both
Exploration & Exploitation

Some fitness landscape to understand (1obj.)

locked on local optima

easy landscape, one global optima

blocked on local optima

jump outside local optima

Evolutionary Algorithm

Example "Ants"

Utilisation de traces ou "phéromones" 

Le Behavior Search

Disponible avec Netlogo depuis la version 6.0.1

Windows:  Run "app\behaviorsearch\behaviorsearch_headless.bat".
Mac: Run "behaviorsearch/behaviorsearch_gui.command" .
Linux: Run "./Behaviorsearch" .

Example "Ants"

Le Behavior Search

Très lent ...

Example "Ants"

Aller encore plus loin ...

"High Performance Computing"

1954 - 2017

Wait ? Really ?

1993

Accès aux ressources

( dès juin 2010 )

workflow

distribue 

rapatrie

plan

d'expérience

... de nombreux aller retours entre modèles et résultats ...

discussions hyp.

Example "Ants"

Aller plus loin encore avec OpenMOLE

Créer des "chaînes de traitements"
parallélisables, reproductibles, simples (ou complexes) sans
aucune connaissance des technologies HPC


val i = Val[Double]
val res = Val[Double]

val exploration = 
ExplorationTask(i in (0.0 to 100.0 by 1.0))

val model =
  ScalaTask("val res = i * 2") set (
    inputs += i,
    outputs += (i, res)
  )

val env = LocalEnvironment(4)

exploration -< (model on env hook ToStringHook())

Plusieurs types de plan d'expériences : Plan complet, LSH, Analyse de sensibilités, Algorithmes Evolutionnaires, etc.

Plusieurs tâches différentes !

Support de multiples technologies HPC : Cluster, grille de calcul, etc.

Langage de scripts (DSL) simple et flexible pour composer les workflow

Example "Ants"

à une optimisation multi-critères ...

Introduction-ABM

By sebastien rey coyrehourcq

Introduction-ABM

  • 243