Plates-formes de développement et d’exécution pour les systèmes multi-agents

Classification des agents

Bien qu’il existe une multitude de classification possible des agents 13] (collaborative agent, interface agent, mobile agent, information agent, etc.), on les classe généralement en fonction de leurs capacités de résolution de problèmes en deux grandes familles : les agents réactifs et les agents cognitifs. [Annexe III : Comparatif entre agents cognitifs et agents réactifs]

Agents réactifs

Les défenseurs de cette approche partent du principe suivant : dans un système multi-agents, il n’est pas nécessaire que chaque agent soit individuellement « intelligent » pour parvenir à un comportement global intelligent. En effet, des mécanismes simples de réactions aux événements peuvent faire émerger des comportements correspondant aux objectifs poursuivis. Cette approche propose la coopération d’agents de faible granularité (fine grain) mais beaucoup plus nombreux. Les agents réactifs sont donc bas niveau, ils ne disposent que d’un protocole et d’un langage de communication réduits, leurs capacités répondent uniquement à la loi stimulus/action.
Les premiers travaux relatifs à cette approche ont été réalisés au MIT en 1986 par R. Brooks. D’après lui, plusieurs milliers de micro-robots identiques, d’une taille aussi petite que possible, travaillant ensemble sur une tâche donnée pourront être plus efficaces qu’un seul gros robot spécialisé .Ainsi, au sein de son programme de recherche, il a développé l’architecture subsumption. Dans cette architecture, on bâtit des agents sans utiliser de représentation symbolique ni de raisonnement. Un agent est alors vu comme un ensemble de comportements accomplissant une tâche donnée. Chaque comportement est une machine à états finis qui établit une relation entre une entrée sensorielle et une action en sortie. Typiquement, l’ensemble des comportements est représenté sous forme d’une hiérarchie dans laquelle les couches des niveaux inférieurs représentent des comportements moins abstraits et les couches des niveaux supérieurs, des comportements plus abstraits. Le développement d’un agent devient donc un processus où l’on devra expérimenter avec les nouveaux comportements. Ceci est habituellement accompli en plaçant l’agent dans son environnement et en observant les résultats. En France on peut citer les travaux de J. Ferber à l’Université de Paris VI, qui a travaillé sur le langage MERING [5], un langage concurrent pour la représentation des connaissances qui peut être utilisé comme une plate-forme pour la conception de systèmes multi-agents réactifs. Les agents réactifs n’ont donc pas de connaissances explicites de l’environnement, ni des autres agents, ni de leur passé, pas plus que de leurs buts (pas de planification de leurs actions, pas de moyens de mémorisation). Ils possèdent une fonction de perception / action sur l’environnement qui constitue l’unique protocole de communication avec les autres agents. Il s’agit d’une communication via l’environnement. La figure ci-dessous présente un modèle d’agent réactif.

Critiques 
Bousquet et Lepage [6] reviennent en détails sur ce type d’approche généralement utilisée pour la simulation. Malgré la simplicité apparente et les bon résultats obtenus pour certaines applications, bien des reproches ont été adressés à cette approche dite “réactive”, parmi lesquels, il convient de voir que:
 si les agents ne possèdent pas de modèle de leur environnement, ils doivent posséder suffisamment d’informations locales leur permettant de choisir une action acceptable;
 comme les agents basent leurs décisions sur des informations locales, il est difficile de voir comment ils pourraient tenir compte des informations non locales ;
 il est difficile de voir comment un agent purement réactif peut apprendre de son expérience et améliorer ainsi ses performances;
 le comportement global d’un agent devrait émerger des interactions entre les divers comportements qui le composent, cette émergence rend donc très difficile la tâche de construire un agent dans le but d’effectuer une tâche spécifique;
 s’il est assez simple de bâtir un agent qui comporte très peu de couches, l’exercice devient beaucoup plus compliqué lorsqu’on a besoin de plusieurs couches. Les interactions dynamiques entre les diverses couches deviennent trop complexes à comprendre.

Agents cognitifs

A l’opposé des agents réactifs, les agents cognitifs sont capables à eux seuls de réaliser des opérations relativement complexes et généralement coopèrent les uns avec les autres pour atteindre un but commun (résolution d’un problème, tâche complexe, etc.).Ils possèdent un ensemble de représentations explicites (sur l’environnement, sur les autres agents et sur eux-mêmes) décrits dans une base de connaissances sur laquelle ils peuvent raisonner. Les théories de avec les agents BDI (Beliefs-Desires-Intention) [10] [10a] [10b] leur attribuent même des attitudes « mentales » comme :
•Les croyances : ce que l’agent connaît de son environnement,
•Les désirs : les états possibles vers lesquels l’agents peut vouloir s’engager,
•Les intentions : les états envers lesquels l’agent s’est engagé et envers lesquels il a engagé des ressources.
Un agent BDI doit donc mettre à jour ses croyances avec les informations qui lui proviennent de son environnement, décider quelles options lui sont offertes, filtrer ces options afin de déterminer de nouvelles intentions et poser ses actions au vu de ses intentions. Voir également celle de Shoham avec AOP (Agent-Oriented Programming).
Ils réagissent ainsi en fonction de leurs connaissances, de leurs buts, de leurs échanges avec les autres agents et de la perception de l’environnement en organisant leurs actions suivant une planification. Ils sont dotés de moyens et mécanismes de communication pour gérer les interactions avec les autres agents (coopération, négociation). La figure ci-dessous présente un modèle d’agent cognitif.

Critiques
On peut reprocher aux agents cognitifs d’avoir une implémentation lente et de poser quelques problèmes d’apprentissage. Néanmoins, l’école cognitive a donné lieu jusqu’à maintenant aux applications les plus avancées, la complexité des systèmes réactifs exigeant le développement de nouvelles théories dans le domaine de la coopération, de la communication et de la compréhension de nouveaux phénomènes telle que l’émergence.

Agents hybrides

Dès le début des années 90, on savait que les systèmes réactifs pouvaient bien convenir pour certains types de problèmes et moins bien pour d’autres. De même, pour la plupart des problèmes, les solutions de l’IA classique, basées uniquement sur la planification, ne conviennent pas non plus. On commence dès lors à investiguer la possibilité de combiner les deux approches afin d’obtenir une architecture hybride [8] [9]. Dans ce cas, un agent est composé de plusieurs couches, arrangées selon une hiérarchie, la plupart des architectures considérant que trois couches suffisent amplement :
• Au plus bas niveau de l’architecture, on retrouve habituellement une couche purement réactive, qui prend ses décisions en se basant sur des données brutes en provenance des senseurs.
• La couche intermédiaire fait abstraction des donnés brutes et travaille plutôt avec une vision qui se situe au niveau des connaissances de l’environnement.
• Finalement, la couche supérieure se charge des aspects sociaux de l’environnement, c’est à dire du raisonnement tenant compte des autres agents.

Architectures diverses

Malgré une évolution continue et un progrès récent considérable, les architectures d’agents utilisées actuellement sont pour la plupart basées sur des modèles anciens et elles dérivent de quelques familles de modèles largement décrites. Dans son livre [2], Jacques Ferber détaille l’aspect fonctionnel des architectures d’agents les plus utilisées dans la littérature :

Architecture modulaire horizontale

Il s’agit d’un ensemble de module effectuant une fonction horizontale particulière comme : les fonctions perceptives et motrices, l’émission et l’interprétation de communications, la base des croyances (modélisation de l’environnement et des autres agents), gestion des engagements, expertises du domaine de compétence, gestion des buts et prise de décision, planification des actions, etc. Le mode de circulation des informations est fixe (déterminé par le concepteur).

Tableaux noirs ou blackboard

Ils comprennent 3 sous-systèmes :
• les Knowledge sources (KS) qui communique via le tableau noir (ou BB),
• La base partagée (ou BB) comprends les états partiels du problème en cours de résolution, les hypothèses et les résultats intermédiaires.
• Un dispositif de contrôle qui gère les conflits d’accès entre les KS qui interviennent de manière opportuniste. C’est cette partie qui a fait l’objet de plus de modifications au cours de l’évolution des architectures.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

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