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
% 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
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
500ko
3 graphiques
sorties systématiques
Comment ?
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 ?
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
Genome contain
values of parameters
mutate & crossover
values
simulation
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