Modélisation et Simulation Multi-Agents Cours 1

Transcription

Modélisation et Simulation Multi-Agents Cours 1
Modélisation et Simulation Multi-Agents
Cours 1 - Prolégomènes
Jean-­‐Daniel KANT Jean-­‐[email protected]
Master Informatique - ANDROIDE
UE MOSIMA –Cours 1
Plan
1. 
Présentation de l’UE
2. 
Introduction (rapide) aux SMA
3. 
Modélisation et Simulation Multi-agents des
Systèmes Complexes
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
2 / 98
1.
Présentation de l’UE MOSIMA
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
3 / 98
Objectifs généraux
➱  Comment
les Systèmes Multi-agents (SMA)
peuvent modéliser et simuler des systèmes
complexes
➱  Systèmes
naturels (humains) et artificiels
➱  Accent
sur la pratique : TME et Projets (en
binôme)
➱  Apprendre
à « penser agents »
§  Après la révolution « objet » ü 
« le génie logiciel va dans le sens d’une conception en termes d’unités en interactions » (Ferber, 1995, p.12) ü 
Agent cognitif ne se réduit pas à un objet §  Recherche et industrie MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
4 / 98
Organisation
➱  Site
du cours : http://www-ia.lip6.fr/~kant/Ens/M2/MOSIMA/
➱  Planning:
3 parties
1.  [1-­‐6] Introduction (SMA, Simulation), Méthodologie, Applications en économie et sciences sociales (comportements humains) 2.  [7-­‐12] Architectures d’agents pour la simulation, apprentissage, simulation multi-­‐niveaux 3.  [13-­‐14] Agents adaptatifs, réseaux sociaux MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
5 / 98
Évaluation
➱  2
Projets et une TME noté
Coeff.
Deadline Projet Par)e 1 45% 27 novembre Projet Par)e 2 45% Janvier 2016 TME Par)e 3 10% Janvier 2016 MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
6 / 98
2.
Introduction (rapide) aux SMA
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
7 / 98
Quel objectif pour l’IA (1/2) ?
➱  [CH]
Reproduire le plus exactement possible le
comportement humain
§  Mêmes réussites, mêmes erreurs §  Plusieurs niveaux de modélisation : biologique (neurones, etc.), psychologique, sociologique, anthropologique,… §  Evaluation = meilleure compréhension de l’homme, avancées scientiZiques §  Approche des sciences cognitives, de la simulation sociale MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
8 / 98
Quel objectif pour l’IA (2/2) ?
➱  [IA]
Donner aux machines les mêmes capacités
« intelligentes » pour résoudre des tâches
difficiles
§  Concevoir des systèmes « intelligents » au sens où ils ont des capacités proches des êtres intelligents §  La façon dont les machines réalisent ces tâches peut différer de celle des humains (ex: optimisation, calcul massivement parallèle,…) ü 
Echecs : Deep blue vs Kasparov -­‐ GO : AlphaGo vs Lee Sedol §  Evaluation = performance pour la tâche considérée §  C’est l’approche de l’I.A. ü 
IA faible : la machine simule l’intelligence humaine, a « l’air intelligente » ü 
IA forte : la machine pense véritablement, est intelligente comme un humain MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
9 / 98
[CH] Intelligence individuelle
➱  Capacités
cognitives
§  Représentation, raisonnement, pensée… §  Décision, planiZication,… §  Langage, communication,… ➱  En
lien avec les perceptions (vue,
toucher,…), les capacités d’action
(e.g. motrices = sensori-moteur), les émotions…
➱  C a p a c i t é s
d’adaptation à une
situation, un environnement
§  Apprentissage §  Intuition, compréhension (rapide),… MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
10 / 98
[CH] Intelligence collective
➱  L’intelligence
ne vient pas seulement de l’individu
➱  Des
êtres individuels « simples » peuvent
résoudre des problèmes difficiles et de façon très
efficace grâce à l’intelligence collective
§  Société d’insectes : fourmis, termites,… §  Bancs de poissons, groupe d’oiseaux §  Organisation sociale animale : insectes sociaux MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
11 / 98
[CH] Intelligence individuelle humaine
➱  Humain
= Être fondamentalement social
§  Communication, langage §  Vie en société, la Cité §  O r g a n i s a t i o n d u t r a v a i l : r é p a r t i t i o n ,
coordination,… §  Résolution collective de problèmes §  Réseaux sociaux ➱  Interactions
sociales
§  Attitudes, Opinions, Rumeurs,... §  Obéissance, Conformité, Mimétisme,… §  Impact sur les comportements ? MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
12 / 98
[IA] IA distribuée
➱  Résolution
distribuée de problème plus efficace
que centralisée
§  Optimisation : algorithmes évolutionnaires (génétiques, …), exploration / adaptation (stigmergie inspirée des forumis,…) §  Combinaison d’expertise ➱  Application
logicielles et usages distribués §  Internet, réseaux,… §  Plateformes de travail collaboratif §  Evolution vers le “pervasive computing”, l’intelligence ambiante ➱  Interaction
Homme-Machine
§  Agents assistants : avatars, conversationnels, ubiquitaires (ambiants) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
13 / 98
Systèmes Multi-Agents (SMA)
➱  Une
réalisation informatique d’une certaine
intelligence (artificielle) collective
➱  Système
composé d’agents logiciels en
interaction
➱  Les
agents sont situés physiquement, dans un
environnement ➱  Ils
➱  Les
➱  Il
communiquent entre eux, interagissent
agents sont autonomes
existe une organisation de ce SMA
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
14 / 98
J.-P. Sansonnet
Problématiques des SMA
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
15 / 98
SMA dans ANDROIDE
COCOMA
MOSIMA
EVIJV
Réalité Virtuelle
Jeux vidéos /
sérieux
Que fait un agent ?
J. Ferber (1995)
➱ 
Agit sur son environnement de façon proactive (autonome)
➱ 
Communique avec d’autres agents (e.g. envoi de messages)
➱ 
Mu par des tendances (drives)
§  Objectifs individuels, fonction de satisfaction,… ➱ 
Possède des ressources propres, des compétences et peut
offrir des services
➱ 
Est capable de percevoir (mais de manière limitée) son
environnement, ne dispose que d’une représentation
partielle de cet environnement
➱ 
Peut éventuellement se reproduire
➱ 
Capacités d’adaptation et d’apprentissage
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
17 / 98
Différents modèles d’agents
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
18 / 98
Agent réflexe simple
➱  Agent purement
réactif
➱ 
Réagit à la perception instantanée (pas d’historique, ni de mémoire)
➱ 
Règles « condition-action » simples
➱ 
Pb quand l’environnement est partiellement observable : boucle infinie
Russell & Norvig (2003) ; trad. Chaib-draa.
Exemple : agent nettoyeur
§  1 règle : « Si la zone est sale, je nettoie » => si un autre agent salit systématiquement ma zone, boucle inZinie ! ➱ 
Bandai BN-17 robot
Seul moyen d’y échapper : actions aléatoires
Exemple : nettoyeur: je décide aléatoirement de ne pas nettoyer / de changer de zone MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
19 / 98
Agent réflexe avec modèle
➱ 
Mieux adapté à un monde
partiellement observable
➱ 
Maintient (1) un état du monde
qui peut être perçu et (2) l’état de l’agent dans ce monde
Russel & Norvig (2003) ; trad. Chaib-draa.
§  Connaissances sur l’état du monde (indépendamment de l’agent) §  Connaissances sur l’impact des actions de l’agent sur le monde §  On doit donc modéliser l’environnement et l’internaliser au sein de l’agent ! Exemple : agent nettoyeur
§  Quand je nettoie la zone, [impact monde] un agent vient la salir donc Je ne nettoie plus ! ü  Ou mieux je signale cela à mon superviseur ü 
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
20 / 98
➱ 
Agent avec buts
avec modèle
Etend l’agent
➱ 
Ajout de buts = états / situations désirables
➱ 
Dans le processus de sélection d’une action, on choisit celle qui se rapproche le plus du but
➱ 
Russel & Norvig (2003) ; trad. Chaib-draa.
Architectures plus élaborées (e.g. BDI)
Exemple : agent nettoyeur
§  [1er but = se recharger] « J’ai besoin de me recharger bientôt donc je me rapproche d’une zone avec prises » §  [2ème but = ne pas tomber en panne] « Et en plus j’y vais lentement pour économiser mes batteries (s’ils elles sont très faibles) » Parfois, les buts sont en conZlits ! MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
21 / 98
Agent avec utilités
➱ 
De l’anglais « utility » (faux ami)
➱ 
Etend l’agent avec buts
➱ 
Avec buts = binaire :
état but/ non but
Russel & Norvig (2003) ; trad. Chaib-draa.
➱ 
L’utilité est une fonction qui permet de mesurer l’attractivité (la
« désirabilité ») d’un état, la satisfaction de l’agent
➱ 
Si plusieurs actions sont possibles, je choisis celle qui a la plus grande
utilité (e.g. WorkSim)
Exemple : agent nettoyeur
§  Si Utilité (ne pas tomber en panne) > Utilité (se recharger) ü 
Ma batterie est proche de 0, je m’arrête et envoie un signal d’alarme MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
22 / 98
➱ 
Agent apprenant
Avantage dans
un environnement
inconnu
➱ 
Complète ses connaissances, affine ses règles
➱ 
Fonction de critique
§  Évalue les performances actuelles, si l’agent agit « bien » §  Standard Zixe de performance ➱ 
Russel & Norvig (2003) ; trad. Chaib-draa.
Module d’apprentissage
§  Propose des changements, de nouveaux buts, pour améliorer les perfs ➱ 
Module de performance
§  Un agent à lui tout seul (e.g. 4 formes précédentes) ➱ 
Générateur de problèmes
§  Suggestion d’actions pour faire de l’exploration §  Vision à moyen-­‐long terme Exemple : agent nettoyeur
§  Je trouve un chemin qui économise mes batteries => nouveau but §  J’apprends à localiser les nouveaux points de recharge MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
23 / 98
Exemple agent réactif / cognitif
J.-P. Sansonnet
Réactif
J.-P. Sansonnet
Cognitif
J.-P. Sansonnet
Définir un SMA
Un SMA est défini comme (A,E,I,O,U)
Approche Voyelles, Demazeau(1997)
1. 
Un ensemble B d'entités plongées dans un environnement E
2. 
Un ensemble A d'agents avec A ⊆ B
3. 
Un système d'action (opérations) permettant à ces agents
d'agir dans E
4. 
Un système de communication entre Agents (envoi de
messages, diffusion de signaux,…(I comme interaction)
5. 
Une organisation O structurant l'ensemble des agents et
définissant les fonctions remplies par les agents (notion de rôle
et éventuellement de groupes)
6. 
Eventuellement: une relation à des utilisateurs qui agissent
dans ce SMA via des agents interfaces U ⊆ A
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
27 / 98
Schéma générique
Ferber(1995)
(Artifacts)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
28 / 98
Interactions
➱ 
« Mise en relation dynamique de deux ou plusieurs agents
par le biais d’un ensemble d’actions réciproques » (Ferber,
1995, p.77)
➱ 
Formes très variées : §  Indépendance, simple perception §  Communication, Coopération, collaboration §  ConZlit ➱ 
Méthodes de coopération
§  Communication §  Spécialisation, Partage des tâches et/ou de ressources §  Coordination d’actions : centralisée, distribuée ➱ 
Résolution de conflits
§  Négociation, arbitrage, consensus,… MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
29 / 98
Typologie des interactions
J.-P. Sansonnet
(Stigmergie)
Organisations
Ferber(1995)
➱  Décrit
les rôles, les groupes, les interactions au sein d’une entité
➱  Reproduire
une organisation réelle (e.g. entreprise)
➱  Améliorer
➱  Peut
les performances
comporter plusieurs niveaux
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
31 / 98
Différents Niveaux
Projet JaCaMo
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
32 / 98
Environnement
➱ 
Contexte dans lequel évolue les agents
§  Support commun aux actions, règles du jeu,… §  Permet l’interaction §  Source d’information ➱ 
Agents réels (e.g. robots) §  environnement = milieu réel (physique) ➱ 
SMA (logiciel) : il doit être modélisé §  Agents §  Entités passives (objets, artifacts (Omicini et al. 2008),…) §  Ressources ➱ 
Environnement logiciel (couches basses, middleware,
applications)
➱ 
Un domaine de recherche (Cf. Conférences E4MAS)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
33 / 98
Concevoir un SMA
Drogoul 2005
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
34 / 98
Implémentation des SMAs
➱ 
En général des programmes assez longs, avec des problèmes
spécifiques (e.g. parallélisme, synchronicité, interactions,...)
➱ 
Grande variété de langages possibles §  Le paradigme orienté-­‐objet est souvent privilégié (e.g. autour de Java ou Python) §  De nombreuses plateformes existent (e.g. JASON, JADE, Repast, CorMAS, Netlogo, Mason, Madkit, JaCoMo, etc.) ➱ 
On doit définir une topologie d’interaction (i.e. environnement
spatial, réseau social,…) pour savoir comment les agents
communiquent
➱ 
On doit définir des mécanismes pour activer (proactivement) les
agents, les créer, déployer et démarrer une simulation, les
regrouper ou les dissocier (dynamiquement), etc.
➱ 
Des objets permettent de visualiser le SMA, de récupérer et
stocker des données
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
35 / 98
Bibliographie introductive pour les SMA
Ferber, J. (1995), Les Systèmes Multi-Agents, Inter Editions.
(épuisé, en ligne)
Michael Wooldridge (2002), An Introduction to MultiAgent Systems, John
Wiley & Sons Ltd
Gerhard Weiss (1999), editor, Multiagent Systems, A Modern Approach to
Distributed Artificial Intelligence, MIT Press, 1999
S. Russell & P. Norvig (2003), Artificial Intelligence: A Modern Approach
(2nd ed.)
3.
Modélisation et Simulation Multi-agents
des Systèmes Complexes
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
37 / 98
3.1 Systèmes Complexes
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
38 / 98
Système
➱  « ensemble
structuré d’éléments naturels de la même espèce ou de la
même fonction » (Robert)
➱  Système
dynamique
§  Les interactions au sein du système modiZient son état ; e.g. : système climatique ➱  Les
systèmes naturels sont ouverts (au sens
thermodynamique) :
ils entretiennent en
permanence des échanges (matière et énergie)
avec leur milieu environnant
➱  Besoins
de modélisation ➯ sous-systèmes fermés
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
39 / 98
Complexe
➱  Définition
du Robert:
§  Latin complexus = fait d’ éléments imbriqués §  « composé de divers éléments hétérogènes » §  Fait d’un grand nombre d’entités en interaction ➱  Imprévisibilité
§  Absence d’un déterminisme latent qui permettrait de prédire par le calcul l’avenir du système §  La complexité du phénomène entraîne celle du modèle qui cherche à en rendre compte, et en limite les pouvoirs explicatifs et prédictifs MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
40 / 98
Le compliqué n’est pas le complexe !!
« La complexité n’est pas la complication : ce qui est
compliqué peut se réduire à un principe simple comme
un écheveau embrouillé en un nœud de marin […] Le vrai problème n’est donc pas de ramener la
complication des développements à des règles de base
simple. La complexité est à la base. »
Edgar Morin, La Méthode, T.I, 1977 (cité par Le Moigne,1990)
« Un système compliqué, on peut le simpli9ier pour découvrir son intelligibilité » Exemple : un programme informatique mal écrit et/ou de grande taille « Un système complexe, on doit le modéliser pour construire son intelligibilité » Le Moigne,1990 Et parfois on n’arrive pas à le modéliser complètement ➱ Recours à la simulation (on y reviendra) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
41 / 98
Du compliqué au complexe
A. Reinhard
Exemple « simple »
➱  Pendule
simple = système simple,
entièrement prévisible
http://www.sciences.univ-nantes.fr/sites/genevieve_tulloue/Meca/Oscillateurs/pend_pesant1.html
➱  Pendule
double : facilement chaotique
wikipedia pendule http://fr.wikipedia.org/wiki/Pendule_double
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
43 / 98
The final frontier… the space of Internet
(yet another complex system…)
source
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
44 / 98
Complexité et taille du système (1/2)
➱  Les
systèmes de grande taille ne sont pas
nécessairement complexes
§  Mécanique classique (newtonienne), mécanique des Zluides §  Réactions chimiques à l ’équilibre ü 
Dissolution du sucre, cuisine, … MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
45 / 98
Complexité et taille du système
➱  Mais
: réactions chimiques loin de l’équilibre =
systèmes complexes
§  émergences (e.g. horloge chimique) Cf. Prigogine §  Quelques équations font émerger du chaos (déterministe) §  Exemple suite logistique xn+1=μ.xn.(1-­‐xn) §  Si μ=3,57 : attracteur chaotique fractal MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
46 / 98
De nombreux systèmes réels sont complexes
➱  Cerveau
➱  Climat
➱  Univers
➱  Internet
➱  Tout
ce qui a trait à l’humain, aux SHS !!
§  Economie, Sociologie §  Exemple paradigmatique : La crise Zinancière a totalement échappé aux modèles mathématiques de la Zinance !! MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
47 / 98
Les marchés financiers…
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
48 / 98
3.2 Modélisation
G. Baret
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
49 / 98
Au fait, c’est quoi un modèle ?
➱ 
Modèle = composition de symboles
(naturels, mathématiques, informatiques,…)
➱ 
Objectifs :
§  Rendre intelligible un phénomène perçu comme complexe §  Rendre possible la simulation et les prédictions ➱ 
Popper (1973) :
§  Un modèle est une abstraction qui simpliZie le système réel étudié §  Un modèle doit avoir un caractère de ressemblance avec le réel ➱ 
Minsky (1965) : un modèle A* de A permet à un observateur de
répondre à des questions qui l’intéressent sur A
➱ 
Coquillard et Hill (1997) : « un modèle doit reproduire le
comportement du système réel, et ce, en fonction des objectifs
fixés (la problématique du problème) pour le cadre de l’étude » MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
50 / 98
Normatif / Descriptif
➱ 
Modèle normatif
§  Monde artiZiciel qui sert de « norme » §  Une prescription de ce qu’il faudrait idéalement faire ü 
➱ 
Ex : optimisation, raisonnement logique Modèle descriptif
§  Décrire la réalité telle qu’on la perçoit, en fonction des connaissances du moment §  S’appuie sur des faits (parfois stylisés), des données, des théories,… §  Plus délicat en SHS, problème des observables §  Ne cherche pas à rationaliser ou optimiser ü 
Si les humains font des erreurs, on doit les reproduire ! MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
51 / 98
Explicatif
Modèle explicatif
➱  Complète le descriptif (quoi ?) en fournissant des
explications (comment ?) sur les phénomènes
modélisés
➱  Très important, par exemple pour l’aide à la
décision
§  Il faut comprendre les résultats de la simulation avec d’agir éventuellement suivant ses « prédictions » §  “Prédire n’est pas expliquer” (René Thom) §  “Not All Explanations Predict Satisfactorily, and Not All G o o d P r e d i c t i o n s E x p l a i n “ ( T r o i t z s c h 2 0 0 9
http://jasss.soc.surrey.ac.uk/12/1/10.html) ➱  Problème
de l’analyse d’une simuMA (cf. séance 5)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
52 / 98
On peut combiner les 3 (ex. en IA)
RIBA (RIKEN)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
Normatif et descriptif (imitation)
53 / 98
Modèle mathématique
➱ 
Fondé sur le corpus des théories mathématiques
§  Idée qu’il existe un formalisme mathématique adapté au problème ➱ 
Approche dominante en sciences, notamment en économie
§  « peut-­‐on faire de la vraie science sans mathématiques ? » ➱ 
Approche analytique (équations)
§  Modèles déterministes (équations différentielles, monde continu) §  Modèles stochastiques (Systèmes markoviens) §  Modèles formels (ex: logique) §  Simulation numérique= mise en œuvre (calcul) de ce formalisme, résolution des équations ➱ 
Plutôt associé à une approche normative
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
54 / 98
Limites de l’approche
mathématique (1/3)
« Comment est-il possible que la mathématique, qui est un
produit de la pensée humaine et indépendante de toute
expérience, puisse s’adapter d’une si admirable manière aux
objets de la réalité ? La raison humaine serait-elle donc capable,
sans avoir recours à l’expérience, de découvrir par la pensée
seule les propriétés des objets réels ?
À cette question il faut, d’après mon avis, répondre de la façon
suivante : Pour autant que les propositions de la mathématique
se rapportent à la réalité, elles ne sont pas certaines, et pour
autant qu’elles sont certaines, elles ne se rapportent pas à la
réalité »
A. Einstein, La Géométrie et l’Expérience, 1921
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
55 / 98
Limites de l’approche mathématique (2/3)
➱  Réalisme
?
§  Individu représentatif : quid de l’hétérogénéité ? §  Souvent une approche « boîte noire » §  Interprétation des paramètres ➱  Approche
globale
§  « La complexité impose une vision locale » (Ferber, 1995) §  Analyse globale parfois impossible §  Approche locale plus efZicace ex : contrôle du traZic aérien – coordination multi-­‐agents décentralisée MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
56 / 98
Limites de l’approche mathématique (3/3)
➱  Un
seul niveau d’analyse
§  Micro ou macro §  Très difZicile / impossible de représenter des liens entre niveaux différents, des problèmes multi-­‐échelles / multi-­‐
granularité, des niveaux hiérarchiques, des organisations… ➱  Ne
représente pas des comportements, seulement
des résultats
§  Variation des variables (prix, quantités,…) §  DifZiculté à modéliser les actions des individus (e.g. décisions), et les modiZications induites de l’environnement (circularité, réZlexivité) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
57 / 98
Modèle informatique
➱ 
Définir le système à modéliser
§  Ses Entités §  Les Données (information) §  Les Processus de traitement de ces données §  Les Flux, les échanges d’informations, entre les entités ➱ 
A la fois une représentation conceptuelle et une prescription pour programmer et simuler le système
§  Algorithmes, Modélisation (e.g. UML) ➱ 
Met l’accent sur (≠ modèle mathématique)
§  La localisation (des données, des processus) §  Les traitements de l’information, y compris symbolique §  Les échanges, les interactions ➱ 
Versatile : normatif (ex. IA/RO), descriptif et/ou explicatif
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
58 / 98
Intérêt pour l’étude des Systèmes Complexes
« Le modèle, ensemble d'équations, d'interfaces, de données qui s'est transformé en logiciel, constitue un système de substitution au système réel, dont on n'a pas de théorie complète, et qui permet de faire des expériences 9ictives, pour comprendre le jeu complexe de ses interactions. » (p. 117) « Et ces expériences 9ictives constituent bien une méthodologie de rechange, par rapport à la méthode hypothético-­‐déductive aussi bien que par rapport à la méthode expérimentale, dans le cas des systèmes complexes » (p. 117) M. Armatte, La notion de modèle dans les sciences sociales, 2005
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
59 / 98
Analytique vs Agents
D’après Axtell (2006)
Approche analytique Approche agents Information globale, contrôle centralisé Information locale, réseaux, contrôle distribué Programmation mathématique, fonctions de variables numériques Représentations informatiques variées, programmation riche (e.g. orientée objets) Décision (néoclassique) : optimisation Décision : économie d’une utilité sous contraintes comportementale (psychologie) comportements variés (e.g. rationalité limitée,…) Economie : marchés (Arrow-­‐Debreu) = vecteur de prix unique Marchés décentralisés = prix hétérogènes Avantages de l’approche agents
➱  Hétérogénéité
des agents
D’après Axtell (2006)
§  L’ «agent représentatif», individu-­‐moyenne, est insufZisant ; il faut implémenter une distribution des comportements ➱  Rationalité
limitée
§  La rationalité impliquée par les modèles classiques (optimalité…) n’est pas atteignable (NP-­‐complet) dès que l’environnement devient non trivial ➱  Interactions
variées, hétérogènes
§  Peuvent se fonder sur des observations réelles, contrairement aux approches idéalisées ➱  Met
l’accent sur la dynamique des modèles
§  Approche « constructive » ü 
le comportement est construit par des opérations locales élémentaires ≠ boîte noire §  Riche : équilibres ou pas d’ équilibres MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
61 / 98
Inconvénients de l’approche agents (1/2)
➱  Robustesse
des résultats
§  Des erreurs de codage peuvent donner lieu à de fausses corrélations ou résultats ü 
Programme complexe ! §  Les SMAs entraînent généralement une multiplication des paramètres ce qui rend la mise au point délicate ➱  D i f fi c u l t é
à analyser les
comportement de la simulation
résultats,
le
§  Avantage des mathématiques : donne (par avance, par démonstration) les résultats possibles et comment on les obtient §  Comment expliquer les résultats émergents à partir des comportements de (nombreux) agents ayant eu de nombreuses interactions ü 
C’est même un domaine de recherche ! (Cf. séance 5…) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
62 / 98
Inconvénients de l’approche agents (2/2)
➱  Evaluation
de la simulation
§  Pas de méthodologie générale pour évaluer le résultat d’une simulation MA §  Très grande sensibilité aux paramètres inhérents au calcul ü 
Réseaux d’interactions ü 
Mode de déroulement (e.g. séquentiel vs. Aléatoire) ü 
Modes de calcul (e.g. générateurs aléatoires) ➱  Absence
de standard pour les plateformes
de simulation MA
§  Rend la comparaison entre modèles, entre travaux, plus difZicile MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
63 / 98
Confronter le modèle au réel (1) :les données
© Paulo Brandao
Il faut les trouver !!
➱  Niveau global / macro (agrégées)
➱  Niveau
individuel / micro (comportements)
§  Plus difZicile !! ➱  Faits
stylisés
§  « constat d’ordre empirique, généralement non quantiZié, mais jugé représentatif du fonctionnement de l'économie » (econo.free.fr) ➱  Questionnaires
et enquêtes
§  Problèmes : coûts, représentativité, conZidentialité MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
64 / 98
Confronter le modèle au réel (2) : les paramètres
➱  Estimation
§  On mesure un paramètre sur un échantillon §  On construit un estimateur de ce paramètre à partir de cet échantillon ü 
Exemple : la moyenne §  On estime aussi l’erreur : intervalle de conZiance §  La qualité dépend de la taille de l’échantillon et de celle de l’estimateur ➱  Calibration
§  « estimation par simulation » §  Sélection d’un ensemble de caractéristiques mesurables dans la population réelle et dans la simulation ü 
E.g. taux de chômage pour la marché du travail §  Algorithme de minimisation de la différence MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
65 / 98
Couplage modèles maths/info (1/3)
Couplage faible :
programmeur
Maths
(ou autre)
l’informaticien
§  Informatique = programmation du modèle mathématique §  Informatique = simple outil d’implémentation, Maths = unique moyen de modélisation §  C’est le cas de la simulation numérique d’un modèle à équations Programme Modèle Simulation
Informatique
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
66 / 98
Couplages maths/info (2/3)
Couplage moyen: parallèlisation. Le mathématicien aide
§  À calibrer le modèle sur des données (optimisation), à le valider par estimation (e.g. analyses statistiques) §  À concevoir le modèle en proposant un modèle normatif simpliZié (e.g. agrégé) pour étudier certaines dynamiques, effets de paramètres ü  proposer un comportement “idéal” de référence ü  prédire son comportement, ses propriétés ü 
a.
m
r
o
n
èle mod
f Maths
Calibration
Validation
Modèle Programme Informatique
Simulation
Couplage maths/ info (3/3)
Couplage fort : coopération §  La complémentarité entre maths en info est utilisée pour construire le modèle, en plus de la calibration et validation §  Problème délicat : cela peut rendre le modèle normatif ü 
➱ 
Il faut faire le tri Aller plus loin : cf. e.g. Treuil et al., 2008
on .
c
u
r
t
cons
Maths
Calibration
Validation
Modèle Programme Informatique
Simulation
Comparer les maths et l’informatique: cela a-t-il du sens ?
➱ 
Kleene’s Church-­‐Turing Thesis (Kleene, 1967) Alonzo Church
§  Church’s Thesis : « Every effectively calculable function (effectively decidable predicate) is general recursive » Alan Turing
§  Kleene’s Theorem XXX: « The following classes of partial functions are coextensive, i.e. have the same members: (a) the partial recursive functions, (b) the computable functions. . . ». §  Turing's thesis: « every function which would naturally be regarded as computable is computable under his de9inition, i.e. by one of his machines » §  Kleene : « Turing's thesis is equivalent to Church's thesis by Theorem XXX » ➱ 
Tout algorithme peut s’exécuter de façon équivalente par une machine de Turing, une fonction récursive ou un λ-­‐calcul ➱ 
Equivalence entre programme informatique et fonctions mathématiques ? (Tout ce qui est calculable s’exprime formellement) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
69 / 98
Objections !
➱  Objection
1 : Ce n’est qu’une thèse !
§  i.e. non prouvée §  Certaines fonctions sont prouvées comme équivalentes à une machine de Turing, certaines non (e.g. fonction d’arrêt ; Copeland, 2003) ➱  Objection
2 : Et alors ?
§  Même si la thèse est vraie, cela ne veut pas dire que les modèles informatique et mathématiques sont de même nature §  Equivalence ≠ identité §  Ce sont deux approches différentes (styles différents) pour aborder une réalité complexe (et pas au même niveau) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
70 / 98
3.3 Simulation multi-agents
Second Life
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
71 / 98
Apports de la simulation
➱  Modélisation
par simulation
Treuil et al. 2008
§  Aider à mettre au point un modèle, explorer sa dynamique ➱  Démarche
heuristique de recherche
§  Développer des hypothèses, afZiner des théories, sans lien direct avec un système « réel » ➱  Substitut
à l’expérimentation
§  « In silico » quand ce n’est pas possible in vivo ➱  Accompagnement
de l’expérimentation
§  Ex : simulation participative MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
72 / 98
Processus de modélisation S. Thiriot
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
73 / 98
Processus de modélisation
S. Thiriot
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
74 / 98
➱  Empirique
Simulation multi-agents
2 approches
§  se rapprocher du réel : schéma précédent §  Conception, implémentation, vériZication, validation §  Lien avec la/les discipline(s) d’origine et ses chercheurs : il faut que cela apporte quelque chose (e.g. explication, prédiction,…) ➱  Normative
§  Création d’un monde artiZiciel (e.g. ArtiZicial societies, Epstein & Axtell, 1996) §  Pas de monde réel comme cible §  Laboratoire virtuel où l’on fait se développer in silico des structures sociales (comportements, institutions,…) §  Trouver les mécanismes fondamentaux sufZisants pour les faire émerger MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
75 / 98
Ce qu’il faut pour la Simulation (2/2)
➱  Concevoir
le modèle
§  Utiliser UML ou autre formalisme adapté (pseudo-­‐code,…) §  I n c orp ore r he u ri st i q u e s, a l g ori t hm e s, m odè l e s mathématiques ➱  Développer
tester,…)
➱  Déployer
le code (programmer, déboguer,
la simulation
§  Initialiser les agents (à partir de données, ou au hasard) §  Fixer les paramètres ➱  Contrôler
la simulation
§  Visualiser pour suivre le déroulement §  Arrêter, reprendre, modiZier les paramètres en temps réel MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
76 / 98
Ce qu’il faut pour la Simulation (2/2)
➱  Evaluer
/ Valider les résultats
§  Interpréter (qualitatif), mesurer (quantitatif) §  Il faut se donner des critères d’évaluation ü 
Simplicité, utilité, pouvoir descriptif, explicatif, prédictif, nouveauté… ü 
C o h é r e n c e ( n o n c o n t r a d i c t i o n ) , c o n v e r g e n c e (reproductibilité),… §  Comparer avec d’autres MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
77 / 98
Cohérence numérique ➱  Fondamental
: l’implémentation ne doit pas
influencer les résultats
➱  Vérifier
la cohérence avec le problème, choix
importants. §  Pas de temps ou d’espace dans les modèles discrets ü 
1 tick dans la simulation = combien de temps dans la vie réelle ? §  Synchronisation des agents (ou pas) §  Ordre d’activation §  Problème des générateurs aléatoires: robustesse, reproductibilité ➱  Analyse
de la cohérence est difficile à mener
§  Pas de méthode « standard » §  Mais il ne faut pas l’oublier ! MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
78 / 98
Exemples de Simulation MA
Most Clés à rechercher : Multiagent simulation, agent-based simulation, simulation multi-agents, simulation
multiagents,…
➱ 
Biologie , dynamique des populations
ü 
ü 
➱ 
Poissons : Le Page, Le Fur…; fourmis : Drogoul (MANTA), Deneubourg ; autres insectes : Bonabeau (guêpes), Chevrier (araignées),… Maladies : AIDS, Dengue (Savsim :Amouroux et Drogoul), Cancer (Brown et al., 2011) Simulation urbaine : Projet Terra Dynamica (LIP6, Corruble et Sabouret), Vanbergue (SimBogota), Sanders,
Gil-Quitano…
➱ 
Ecologie : Bousquet (Cormas), Commod, Drogoul (IRD), Deffuant (LISC), Ferrand (CEMAGREF) …
➱ 
Economie : ACE (http://www2.econ.iastate.edu/tesfatsi/ace.htm), MAGECO (http://mageco.lip6.fr/), WorkSim (Kant et al., LIP6),…
➱ 
Sciences sociales, comportements humains : Projet SMACH (EDF, N. Sabouret), structures sociales (Epstein
& Axtell), processus sociaux (Vanbergue 2000), influence sociale (Amblard), anthropologie (Doran & Gilbert ,
Kohler & Carr), organisations d'entreprises (Pakula, Carley & Gasser, Cowan, …), comportements collectifs
(foules, etc.) (Herbling), gestion des ressources renouvelables (Bousquet), normes et lois (R. Conte), COBAN / HappyWork / POLIAS (Kant et al., LIP6)…
➱ 
Robotique collective : RoboCup, RoboCup Rescue
➱ 
Gestion de crises, catastrophes naturelles (évacuation, secours,…), attaques terroristes (e.g. bactériologiques)
(DARPA)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
79 / 98
Jeux & Simulation
➱  Jeux
Vidéo
§  Se divertir §  Parfois très réaliste (e.g. SimCity) ➱  Jeux
Sérieux
§  Finalité : apprentissage, formation, sensibilisation §  Moyen : réalisme, ludique parfois, pédagogie ➱  Simulations
§  Etude du réel (complexe) §  Compréhension, analyses §  Aide à la décision (e.g. politique) ➱  Des
interactions entre ces 3 domaines !
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
80 / 98
Simulation participative
➱  Entre
simulation et jeux sérieux
➱  Des
agents humains interagissent avec les agents
logiciels (par exemple leur propre rôle)
➱  2
propriétés (Guyot, 2006) :
§  Les agents logiciels participent à la simulation comme les humains (ne sont pas des fournisseurs de services) §  Les humains interagissent à travers le SMA comme des agents ➱  Les
agents logiciels permettent de reproduire et
d’analyser les comportements des joueurs
§  Couplage MAS / RPG (Barreteau, Bousquet) §  Résolution collective, économie expérimentale (Guyot) MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
81 / 98
Exemple de simulation participative
Jeu de rôle : Rivière du Grand Morin - N. Becu
vidéo : https://plus.google.com/+NicolasBecu/posts/c3xxN7uuWDJ
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
82 / 98
Aller plus loin
Conférences :
ESSA, WCSS, AAMAS, Computational
Economics, SimuTools, MAGECO…
Revues : JASSS, Computational Economics,
JEBO, JEDC, CMOT,…
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
83 / 98
Cas n°1: Proie-prédateur :
De Lotka-Volterra aux agents
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
84 / 98
Quel modèle mathématique (le plus simple) proposez-vous ?
➱  Système
? (agents, environnement)
➱  Taux
de chaque population : N proies, P prédateurs
➱  Equations
? Paramètres ?
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
85 / 98
Modèle de Lotka - Volterra
➱  L o t k a
(biophysicien, 1925) et Volterra
(mathématicien, 1926)
➱  Taux
de Proies (N) et de Prédateurs (P) :
dN
= r1.N − k1.P.N
dt
dP
= −r2 .P + k2 .N.P
dt
➱  4 Paramètres :
§  r1 taux de reproduction des proies en l’absence de prédateurs §  r2 taux de mortalité des prédateurs en l’absence de proies §  k1 taux de mortalité des proies à cause de prédateurs §  k2 taux de reproduction des prédateurs en fonction des proies mangées MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
86 / 98
Etude du système LV
➱  Equilibre
?
P. Francour
dN
=0
dt
⇔ Peq =
r1
k1
dP
=0
dt
⇔ N eq =
r2
k2
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
87 / 98
Etude du système LV (2)
P. Francour
P. Francour
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
88 / 98
Le modèle LV est-il réaliste ?
➱  Nombreuses
avec LV
données réelles sont inconsistantes
§  Ex : protozoaires : le prédateur tue toutes les proies puis meurt, pas de cycle ➱  Fonctionne
assez bien en laboratoire si on
manipule les densités (ensemencement en proies)
ou l’hétérogénéité spatiale.
➱  Peu
d’accord avec les fluctuations naturelles
➱  Exception
pour des systèmes “simples” comme le couple « lynx et lapin »
P. Francour
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
89 / 98
Un modèle trop simple
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
P. Francour
90 / 98
Passons aux Agents !
➱  Quels
sont les agents ?
➱  Environnement
➱  Que
?
font-ils ?
➱  Quelles
sont leurs interactions ?
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
91 / 98
Modèle SMA proie-prédateur
➱ 
Approche individu-centrée de U. Wilensky & Reisman (1997,1999)
§  Modèle Wolf Sheep Predator dans Netlogo ➱ 
Deux variations:
1.  « In the 9irst variation, wolves and sheep wander randomly around the landscape, while the wolves look for sheep to prey on. Each step costs the wolves energy, and they must eat sheep in order to replenish their energy -­‐ when they run out of energy they die. To allow the population to continue, each wolf or sheep has a ;ixed probability of reproducing at each time step. This variation produces interesting population dynamics, but is ultimately unstable. »
[unstable => une espèce meurt (voire les 2)] 2.  « The second variation includes grass (green) in addition to wolves and sheep. The behavior of the wolves is identical to the 9irst variation, however this time the sheep must eat grass in order to maintain their energy -­‐ when they run out of energy they die. Once grass is eaten it will only regrow after a ;ixed amount of time. This variation is more complex than the 9irst, but it is generally stable. » MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
92 / 98
Code Netlogo : Initialisation
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
93 / 98
Code Netlogo : boucle (1/2)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
94 / 98
Code Netlogo : boucle (2/2)
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
95 / 98
Comparaison : Lotka-Volterra vs WSP
NON, pas avec option « grass »
NON et NON
NON (selon paramètres)
NON (énergie)
NON (reproduction)
NON
NON
OUI
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
96 / 98
➱  Le
Conclusion sur Proie-Prédateur
modèle à agents est plus complexe, plus proche
de la réalité que LV
➱  Les améliorations se font plus facilement dans un
cadre « agents »
§  Hétérogénéité, représentation de l’environnement, dimension spatiale §  Comment modéliser la reproduction dynamique (dépend de l’énergie qui dépend de l’histoire de l’agent) avec des équations ? ➱  Avantage
modèle individu centré : pouvoir être
alimenté avec des données individuelles ➱  Mais il faudrait encore le complexifier d’avantage
pour s’approcher de la réalité
➱  Projets
…
: dynamique des populations, épidémiologie,
A suivre…TME Séance 2
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
97 / 98
Pour la semaine prochaine…
… apprendre Netlogo
http://ccl.northwestern.edu/netlogo/
Faire les tutoriaux et étudier la doc :
http://ccl.northwestern.edu/netlogo/docs/
MOSIMA – Cours 1 – J.-D. Kant – 19/09/16
98 / 98