Conception d’un système multi-agents
adaptatif pour la résolution de problème
Entité isolé : L’Agent Il n’y a pas une notion d’« agent » unique, car il est utilisé dans de nombreuses applications par des communautés venant d’horizons divers. En IA, ce terme est pluri défini puisqu’on trouve dans la littérature une multitude d’interprétations et à l’heure actuelle, il n’y a pas de véritable consensus sur sa définition. Nous présentons dans ce qui suit les plus utilisées et s’adaptant à notre problématique.
Définitions
Dans [Russell et al., 2006], la notion d’agent est définie comme suit : « Un agent est tout ce qui peut être compris comme percevant son environnement à travers des senseurs et comme agissant sur cet environnement par l’intermédiaire d’effecteurs ». Selon cette définition, un agent est un système qui décide par lui-même ce qu’il doit faire pour atteindre ses objectifs (déterminés à sa conception). L’agent est situé dans un environnement, doté de capteurs et d’actionnaires, observant l’environnement et cherchant à modifier son évolution. Dans [Ferber, 1995], la définition du terme « agent » est plus détaillée. L’auteur allie le fonctionnement de l’agent et ses propreités. On appelle agent une entité physique ou virtuelle : 1. Qui est capable d’agir au sein d’un environnement E. 2. Qui peut communiquer avec les autres agents de manière directe ou indirecte. 3. Qui est mue par un ensemble de tendances, sous la forme d’objectifs individuels, d’une fonction de satisfaction ou de survie, qu’elle cherche à optimiser. 4. Qui possède des ressources propres. 5. Qui est capable de percevoir, mais de manière limitée, son environnement E. 6. Qui ne dispose que d’une représentation partielle de cet environnement et éventuellement aucune. 7. Qui possède des compétences et offre des services. 8. Qui peut éventuellement se reproduire. 9. 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ésentation et des communications qu’elle reçoit. Dans cette définition, les items (1) à (5) reprennent les principes d’action et de perception, l’auteur intègre d’autres propriétés telles que la capacité de communiquer avec les autres agents (2), la prise de décision en accord avec ses objectifs (3) et en tenant compte de ses ressources propres (4). Enfin la propriété de localité influe sur ses connaissances de l’environnement (6). Les caractéristiques intéressantes telles que la notion d’objectif et de perception limitée ou locale de l’environnement ont été introduite dans cette définition. Les décisions de l’agent sont dirigées par ses aptitudes en accord avec ses connaissances et les ressources disponibles. L’autonomie de l’agent est aussi une propriété importante mais son évolution est liée à celle de l’environnement. Jennings, Sycara et wooldridge [Jennings et al., 1998] ont proposé une autre définition de la notion d’agent qui reste néanmoins proche de celle donnée par [Russell et al. 1995] : « Un agent est un système informatique, situé dans un environnement qui est capable d’action autonome et flexible dans le but de répondre à ses objectifs de conception ». Cette définition est fondée sur les trois concepts suivant : · Situé : un agent est dit situé, s’il est capable d’agir sur son environnement à partir des entrées sensorielles qu’il reçoit de ce même environnement. · Autonome : un agent est capable d’agir sans l’intervention directe de l’être humain ou d’autres agents et qu’il est capable de contrôler ses propres actions et son état interne. · Flexible : un agent est dit flexible s’il est capable d’agir de manière réactive, proactive et sociale : o Réactif : être capable de percevoir son environnement et de réagir dans le temps. o Proactif : prendre l’initiative et être opportuniste au bon moment. o Social : être capable d’interagir avec les autres agents quand la situation l’exige Dans cette définition, les auteurs présentent des compétences de l’agent pouvant être considérées comme étant émanent du comportement intelligent, évidemment dans le sens de l’IA. D’après ces définitions d’agent, on peut se permettre de mettre en évidence les caractéristiques importantes d’agent, exprimées par la présentation suivante : « Un agent est défini comme une entité (physique ou abstraite) ayant un objectif individuel avec un comportement autonome et flexible qui résulte de la conséquence de ses observations, de sa connaissance et des interactions avec les autres agents. Il a la possibilité d’agir sur lui-même et sur son environnement, grâce à sa capacité de perception. Enfin, il dispose d’une représentation partielle de ce même environnement ». Figure 1. 1. Agent /Environnement [Russell et al. 2006] De manière générale et quelle que soit sa définition, un agent suit le comportement décrit par une boucle fermée appelée boucle sensori-motrice représentée par la figure 1.1.
Fonctionnement d’un agent
Un agent évolue toujours selon un cycle compose de plusieurs étapes (boucle sensori-motrice) : · Initialement l’agent se trouve dans une certaine configuration initiale ; · Il perçoit son environnement (ou partie de l’environnement) grâce à ses capteurs ; · Il choisit une action à entreprendre en fonction de sa configuration et de ses perceptions ; · Il reçoit de nouvelles perceptions et le processus se répète. Chapitre I. Résolution collective de problèmes et Systèmes multi-agents 13 La phase de délibération ou de décision de l’agent dépend de son architecture interne. Cette architecture décrit la manière de concevoir l’agent et dépend de son mécanisme de raisonnement.
Architectures d’agent
Nous distinguons deux grandes familles d’agents : les agents réactifs et les agents cognitifs. Cette distinction repose essentiellement sur le processus décisionnel de l’agent et la représentation de l’environnement dont il dispose. Si l’agent est doté d’une représentation symbolique de l’environnement à partir duquel il est capable de formuler des raisonnements, nous disons qu’il est cognitif tandis que s’il ne dispose que d’une représentation limitée à ses perceptions, alors il est réactif. a- Agent réactif Comme son nom l’indique, un agent réactif ne fait que réagir aux changements qui surviennent dans l’environnement. Autrement dit, un tel agent ne fait ni délibération ni planification, il se contente simplement d’acquérir des perceptions et de réagir à celles-ci (Figure1.2). Étant donné qu’il n’y a pratiquement pas de raisonnement, ces agents peuvent agir et réagir très rapidement. Ferber définit ce type d’agent comme suit : « Les agents réactifs, définis par le fait même qu’ils n’ont pas de représentation de leur environnement et des autres agents, sont incapables de prévoir ce qui va se passer et donc d’anticiper en planifiant les actions à accomplir [Ferber, 1995] ». Figure 1. 2. Agent réactif L’agent réactif (figure 1.2.) présente les caractéristiques suivantes: · Pas de mémoire ; · Pas de représentation explicite ; · Prise de décision se basant sur le fait du Stimulus/Réponse ; · Simple à mettre en œuvre. b- Agent cognitif : L’agent cognitif est un agent qui dispose d’une base de connaissances comprenant l’ensemble des informations et de savoir-faire nécessaires à la réalisation de sa tâche et la gestion des interactions avec les autres agents et avec son environnement [Ferber ,1995]. Ainsi, ces agents possèdent une représentation explicite de leur environnement, des autres agents et d’eux-mêmes. Ils sont aussi dotés de capacités de raisonnement et de planification ainsi que de communication. Le travail le plus représentatif de cette famille d’agent porte sur le modèle BDI (Believe Desire Intention). Ce modèle se fonde sur trois attitudes qui définissent la rationalité d’un agent intelligent : ß Croyance (Belief B): ce sont les informations que possède l’agent sur son environnement et sur les autres agents agissant sur le même environnement. Ceci constitue les connaissances supposées vraies de l’agent. ß Désir (Desire D): ce sont les états de l’environnement et parfois de lui-même, qu’un agent aimerait voir réaliser. Ce sont les objectifs que se fixe un agent. ß Intention (Intention I): ce sont les actions qu’un agent a décidé de faire pour accomplir ses désirs. Ils forment des ensembles de plans qui sont exécutés tant que l’objectif correspondant n’est pas atteint. Le modèle BDI a inspiré beaucoup d’architectures d’agents cognitifs. Etats mentaux Figure 1. 3. Agent cognitif Ce type d’agent (Figure 1.3) se caractérise par: · Une représentation explicite de l’environnement et du monde auquel ils appartiennent ; · Une réaction planifiée ; · Une base de connaissances comprenant des informations et du savoir-faire ; · Une mémoire pour mémoriser les anciens états. Il est possible de combiner ces deux architectures pour obtenir une troisième architecture qui se base sur des agents cognitifs exhibant des capacités de réactions aux événements, on parlera alors d’agents hybrides. c- Agent hybride: L’agent hybride est conçu pour combiner les capacités réactives à des capacités cognitives, ce qui leur permet d’adapter son comportement en temps réel à l’évolution de l’environnement. Dans ce modèle, un agent est composé d’une architecture multicouche qui se base sur la hiérarchie de niveaux (Figure 1.4). L’agent a une structure modulaire, ce qui est concrètement recommandé dans le développement de processus artificiel. Les capacités de traitement peuvent être améliorées car les différents composants peuvent fonctionner simultanément. Généralement, on trouve deux présentations pour cette architecture « horizontale et verticale ». (a) Architecture horizontale (b) Architecture verticale
Comportement d’agent
Un agent se caractérise essentiellement par la manière dont il est conçu et par ses actions. En d’autres termes par son architecture et son comportement [Ferber, 1995]. Ce dernier terme est fondamental dans la définition et la modélisation d’un agent. Le comportement caractérise l’ensemble des propriétés que l’agent manifeste dans son environnement. On peut le comprendre par les réponses de l’agent aux sollicitations de son environnement ou en regardant sa manière d’évoluer. Il est analysable sans connaître les détails d’implémentation. Il s’agit d’un phénomène qui peut être appréhendé par un observateur extérieur qui au regard des actions qu’entreprend l’agent, peut induire ou spécifier ce qu’une architecture est censé produire. Chapitre I. Résolution collective de problèmes et Systèmes multi-agents 16 Ainsi, le comportement apparaît comme une spécification externe de l’agent, et l’architecture définit les relations internes permettant d’aboutir à cette spécification.
Propriétés d’agent
A partir des définitions, qui apparaissent dans la littérature, plusieurs propriétés d’agents peuvent être identifiées : · Autonomie : les agents contrôlent leurs actions et leurs états internes. Le système dans son ensemble est capable de réagir sans l’intervention d’un humain ou d’un autre agent. Il n’y a pas de définition unique du terme agent, par contre, il y a un consensus général pour considérer l’autonomie comme notion centrale de l’agent. · Réactivité : ils perçoivent leur environnement et réagissent aux changements qui s’y produisent dans le temps requis. · Initiative : le comportement des agents est déterminé par les buts qu’ils poursuivent et par conséquent ils peuvent produire des actions qui ne sont pas seulement des réponses à leur environnement. · Habilité sociale : pour satisfaire ses buts un agent peut demander l’aide d’autres agents avec lesquels il partage la réalisation de tâches. · Raisonnement : un agent peut décider quel but poursuivre ou à quel événement réagir, comment agir pour accomplir un but, ou suspendre ou abandonner un but pour se dédier à un autre. · Apprentissage : l’agent peut s’accommoder progressivement à des changements dans des environnements dynamiques grâce à des techniques d’apprentissage. · Mobilité: dans des applications déterminées il peut être intéressant de permettre aux agents de migrer d’un nœud à un autre dans un réseau tout en préservant leur état lors de sauts entre nœuds. En considérant les définitions existantes, nous pouvons identifier deux tendances principales dans la présentation des agents. Quelques chercheurs considèrent l’agent en isolation, alors que certains d’autres le présentent principalement comme agissant dans un environnement incluant d’autres agents. Chapitre I. Résolution collective de problèmes et Systèmes multi-agents 17 Les deux tendances ont déjà porté des résultats mais le paradigme des agents s’impose car il est plutôt difficile de dire qu’un agent existe seulement comme une entité unique et qu’il ne rencontrera pas d’autres agents dans son environnement.
INTRODUCTION |