SYSTÈME MULTI-AGENTS
1. Introduction
2. Agent et multi-agents
3. Les catégories d’agents: agents cognitifs, agents
réactifs
4. La recherche sur les agents
5. Application des SMA
6. Plateformes de développement des SMA
7. Formalisation des SMA: langage UML et AML
8. SMA et modélisation
9. NetLogo : Développement d’un modèle à base
d’agents en utilisant la plateforme NetLogo
SYSTÈME MULTI-AGENTS
On appelle agent une entité physique ou virtuelle,
- qui est capable d’agir dans un environnement,
- qui peut communiquer directement avec d’autres agents,
- qui possède des ressources propres,
- qui est capable de percevoir (mais de manière limitée) son
environnement,
- qui ne dispose que d’une représentation partielle de cet
environnement (et éventuellement aucune),
- qui possède des compétences et offre des services,
- qui peut éventuellement se reproduire,
- dont le comportement tend à satisfaire ses objectifs, en tenant
compte des ressources et des compétences dont elle dispose et
en fonction de sa perception, de ses représentations et des
communications qu’elle reçoit.
Système Multi-Agents
Un système multi-agent est composé de :
1. Un ensemble d’agents qui agissent et communiquent
2. Un mode d’organisation et de coordination
3. Un point de vue de l’observateur
4. Un environnement
6. Des agents
7. Un ensemble d’interactions
8. Des méthodes pour la perception, la communication,
9. Des méthodes pour la mise à jour de l’environnement
Système Multi-agents
• Pour Weiss (1999), un agent est une "entité computationnelle", comme un programme
informatique ou un robot, qui peut être vue comme percevant et agissant de façon autonome sur
son environnement.
• On peut parler d'autonomie parce que son comportement dépend au moins partiellement de son
expérience.
• Un système multi-agents (Sma) est constitué d'un ensemble de processus informatiques se
déroulant en même temps, donc de plusieurs agents vivant au même moment, partageant des
ressources communes et communicant entre eux.
• Le point clé des systèmes multi-agents réside dans la formalisation de la coordination entre les
agents
Système Multi-agents
La recherche sur les agents est ainsi une recherche sur :
1. la décision -quels sont les mécanismes de la décision de l'agent? Quelle est la
relation entre les perceptions, les actions des agents ? Comment
décomposent-ils leurs règles et tâches ?
2. le contrôle - quelles sont les relations entre les agents?, Comment sont-ils
coordonnés ? Cette coordination peut être décrite comme une coopération
pour accomplir une tâche commune ou comme une négociation entre des
agents ayant des intérêts différents.
3. la communication - quels types de message s'envoient-ils? à quelle syntaxe
obéissent ces messages? Différents protocoles sont proposés en fonction du
type de coordination entre les agents.
Système Multi-agents
• Les systèmes multi-agents ont des applications dans le domaine de l'intelligence
artificielle
- ils permettent de réduire la complexité de la résolution d'un problème en divisant le savoir
nécessaire en sous-ensembles, en associant un agent intelligent indépendant à chacun
de ces sous-ensembles et en coordonnant l'activité de ces agents (Ferber, 1995). On
parle ainsi d'intelligence artificielle distribuée.
- Les recherches fondamentales concernent la représentation de la décision des agents,
ou les protocoles de communication. Elles s'appliquent principalement aux
télécommunications, à l'Intemet avec le commerce électronique, à des agents
physiques tels les robots. Il existe une communauté de chercheurs qui s'intéressent
aux simulations de sociétés d'agents, en écologie, en sciences sociales ou en santé
publique.
Système Multi-agents: les
catégories d’agents
• Les agents peuvent être classés en deux catégories principales
selon leur comportement et leur granularité. On parle d’agents
cognitifs et d’agents réactifs.
• Agents Cognitifs
q Un agent cognitif dispose d'une capacité de raisonnement sur
une base de connaissances, d'une aptitude à traiter des
informations diverses liées au domaine d'application, et
d'informations relatives à la gestion des interactions avec les
autres agents et l'environnement.
q Un agent cognitif se distingue par une représentation explicite
de l’environnement, possède des croyances sur les autres, des
intentions (c’est à dire des buts et des plans explicites lui
permettant d’accomplir leurs buts) et des compétences. Les
tâches demandées à des agents cognitifs relèvent, a priori, d’un
raisonnement plus compliqué que celui des agents réactifs .
•
Système Multi-agents: les
catégories d’agents
• Agents Réactifs
• Les raisonnements réflexes ou réactifs caractérisent une activité de l’agent
dans laquelle les actions sont exécutées rapidement.
• Les agents réactifs sont de plus bas niveau, ils ne disposent que d'un
protocole et d'un langage de communication réduit, leurs capacités
répondent uniquement à la loi « stimulus / action » .
• Ils ne possèdent pas de représentations de leur environnement. De ce fait
toutes les informations relatives à leur comportement se trouvent dans
l’environnement et leurs réactions dépendent uniquement de la perception
qu’ils peuvent en avoir.
• Ils ne mémorisent pas les événements passés et ne peuvent pas non plus
anticiper sur le futur .
Système Multi-agent: Agent
cognitif, Exemple
• Agents Cognitifs : exemple.
Par exemple supposons que un robot veuille fermé un télévision avec
une télécommande s'il s'agit d'un agent cognitif il pourra construire
un plan dans sa tête tel que :
• - aller jusqu’a l'endroit ou se trouve la télécommande
• - prendre la télécommande
• - Aller jusque a la télévision
• - fermé la télévision avec la télécommande
Système Multi-agent: Agent
Réactif, Exemple
• Agents réactifs : exemple
l ’objectif est de rapporter des pierres rares localisées sur une planète distante,
• sur laquelle seul les robots pourront aller.
• On ne sait pas où se trouvent ces pierres, mais on sait qu'elles y sont en tas.
• Les robots n ’ont pas de cartes de cette planète et en raison du terrain très
accidenté, ils ne pourront pas communiquer directement entre eux.
• Enfin, ils devront être capables de retourner au vaisseau pendant et après
avoir accompli leur mission. Le vaisseau émet un signal continuellement
et dans toutes les directions, son intensité permet de se guider.
Système Multi-agents:
Applications
• Plusieurs cas d’application mettent en évidence l’intérêt de
l’approche agent pour modéliser les systèmes complexes.
Ces domaines sont: l’écologie, les sciences sociales,
l’épidémiologie
• Une grande des concepts multi-agents peut être aborder pour
modéliser les systèmes complexes.
•
• Modélisation des systèmes dynamiques:
- Dynamique de transmission des maladies( cas du covid-19)
- Dynamique de la pêche des poissons
- Dynamique de gestion des ressources renouvelables
- dynamique de gestion de la pollution urbaine
- Dynamique de la gestion des accidents
Plateformes de développement de systèmes multi-agents
• AnyLogic Logiciel de simulation multi-agents et multi-méthode
• CORMAS (COmmon Resources Multi-Agent System) est un framework de développement de systèmes
multi-agents, open-source, Il est centré sur des problématiques de recherche en sciences du
développement et de négociation entre acteurs.
• JACK [est un langage de programmation et un environnement de développement pour agents cognitifs,
développé par la société Agent Oriented Software comme une extension orientée agent du langage Java.
• GAMA est une plateforme de simulation open-source proposant un environnement de modélisation à
base d'agents spatialement explicites (Utilisation de données SIG pour la description des agents et de
leur environnement). Développée par l'IRD/UPMC au sein de l'unité mixte internationale UMMISCO
• JADE (Java Agent DEvelopment) est un framework de développement de systèmes multi-agents, open-
source et basé sur le langage Java.
• Netlogo
Formalisation des modèles multi-
agents : langage UML et AML
• Deux outils qui facilitent la formalisation
- le langage UML (unified modeling language)
- le langage AML ( agent modeling language)
Ce sont des formalisations graphiques
§ La formalisation est une démarche ayant trois finalités
- l’analyse de système à étudier (utiliser un outil apte à aider
à la compréhension du système visé)
- l’abstraction permettant de ne pas être contraint par des
considérations techniques liées aux éléments de la simulation
- la génération du code facilitant le passage du modèle à
l’implémentation
q Il faut associer un langage apte à représenter l’espace et ses
contraintes
Le langage UML
• 1. Historique
• 2. Diagramme de classes( statiques)
• 3. Diagrammes d’objets
• 4. Méta-modèle
• 5. Diagramme d’activités
• 6. Diagramme d’états-transitions
• 7. Diagramme de séquences
Le langage AML( Agent
modeling Langage)
• Le langage AML permet de représenter les différentes types
d’entités intervenant dans le système multi-agent et des
simulations à base d’agents
Les agents
• Les entités principales sont des agents( entités autonomes
capables percevoir, d’interagir et d’avoir un comportement dans
son l’environnement; les agents sont dotés d’attitudes mentales
et de capacités sociales.
• Les ressources sont les entités sans comportements utilisées par
les agents
• Les environnements sont les entités dans lesquels évoluent
d’autres entités
• AML permet aussi de définir les entités rôles et organisation
• graphiquement, chaque entité est représentée par une classe UML
avec un stéréotype spécifique à l’entrée et/ou une icône qui
spécifie à quel type appartient cette entité.
Le langage AML( Agent
modeling Langage)
• Chaque entité a une liste d’attribut, une liste
d’opérations(méthodes), les parts de l’agent et des
comportements.
• Les comportements sont des actions complexes
constitués d’opérations
• Les parts
Le langage AML( Agent
modeling Langage)
Les groupes
• Les groupes n’existent pas en tant que tel en AML, on parle plutôt de organization unit
• On utilise la notion de groupe pour décrire les structures organisationnelles entre les
agents, des environnements spécifiant des arrangements sociaux entre les entités en
terme d’interactions.
• Un groupe est une notion abstraite permettant de réunir les agents partageant des
caractéristiques ou des ressources communes
• Généralement un groupe ne possède ni attribut, ni méthode
• AML permet de définir un rôle spécifique de leader pour chaque groupe
• Le rôle a un nom de meneur et le nom du groupe auquel il appartient
• Dans un groupe, un rôle aura ses parties attrtbute list, operation list et bahavior vides.
Seul la partie parts sera remplie
• Un groupe peu être composé d’agents et d’autres groupes.
Le langage AML( Agent
modeling Langage)
Les rôles
§ Existence systématique d’un rôle particulier de leader
dans un groupe d’agents
§ Il existe deux types de relation entre les entités: les
relations « pair-à- pair » et les relations
« maitre/esclave)
§ Pour représenter ces types de relations, il existe trois
types de liens.
Le langage AML( Agent
modeling Langage)
• L’environnement et les ressources
§ L’environnement est l’entité logique et physique qui
entoure toutes les entités du système
§ Les ressources( base de données, fichiers,…) sont
rattachés à l’environnement
§ La partie( parts) renommée Ressource list, contient la
ou les ressources du système
§ On ne considère pour l’environnement que les variables
globales du système comme par exemple la
température, les précipitations et les opérations qui
permettent de le modifier
Le langage AML( Agent
modeling Langage)
• Les ressources sont les entités physiques (ex : matières
premières) ou des entités informationnelles(ex base de
données). Une ressource n’a pas de parts dans sa
représentation
• Une ressource peut posseder un ou plusieurs attributs
et posseder des opérations
• Une ressource peut être une base de connaissances
• Etude d’un exemple: Transmission du paludisme par
le moustique anophèle
Le langage AML( Agent modeling Langage)
Formalisation du fonctionnement des modèles
Interactions et réactions
• Les actions et les interactions permettent de décrire la partie
dynamique du modèle
• On distingue deux types d’interactions: interactions entre agents et
d’autres agents, interactions entre agents avec l’environnement et les
ressources
• On distingue 5 types d’interactions:
– la communication: on peut citer trois types de communication, l’envoi
de messages, le tableau noir et la communication par marques (par
exemple, les phéromones). Un message peut avoir plusieurs
conséquences sur un agent : changer son état, lui faire envoyer une
réponse, lui faire effectuer une action particulière ;
– la réaction: on distingue les actions des agents et les effets que ces
actions produisent. Une action effectuée peut avoir des conséquences
sur un ou plusieurs autres agents, ainsi que sur l’environnement
Le langage AML( Agent modeling Langage)
Formalisation du fonctionnement des modèles
Interactions et réactions
• – les actions coopératives et/ou complexes : certaines actions ne peuvent être effectuées par un seul agent et
demandent une coopération entre plusieurs d’entre eux. D’un autre côté, certaines actions complexes
peuvent être divisées en plusieurs actions plus simples. C’est particulièrement le cas avec les actions dites
de haut niveau d’abstraction dont nous parlerons plus en détail plus tard ;
• – l’ordonnancement : grâce au modèle d’actions nous fournissant les dates de début et de fin de chacune des
actions effectuées, nous pouvons vérifier si un ordonnancement est possible ou non. De plus, nous pouvons
produire un ordonnancement naïf le cas échéant. Ainsi il est possible de vérifier qu’un agent n’accomplit
pas une action avant qu’une précédente ne soit terminée (par lui ou par un autre agent) ;
• – la connaissance et l’apprentissage : les agents sont capables de mémoriser, d’apprendre et de modifier
leur base de connaissances pendant l’évolution du système. Cette partie étant à elle seule un sujet très
important, ces deux notions sont très restreintes dans notre modèle et leur approfondissement fait partie des
évolutions possibles
Le protocole ODD(overview, design,
concepts and details)
• Face à la difficulté récurrente à obtenir un document complète et homogène des modèles multi-agents, un
protocole a été proposé pour décrire un modèle à base d’agents de manière plus formelle
Il s’agit du protocole ODD ( Grim et al. 06)
1. Les composants du protocole ODD
1.1 La vue d’ensemble(overview)
La vue d’ensemble est composée de trois éléments principaux.
l’objectif(purpose)
q Indiquer de manière précise et consise l’objectif du modèle. A quoi sert-il? Quelle est la
question de la modélisation abordée?
Entités, variables d’états et échelle( entities, state variables, and scale)
Quelles sont les entités représentés? Quelles sont les attributs qui caractérisent les
entités? Quelles sont les échelles spéciales et temporelles retenues?
v Les entités concernent toutes les catégories du modèle: agents, groupe d’agents,
entités spatiales, environnement global)
v les valeurs initiales sont fournies à l’initialisation du modèle
v pas d’utilisation des variables dérivées ou agrégées
v Il faut préciser la résolution spatiale des patches ou la superficie que couvre un patche
dans la réalité
v Préciser à quoi correspond un pas de temps dans le modèle et la durée de la simulation
Le protocole ODD(overview, design, concepts
and details): Processus et ordonnancement
Vue d’ensemble (suite)
Processus et ordonnancement(Process Overview and
scheduling)
Ici on décrit la dynamique du modèle.
- Comment se comporte le modèle à chaque pas de temps?
- Comment évolue l’environnement?
- Dans quel ordre est organisé la simulation
- L’ensemble des processus et la manière dont ceux-ci sont
enchainés doit être précisé.
Le protocole ODD(overview, design, concepts
and details): Processus et ordonnancement
• Les processus sont désigné par les verbes et décrivent
les actions et les réactions: exemple( courir, se
déplacer, fuir, consommer, calculer, mettre à jour)
• Il faut fournir les actions effectuées et leur ordre
d’exécution
• Il faut décrire la structure du modèle à l’aide d’une
diagramme de clase UML
• L’ordonnancement d’un processus peut être réaliser à
l’aide d’un diagramme d’activité UML.
Le protocole ODD(overview, design, concepts
and details):Les éléments de conception(Design
concepts)
1.3 Les éléments de conception(Design concepts)
• Il faut informer sur les propriétés émergentes du
modèle
• Il faut informer sur les hypothèses émises et les
capacités d’adaptation et d’apprentissage des agents
• ODD propose une liste d’tems qui renseignent sur la
manière dont les concepts sont prises en compte
Le protocole ODD(overview, design,
concepts and details): Détails
1.4 détails( details)
Après une esquisse du modèle avec ses principales dynamiques,
il faut aborder les détails techniques permettant de
réimplémenter le modèle dans son ensemble;
q ODD propose de renseigner trois éléments: l’initialisation, les
données d’entrée et les sous-modèles
Initialisation
Il faut spécifier toutes les conditions initiales de la simulation.
Combien y-a-til d’agenst? Quelle est la position initiale des
agents? Quelles sont les valeurs initiales des variales et
paramètres? Quelle est l’état de l’environnement?quelles sont
les contraintes liées à l’environnement?
Le protocole ODD(overview, design,
concepts and details): Détails
• Données d’entrée(input data)
Faire une description détaillée des données utilisées par
les différents agents
Les sous-modèles(submodels)
Il faut détailler ici le fonctionnement des processus et
leur ordre d’exécution
Si les sous-modèle s’appuient sur des théorie existante, il
faut spécifier, expliquer et faire une citation
Les systèmes multi-agents:
Exemple de Projets
Exercice 1.
En utilisant le langage AML ou le protocole ODD, Donner un modèle
de description de la dynamique du couvert végétal dans la partie sud
du Sénégal en tenant compte des facteurs climatique pour l’année
2020
Exercice 2.
En utilisant le langage AML ou le protocole ODD, Donner un modèle
de description de la dynamique du cycle de vie des moustiques
anophèles dans la région de Dakar en tenant compte des facteurs
climatique pour l’année 2020
Exercice 3
En utilisant le langage AML ou le protocole ODD, Donner un modèle
de description de la dynamique de transmission du paludisme dans la
région de Dakar en tenant compte des facteurs climatique pour
l’année 2020
Les systèmes multi-agents:
Projet
Exercice 4
En utilisant le langage AML ou le protocole ODD, Donner un
modèle de description de la dynamique de transmission du
covid-19 dans la région de Dakar en tenant compte des
mesures barrières et la vaccination.
Exercice 5
En utilisant le langage AML ou le protocole ODD, Donner un
modèle de description de la dynamique de la pollution de l’air
par les feux de brousse pour une période d’un an.
Exercice 6
En utilisant le langage AML ou le protocole ODD, Donner un
modèle de description de la dynamique de la pollution de l’air
dans la ville de Dakar sur une période d’un an.
Netlogo
• NetLogo est un langage de programmation et un environnement de modélisation pour le
développement de système multi-agents.
• Développé par l’UniversitéNorthwestern et financé par la National ScienceFoundation,
•
• NetLogo a été conçu et rédigé par Uri Wilensky, directeur de l'université de Northwestern.
•
• NetLogo est un logiciel gratuit et open source.
•
• Le logiciel a été écrit avec les langages Scala et Java et est exécuté sur la machine virtuelle Java
Travaux pratique sur la Plateforme
Netlogo
Projet
Modélisation de la transmission du covid-19 avec la prise
en compte des mesures barrières, de la vaccination et
des mutations du coronavirus.
Merci