|
{revue}
Un système multi-agent (SMA) est un système composé d'un ensemble d'agents, situés dans un certain environnement et interagissant selon certaines relations. Un agent est une entité caractérisée par le fait qu'elle est, au moins partiellement, autonome. Ce peut-être un processus, un robot, un être humain, etc. Objet de longue date de recherches en intelligence artificielle distribuée, les systèmes multi-agents forment un type intéressant de modélisation de sociétés, et ont à ce titre des champs d'application larges, allant jusqu'aux sciences humaines.
Origine et aspects techniquesOrigineL'une des grandes sources d'inspiration pour les systèmes multi-agents a été l'étude des comportements sociaux de certaines familles d'insectes. Dans ce domaine, on se référera utilement aux articles Intelligence collective et Intelligence distribuée. Les SMA peuvent être vus comme la rencontre de divers domaines :
Les cinq problématiques des SMAOn peut relever cinq problématiques principales lors de la création de systèmes multi-agents (SMA).
Architecture des systèmes multi-agentsEn reprenant les cinq problématiques précédentes, on peut décrire quelques éléments de l'architecture d'un système multi-agent.
Des catégories ou modèles d'agentsOn peut établir une classification des agents selon deux critères : agents cognitifs ou réactifs d'une part ; comportement téléonomique ou réflexe d'autre part. La distinction que l'on peut faire entre cognitif et réactif tient essentiellement de la représentation du monde dont dispose l'agent. Si l'individu est doté d'une "représentation symbolique" du monde à partir de laquelle il est capable de formuler des raisonnements, on parlera d'agent cognitif tandis que s'il ne dispose que d'une "représentation sub-symbolique", c’est-à -dire limitée à ses perceptions, on parlera d'agent réactif. Cette distinction cognitif/réactif correspond à deux écoles de pensée des systèmes multi-agents. La première soutient une approche de famille d'agents "intelligents" devant collaborer, avec une perspective plus sociologique. La deuxième étudie la possibilité de l'émergence d'un comportement "intelligent" d'un ensemble d'agents non-intelligents (type fourmis). La seconde distinction entre comportement téléonomique ou réflexe sépare les comportements intentionnels (poursuite de buts explicites) des comportements liés à des perceptions. Les tendances des agents peuvent ainsi être exprimées explicitement dans les agents ou au contraire provenir de l'environnement. On peut construire un tableau regroupant les différents types d'agents 1 :
ApplicationsDans le monde de la rechercheOn distingue généralement trois types d'utilisation : la simulation de phénomènes complexes, la résolution de problème, et la conception de programmes. On utilise les systèmes multi-agents pour simuler des interactions existants entre agents autonomes. On cherche à déterminer l'évolution de ce système afin de prévoir l'organisation qui en résulte. Par exemple, en sociologie, on peut paramétrer les différents agents composant une communauté. En ajoutant des contraintes, on peut essayer de comprendre quelle sera la composante la plus efficace pour parvenir à un résultat attendu (construction d'un pont). Ce qui importe c'est le comportement d'ensemble et non pas le comportement individuel. Des applications existent en physique des particules (agent = particule élémentaire), en chimie (agent = molécule), en biologie cellulaire (agent = cellule), en éthologie (agent = animal), en sociologie et en ethnologie (agent = être humain). L'autonomie permet ici de simuler le comportement exact d'une entité. L'intelligence artificielle distribuée est née pour résoudre les problèmes de complexité des gros programmes monolithiques de l'intelligence artificielle : l'exécution est alors distribuée, mais le contrôle reste centralisé. Au contraire, dans les SMA, chaque agent possède un contrôle total sur son comportement. Pour résoudre un problème complexe, il est en effet parfois plus simple de concevoir des programmes relativement petits (les agents) en interaction qu'un seul gros programme monolithique. L'autonomie permet au système de s'adapter dynamiquement aux changements imprévus qui interviennent dans l'environnement. Dans le même temps, le génie logiciel a évolué vers des composants de plus en plus autonomes. Les SMA peuvent être vus comme la rencontre du génie logiciel et de l'intelligence artificielle distribuée, avec un apport très important des systèmes distribués. Par rapport à un objet, un agent peut prendre des initiatives, peut refuser d'obéir à une requête, peut se déplacer ... L'autonomie permet au concepteur de se concentrer sur une partie humainement appréhendable du logiciel. La métaphore des jeux vidéoOn peut représenter un SMA par une de ces communautés virtuelles que l'on trouve de plus en plus dans les jeux vidéo actuels. Prenons l'exemple d'un jeu qui simulerait la vie d'une famille. Le SMA se décompose selon plusieurs dimensions. Tout d'abord, un environnement disposant d'une métrique. On peut considérer qu'il s'agit de la maison et du jardin où vit notre petite famille. Ensuite le SMA peut disposer d'un ensemble d'objets passifs sur lesquels peuvent intervenir nos agents. Il s'agira de tous les objets qui équipent la maison, mais également de la nourriture. Un SMA se compose d'agents. Ceux-ci, actifs et autonomes, interagissent avec leur entourage (environnement, objets et autres agents). On identifie ces agents aux membres de la famille (sans oublier le chien). Ensuite, on ajoute un ensemble de relations entre les objets et les agents, ce qui définit une organisation. On pourra par exemple exprimer les liens familiaux entre les différents individus, mais également traiter des notions de propriétés (quel objet appartient à qui ?). Enfin, on intègre un ensemble d'opérateurs qui permettent aux agents d'agir sur les objets ou sur les autres agents (le fils peut manger un yaourt ou promener son chien ou parler à sa sœur), et de capteurs qui permettent aux agents de connaître les changements de l'environnement et des autres agents (le yaourt est tombé par terre, papa m'a demandé de sortir le chien). Voici donc ce que l'on peut appeler un SMA. En informatique, l'agent sera un programme autonome possédant un ensemble de connaissances et agissant selon des règles qui lui sont propres. Plate-formes de développement de systèmes multi-agents
Aspects culturelsSystèmes multi-agents et fictionLes concepts des systèmes multi-agents ont été repris dans différentes œuvres de fiction. Le plus souvent on retrouve la peur classique de l'invention qui échappe à son concepteur (référence à la notion d'émergence), mais le phénomène est amplifié par le nombre et l'intelligence collective des agents.
Notes et références de l'article
Voir aussiBibliographieEn plus des références cités ci-dessus, deux ouvrages, en anglais, font référence dans le domaine des systèmes multi-agent :
Articles connexesLiens et documents externes(fr) Actualité Robotique et systèmes multi-agents (fr) Systèmes multi-agents : Approche décisionnelle des systèmes complexes B-ADSc Le Texte ci-dessus est disponible sous GNU Free Documentation License. La source est wikipedia http://fr.wikipedia.org/wiki/{title} |