Vers une vision intégrale des systèmes multi-agents

Agent réactif

   Les agents réactifs sont caractérisés par des comportements simples qui se résument à des réactions aux stimuli de l’environnement. Ils ne possèdent pas de mémoire, ils n’ont pas de représentation de l’environnement, des autres agents qui sont présents dans le système, et d’eux-même ; leurs actions dépendent donc directement de leurs perceptions. Comme les agents réactifs ne sont pas capables de faire des traitements symboliques, leurs buts ne sont pas décrits explicitement mais sont « encodés » dans leur structure interne même et dans leur environnement. Les approches à bases d’agents réactifs se fondent sur l’émergence de comportements collectifs sophistiqués à partir de comportements individuels simples. Elles défendent le principe qu’il n’est pas nécessaire que les agents soient individuellement intelligents pour que le système dans son ensemble soit capable de résoudre des problèmes complexes [Ferber, 1999]. L’exemple le plus classique de système d’agents réactifs est celui des colonies de fourmis [Corbara et al., 1993]. Alors que les fourmis ont un comportement très primitif et qu’il n’y a pas de relation d’autorité entre elles, leurs actions sont coordonnées de telle manière qu’il est possible pour la colonie de survivre et de résoudre des problèmes complexes tels que la recherche de nourriture ou la construction de nids. La coordination entre agents réactifs repose sur des formes de communication indirecte au travers de l’environnement comme par exemple le dépôt de phéromone pour les fourmis. Outre la résolution de problèmes complexes, les sociétés d’agents réactifs possèdent aussi la capacité de s’adapter dynamiquement à leur environnement. Par exemple, les fourmis sont capables de contourner un obstacle qui apparaît sur la route qu’elles empruntent entre la source de nourriture et la fourmilière. Il est possible de créer à partir d’agents réactifs des systèmes robustes et adaptatifs. Les agents réactifs sont intéressants non pas au niveau individuel, mais au niveau des populations. La simplicité intrinsèque de leur comportement fait qu’ils ne présentent pas un grand intérêt individuellement, mais leur force vient du nombre et de leur capacité à faire émerger des organisations en formant des groupes.

Différents types d’environnement

   Décrire un environnement de manière générale n’est pas une chose aisée car la nature de l’environnement d’un système dépend fortement de la nature du problème pour lequel le système est conçu. Dans [Weyns et al., 2004a], un état de l’art sur l’environnement est présenté qui illustre l’importance de ce composant dans un SMA, mais aussi la difficulté qu’il y a à capturer cette notion et l’absence de consensus dans la communauté. En nous appuyant sur cette synthèse, nous rapportons ici différentes caractérisations qui sont proposées pour un environnement. Dans [Russell et Norvig, 2003], les auteurs ont présenté un programme générique d’environnement (algorithme 3). Ce programme est trop générique pour capturer toutes les spécificités d’un environnement mais il illustre bien la relation entre les agents et leur environnement. La réalité maintenue par l’environnement est matérialisée par un état (la variable state) et l’environnement est décrit comme un processus cyclique en trois phases : (1) les perceptions sont données aux agents, ces perceptions sont construites par la fonction Get-Percept et dépendent de l’état de l’environnement et de l’agent lui-même, (2) les actions des agents sont collectées, un agent est ici représenté par un programme (Program[agent]) qui prend en paramètre des perceptions et retourne des actions, (3) l’état de l’environnement est mis à jour par la fonction Update-Fn qui prend en paramètre les actions des agents, les agents et l’état courant de l’environnement.

Le principe Influence/Réaction

   Le traitement de l’action est un aspect fondamental qui incombe à l’environnement. Dans la théorie classique de l’action, une action est considérée comme une transformation d’état de l’environnement. Un agent agit en modifiant directement l’état de son environnement. Alors que cette approche est satisfaisante dans le cadre de l’intelligence artificielle classique où un seul agent agit, elle ne permet pas de traiter correctement l’action dans le cadre d’un SMA, et cela pour 2 raisons :
1. Un agent n’est pas seul à agir. Les activités des autres agents peuvent interférer avec la sienne ; le résultat d’une action ne peut donc pas être déterminé sans considérer l’ensemble des actions qui ont été réalisées au même instant. C’est le problème de la simultanéïté de l’action.
2. Un environnement est régi par des lois qui déterminent son évolution. Un agent n’a pas nécessairement connaissance de toutes ces lois, il n’est donc pas en mesure de prévoir toutes les conséquences de ses actes. Et quand bien même un agent aurait connaissance de ses lois, il pourrait décider ne pas les respecter. L’environnement doit donc assurer que l’évolution de son état est conforme aux lois qui ont été préétablies à sa conception. Le principe influence/réaction a été proposé par [Ferber et Müller, 1996] pour surmonter les limitations de la théorie classique de l’action et rendre compte de l’évolution de l’environnement en fonction de l’activité des agents. Ce principe stipule que les agents ne peuvent agir directement sur l’environnement mais peuvent seulement l’influencer. L’action directe est remplacée par la transmission d’influences ; les influences exprimant la volonté d’un agent de voir l’état de l’environnement évoluer d’une certaine manière. Ensuite l’environnement transforme lui-même son état en appliquant ce que Ferber et Müller appellent les lois de l’univers, ces lois prenant en compte les influencesproduites par les agents. Cette phase durant laquelle l’environnement met à jour son état est appelée phase de réaction. La phase de réaction engendre aussi l’émission de percepts à destination des agents. Ainsi les agents ne peuvent que tenter de faire évoluer l’environnement d’une certaine manière puis ensuite constater comment celui-ci a évolué. Ce principe permet de traiter la simultanéité de l’action car les influences de tous les agents sont considérées pour déterminer la réaction de l’environnement. Il permet aussi de préserver l’intégrité de l’environnement [Michel, 2004] en assurant que l’évolution de l’environnement est bien conforme aux lois de l’univers. Ce dernier  aspect est essentiel : il permet d’une part de délimiter l’autonomie des agents en établissant ce qu’ils peuvent faire, et d’autre part de favoriser la sécurité du système car aucun agent ne peut contourner les lois établies par l’environnement.

La séparation entre le corps et l’esprit d’un agent

   Magnin a mis en évidence dans sa thèse [Magnin, 1996] la confusion inérante au manque de différentiation entre la composante environnementale d’un agent et son système décisionnel. On retrouve cette idée de séparation explicite entre ces deux composantes d’un agent dans les travaux de Soulié [Soulié, 2001] puis dans la thèse de Michel [Michel, 2004] avec la notion de séparation du corps et de l’esprit d’un agent. L’esprit d’un agent fait référence à sa structure interne, c’est-à-dire la mémoire et les mécanismes dont dispose l’agent pour raisonner afin de produire son comportement. La structure interne d’un agent lui est propre, celle-ci doit être inaccessible pour tout élément extérieur à l’agent, que ce soit l’environnement ou les autres agents. L’autonomie d’un agent dépend de l’intégrité de son esprit.Le corps d’un agent fait référence à l’existence de l’agent dans l’environnement. Il définit l’état qui caractérise l’agent dans l’environnement et les capacités d’action et de perception que possède l’agent dans l’environnement. Le corps est donc la manifestation d’un agent qui pourra être perçue par les autres agents. Alors que la conception d’un esprit relève de celle d’un agent, la conception d’un corps relève de celle de l’environnement. D’une part c’est l’environnement qui attribue à un agent ses capacités, d’autre part l’agent ne doit pas être en mesure de contrôler directement les propriétés qui le caractérisent dans l’environnement. Si l’on considère un environnement dans lequel les agents possèdent un niveau d’énergie, un agent ne doit pas avoir la possibilité de modifier directement ce niveau d’énergie. Et si l’on considère un environnement dans lequel les agents peuvent se déplacer, c’est l’environnement qui doit établir les contraintes de déplacement telle que la vitesse de déplacement (qui peut par exemple dépendre d’un niveau d’énergie). En reliant ce principe avec le principe influence/réaction, on peut voir un agent comme un esprit relié à un corps, un corps étant un objet sous le contrôle de l’environnement. L’esprit a la possibilité d’influencer son corps et le corps transmet à l’esprit des percepts suivant ses capacités de perception. Ces deux principes permettent la conception séparée du corps et de l’esprit d’un agent. La distinction entre le corps et l’esprit d’un agent amène différents avantages. D’un point de vue génie logiciel, elle permet une implémentation plus modulaire d’un SMA. Du point de vue du paradigme agent, elle permet de préserver à la fois l’intégrité des agents et celle de l’environnement. Enfin elle permet l’intégration naturelle dans un SMA de robots réels et d’agents humains. Dans le cas d’un robot le corps est réel donc seul l’esprit doit être conçu. Au contraire dans le cas d’un agent humain, la fonction de l’esprit est remplie par l’utilisateur, la conception du corps permet alors de représenter l’utilisateur et de lui attribuer ses capacités dans l’environnement.

Langage de communication agent

  Les langages de communication agent, souvent désignés par l’acronyme ACL (Agent Communication Language), ont retenu une grande attention de la part de la communauté multi-agents. La communication est indispensable entre les agents, sans quoi ils se trouvent tous être isolés et incapables de se coordonner pour réaliser des tâches collectivement et résoudre les différents conflits qui proviennent de la concurrence de leurs activités. A la base de toutes les théories de la communication se trouve celle de Shannon [Shannon et Weaver, 1949]. Dans cette théorie, l’acte de communication correspond à l’envoi d’information par un émetteur vers un destinataire au travers d’un canal de communication. L’information transmise est encodée dans un langage à l’émission et décodée à la réception. La théorie de Shannon a établit un support pour les aspects techniques de la communication mais elle n’aborde pas les autres aspects de la communication. Par la suite, [Austin, 1962] puis [Searle, 1969] ont développé la théorie des actes du langage qui a influencé tous les travaux suivants sur la communication. La théorie des actes du langage considère trois aspects dans la communication :
1. L’acte locutoire : comment le message est formulé.
2. L’acte illocutoire : ce que cela signifie pour l’émetteur ou comment cela est compris par le destinataire.
3. L’acte perlocutoire : l’effet produit par l’acte illocutoire sur le destinataire. Les actes de langages ont été classés suivant le performatif ; Searle et Vanderveken en distinguent cinq : assertif, directif, promissif, expressif et déclaratif. D’autres travaux considèrent des performatifs supplémentaires.  La théorie des actes du langage a fournit le support pour la définition de la sémantique d’un langage en termes des états mentaux des agents [Cohen et Levesque, 1990]. Le langage FIPA-ACL [FIPA, 2001] est l’héritier de cette approche de définition de la sémantique : chaque performatif est associé à des pré-conditions et des post-conditions sur les états mentaux des agents qui communiquent. Par ailleurs les travaux sur les ACL distinguent trois niveaux dans la  structure d’un message [Koning et Pesty, 2001; Eijk, 2002] :
1. Le niveau du contenu qui est décrit dans un langage de contenu comme KIF, PROLOG ou FIPA-SL.
2. Le niveau du message qui est définit par le performatif du message, une ontologie, le langage, etc.
3. Le niveau de la communication qui permet de décrire les méta-données relatives à la communication telles que l’émetteur du message, le destinataire, le procole utilisé, etc.

Assurer la coordination dans un système ouvert et hétérogène

   Nous avons déjà abordé le problème de la coordination dans un SMA de manière générale (section 2.3), nous allons le considérer ici dans le cadre d’un système ouvert et hétérogène, ce qui le rend d’autant plus complexe. La citation suivante illustre cela : “Like humans, software agents will not work together just because they happen to be together, but require some external incentives for collaboration” [Dignum et al., 2002c]. Dans un système ouvert, les agents sont développés par des concepteurs différents, d’où leur hétérogénéité, et ils peuvent intégrer à tout moment le système. Ceci pose les problèmes suivants :
– l’architecture interne des agents n’est pas connue à l’avance, il n’est donc pas possible de faire d’hypothèse sur celle-ci ;
– l’hétérogénéité des agents induit une nature très incertaine de l’interaction, et donc un risque de coût important pour assurer la coordination (en temps et en ressources) ;
– les agents étant des inconnus les uns pour les autres, il se pose un problème de confiance qui peut entraver leurs échanges ;
– l’hétérogénéité des buts des différents agents peut être très forte, ce qui peut conduire à de nombreux conflits ;
– on ne peut pas supposer une obéissance quelconque de la part des agents à des directives données par le concepteur du système, les agents doivent être considérés comme potentiellement mal intentionnés. Il est donc nécessaire de définir des moyens explicites et externes aux agents pour favoriser leur coordination et assurer une certaine stabilité globale du système.

La dualité de l’autonomie et du contrôle

   Dans sa thèse de doctorat [Stratulat, 2002] souligne la dualité qu’il existe dans les SMA entre le besoin d’autonomie au niveau des agents et le besoin de contrôle au niveau du système. L’autonomie est l’essence même des agents, c’est parce que les agents agissent de manières autonomes que le système résultant est capable de s’adapter aux situations nouvelles et d’évoluer. C’est aussi l’autonomie qui rend possible l’émergence nécessaire à l’auto-organisation d’un système. Mais plus l’autonomie des agents est importante et plus il est difficile de prévoir le résultat de leurs interactions. Un SMA, comme tout système informatique, est conçu pour répondre à certains objectifs et il est donc nécessaire d’avoir un certain niveau de contrôle pour garantir certaines propriétés au niveau global. Il s’agit de trouver le bon compromis entre le niveau d’autonomie et le niveau de contrôle. Si le niveau de contrôle est absolu alors le système devient totalement prévisible. Or l’intérêt du paradigme multi-agents est justement d’apporter des réponses pour les problèmes dont on n’est pas en mesure de prévoir à l’avance une bonne solution. Mais à l’inverse si l’autonomie des agents est trop importante le système risque alors d’être chaotique et contre performant. Par exemple, si chaque agent utilise son propre langage de communication, aucun n’est en mesure de comprendre les autres. La communication ici n’est qu’un exemple, il va de même pour toutes les formes d’interactions. De manière générale, plus l’autonomie des agents est importante, et plus la complexité de la coordination de leur comportement est importante, ce qui inévitablement réduit la performance globale du système.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Chapitre 1 Introduction 
1.1 Contexte
1.2 Problématique 
1.3 Proposition et contributions
1.4 Plan de la thèse 
Chapitre 2 Les dimensions d’un système multi-agent : état de l’art 
2.1 Agent 
2.1.1 Agent réactif
2.1.2 Agent cognitif
2.1.3 Agent hybride
2.2 Environnement 
2.2.1 La nécessité d’un environnement de première classe
2.2.2 Différents types d’environnement
2.2.3 Enjeux pour la conception d’un environnement
2.2.4 Le principe Influence/Réaction
2.2.5 La séparation entre le corps et l’esprit d’un agent
2.2.6 Modélisation explicite du dynamisme
2.2.7 Conclusion
2.3 Interaction
2.3.1 Stigmergie
2.3.2 Langage de communication agent
2.3.3 Protocole d’interaction
2.3.4 Conclusion
2.4 Dimension sociale 
2.4.1 Organisation
2.4.2 Norme
2.4.3 Agent normatif
2.4.4 Engagement social
2.4.5 Contrôle et sanction
2.4.6 Institution
2.4.7 Searle : construction de la réalité sociale
2.5 Conclusion
Chapitre 3 Vers une vision intégrale des systèmes multi-agents 
3.1 La théorie de la vision intégrale 
3.2 Pourquoi une approche intégrale pour les systèmes multi-agents ? 
3.3 Une carte intégrale pour les systèmes multi-agents 
3.4 Analyser au travers des 4 quadrants
3.4.1 La communication
3.4.2 Le contrôle social
3.5 Approche de conception pour les systèmes multi-agents 
3.5.1 Séparer les quatre dimensions
3.5.2 Les relations entre les quatre dimensions
3.5.3 Quadrants – Comportements – Capacités
3.5.4 Intérêts de cette approche de conception
Chapitre 4 MASQ : un méta-modèle fondé sur les 4 quadrants 
4.1 Introduction 
4.1.1 Concepts primitifs
4.1.2 Principes
4.2 Esprit 
4.3 Objet
4.4 Corps : incarnation d’un esprit dans un objet 
4.5 Espace brut
4.5.1 Dimension interne d’un espace brut
4.5.2 Relations entre espaces bruts
4.5.2.1 Mécanisme d’interaction entre espaces bruts
4.5.2.2 Patrons de conception
4.5.3 Structuration de l’environnement
4.6 Culture
4.6.1 Interprétation collective
4.6.2 Perception d’une réalité institutionnelle
4.6.3 Internalisation des règles institutionnelles
4.6.4 Distinction entre culture et espace brut
4.6.5 Discussion
4.7 Synthèse
Chapitre 5 Modélisation et conception avec MASQ 
5.1 Modélisation d’un wiki 
5.1.1 Description du wiki
5.1.2 Modélisation avec MASQ
5.1.3 Synthèse
5.2 Le projet Warbot
5.2.1 Description
5.2.2 Modélisation MASQ de Warbot
5.2.3 Aspects implémentatoires
5.2.4 Conclusion
Chapitre 6 Conclusion et perspectives 
6.1 Bilan 
6.2 Perspectives 
Table des figures
Liste des tableaux
Bibliographie

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *