Nicolas DAILLY
www.dailly.info > Dossiers techniques > Systemes Multiagents

Systèmes multiagents dans les EIAH

Cet état de l’art (réalisé en 2003) se propose de présenter les principes généraux de la technologie multi-agents puis d’exposer son utilisation possible dans les environnements interactifs d’apprentissage.

I) Introduction

Concevoir un système d’apprentissage pour transmettre des connaissances à un individu est un problème extrêmement délicat qui doit tenir compte des contraintes techniques dans le domaine de l’informatique et du multimédia, mais également des aspects psychologiques et culturels induis par la transmission d’un savoir à un être humain. Un tel système fait donc appel à de multiples disciplines qui doivent converger vers un seul objectif : la transmission de connaissances.

La conception d’un système d’apprentissage élaboré fait appel à un ensemble de processus complexes qu’il est parfois difficile d’associer dans un système cohérent et évolutif. Les systèmes multi-agents possèdent des caractéristiques qui permettent de mieux structurer les systèmes de transmission de conaissances et ouvrent de nouvelles perspectives d’assistance à l’apprentissage. Cet état de l’art se propose de présenter les principes généraux de la technologie multi-agents puis d’exposer son utilisation possible dans les environnements interactifs d’apprentissage.

II) Les systèmes multi-agents

1) Présentation

Un agent est une entité autonome, capable de communiquer avec d’autres agents, ainsi que de percevoir et de représenter son environnement. Chaque agent effectue des actions spécifiques en fonction de la perception qu’il a de son environnement. Un ensemble d’agents en interaction forme un système multi-agents.

La plupart des systèmes éducatifs actuels sont conçus autour d’une architecture mono-agent. Ceux ci sont alors comparables à des systèmes experts qui réagissent aux actions de l’apprenant. Les systèmes multi-agents peuvent apporter une plus grande interaction pour les apprenants et le tuteur humain, notamment lorsqu’il s’agit de réaliser un travail collaboratif, une plus grande évolutivité et une intégration plus importante de systèmes d’apprentissage différents.

La principale difficulté induite par l’utilisation de systèmes multi-agents est qu’il est plus difficile de maîtriser le comportement et l’évolution du système global, constitué d’agents autonomes : pour un problème donné, il n’est pas assuré que l’ensemble des agents converge vers une solution commune et unique.

2) Les différentes catégories d’agents

Deux grandes catégories d’agents peuvent être distinguées : Les agents réactifs et Les agents cognitifs

a) Les agents réactifs

Les agents réactifs sont les plus sommaires. Ils ont un comportement du type « stimulus – réponse ». L’agent réactif ne possède pas une représentation complète de son environnement et n’est pas capable de tenir compte de ses actions passées.

Les systèmes multi-agents constitués uniquement d’agents réactifs possèdent un grand nombre d’agents. La convergence du comportement de l’ensemble des agents vers un état décisionnel stable n’est pas forcément assurée, et si un état stable est atteint, il n’est pas sur qu’il s’agisse de la solution optimale.

b) Les agents cognitifs

Les agents cognitifs sont plus évolués. Ils sont le résultats direct des recherches menés dans le domaine de l’intelligence artificielle. Les agents cognitifs ont une représentation globale de leur environnement et des autres agents avec lesquels ils communiquent. Ils savent tenir compte de leur passé et s’organisent autour d’un mode social d’organisation.

Les systèmes multi-agents constitués uniquement d’agents cognitifs sont constitués d’un nombre d’agents assez faible. Ils réclament des ressources plus importantes que les systèmes d’agents réactifs. La convergence du système vers un état décisionnel stable n’est pas non plus assurée par l’utilisation de ce type d’agents, mais ils permettent de résoudre des problèmes plus complexe et nécessitant une plus grande abstraction.

3) L’organisation des agents

a) La communication entre agents

Les agents communiquent entre eux à l’aide de protocoles de communication. Leur communication peut être de deux types : par partage d’information ou par envoie de message.

En mode partage d’information, toute l’information sur le système est centralisée dans une structure de données globale. Les agents viennent lire et écrire dans cette base de données pour faire évoluer le système qui contient initialement les données du problème. Ce type de communication, appelé « tableau noir » ou « blackboard », fait l’objet de nombreuses publications qui ne seront pas détaillées ici. D’apparence assez simple, ce mode communication centralisé implique que les agents effectuent un grand nombre de requêtes sur un seul et unique site central. De plus, le fonctionnement global du système n’est pas purement multi-agents puisque le comportement d’un des agents est dépendant du contenu d’une base de connaissances commune.

Les systèmes multi-agents fondés sur la communication par messages se caractérisent par le fait que chaque agent possède une représentation propre et locale de l’environnement qui l’entoure. Chaque agent va alors interroger les autres agents sur cet environnement ou leur envoyer des informations sur sa propre perception des choses. La communication se fait soit en mode point à point, soit en diffusion. Cette communication permet de réaliser un véritable système multi-agents puisque chaque agent possède sa propre sa propre base de connaissance. Par contre, il est plus difficile d’assurer une convergence globale du système. De plus, dans un environnement distribué, la communication entre un grand nombre d’agents peut très vite amener à une saturation du réseau compte tenu de la grande quantité de messages échangés.

b) Coopération entre agents

La coopération entre les différents agents est un problème difficile. Les agents ont une connaissance plus ou moins précise des autres agents du système. Ils doivent pouvoir se représenter les compétences des autres agents, mais également les tâches que ces derniers sont en train de réaliser.

Les méthodes de répartition des tâches entre les différents agents est un problème majeur qui fait l’objet de nombreuses études, notamment dans le domaine du calcul répartit. Chaque problème doit être fractionné et réparti entre les différents agents qui produisent des solutions partielles qui doivent ensuite être fusionnées pour obtenir la solution globale.

Les modèles d’allocation des tâches peuvent être soit centralisés, un agent se charge alors de décomposer le problème et de le répartir, soit distribué, chaque agent est alors capable de décomposer le problème et de répartir les différentes tâches qui en résultent. Le modèle d’allocation distribué permet une meilleure utilisation des ressources des stations de travail mais la cohérence globale du système est plus compliquée à maîtriser.

La collaboration entre agents peut parfois être de type conflictuel. Dans ce cas, les agents peuvent avoir des buts identiques mais des vues divergentes voire totalement opposées. Les conflits entre les différents agents peuvent être résolus de deux manières différentes :

- Grâce à un contrôle centralisé qui se charge, en dernier lieu, de prendre la décision.
- Par négociation entre les différents agents en conflits.

Si le principe de la négociation semble plus intéressant pour faire émerger des solutions innovantes, ce choix pose d’énormes difficultés notamment dues aux limitations linguistiques des agents et à une trop longue convergence de la négociation quand les conflits d’intérêts sont trop importants.

III) Utilisation des systèmes multi-agents dans les EIAH

La première partie de cette étude a permis de développer une vue globale des systèmes multi-agents. Cette seconde partie s’attachera plus particulièrement, à présenter les perspectives offertes par leur utilisation dans les EIAH

1) Apprentissage humain et systèmes multi-agents

L’apprentissage est un processus complexe, qui s’effectue progressivement et met en jeu des domaines de connaissances d’horizons divers. Par exemple, apprendre l’économie nécessite la connaissance de bases en mathématiques, géographie, français… Il est ainsi très difficile de concevoir un système didactique unique permettant d’expliquer l’ensemble des connaissances nécessaires à l’apprenant.

Les systèmes multi-agents proposent une architecture évoluée qui permet de palier en partie à ce type de problème. En effet, pour reprendre l’exemple du cours d’économie, il est tout à fait envisageable de concevoir un agent qui propose un tel cours et qui, devant la difficulté de l’apprenant à faire un calcul statistique, le renvoie vers un autre agent qui lui, est spécialisé dans l’enseignement des mathématiques. De façon plus générale, il est possible de réaliser un ensemble d’agents qui sont individuellement spécialisés dans l’explication d’une notion particulière et qui, dans leur ensemble, permettent d’aborder toutes les parties du cours.

Cette démarche permet de réaliser une architecture modulaire dans lequel chaque agent devient une brique élémentaire du système d’apprentissage et peut être réutilisé au besoin dans d’autres systèmes d’apprentissage.

Tout ceci demande cependant que les différents agents du système soient capables de coopérer entre eux pour guider, de manière structurée, l’apprenant tout au long du processus d’apprentissage. De plus, les agents ne seront réutilisables d’un système d’apprentissage à un autre que s’ils sont capables de se comprendre, c’est à dire uniquement si leur protocole de dialogue est identique et rétro-compatible en cas d’évolution.

L’avantage d’un tel type d’architecture est qu’il est beaucoup plus évolutif puisque, si les notions enseignées évoluent, il suffit de modifier les connaissances enseignées par l’un des agents. Il n’est donc plus nécessaire de repenser le système de manière globale. De même, il est possible de s’absoudre de l’interface graphique vue par l’apprenant pour concevoir les agents possédant le savoir. Ce sont alors d’autres agents qui se chargent de mettre en forme les connaissances pour les présenter de manière conviviale à l’apprenant. La modification de l’environnement d’apprentissage ce fait alors par modification des agents qui la gère. De plus, des agents médiateurs peuvent se charger de traduire les actions de l’apprenant en instructions compréhensibles par l’agent qui détient le savoir.

Une des difficultés de la transmission de connaissances à un être humain réside dans la complexité de l’analyse de son comportement face au système d’apprentissage (méfiance, ennui…), de la compréhension de ses attentes (« je veux apprendre l’économie ») et de ses besoins (notions en statistiques). Les systèmes multi-agents permettent de concevoir un ensemble d’argent chargé d’essayer de comprendre les attentes de l’apprenant.

Quoi qu’il en soit, il est nécessaire d’intégrer parmi les agents un agent tuteur humain, et ce pour plusieurs raisons :

- Afin de guider le système pour qu’il ne s’éloigne pas trop de l’objectif premier qui est d’inculquer une notion particulière donnée à un élève.
- Pour permettre à l’élève de dialoguer en langage naturel avec un système capable de le comprendre malgré quelques imprécisions de langage ; les systèmes en langage naturel actuels ne permettant pas d’émuler un dialogue très évolué.
- Les systèmes multi-agents constituent un modèle particulièrement intéressant dans le cas de l’apprentissage à un groupe d’élèves collaborant sur un même projet. De façon simplifiée, chaque élève peut se voir attribuer un agent tuteur qui se chargera de la guider pour faire évoluer le projet du groupe. Pour faire progresser efficacement son élève, l’agent doit alors tenir compte des connaissances de ce dernier, mais également de celles des autres membres du groupe.

2) Organisation des agents dans un système d’apprentissage

Il faut distinguer plusieurs types d’agents. Tout d’abord, il est possible, voire souhaitable, de considérer les apprenants et leurs tuteurs humains comme des agents à part entière du système. Cela permet de les intégrer au système dés sa phase de conception.

En ce qui concerne les agents logiciels, il est possible d’en distinguer plusieurs types :

- Les agents « assistants » dont la tâche est de faciliter l’accès et l’usage du système (c’est par exemple l’assistant dans MSWord)
- Les agents « tuteurs » qui guident l’apprenant et lui proposent des activités adaptées à ses besoins pour répondre à ses attentes.
- Les agents « experts » qui possèdent les connaissances à transmettre au apprenants.

A cela s’ajoutent d’autres types d’agents, dont la tâche est particulière et que l’on rencontre moins systématiquement :

- Les agents « médiateurs » qui permettent de traduire les actions de l’élève en un langage compréhensible par les agents qui détiennent le savoir, et inversement
- Les agents « support à la collaboration » utilisés pour aider à la réalisation de projets collaboratifs.
- Les agents « perturbateurs » dont le but est de venir perturber l’apprenant pour l’amener à réagir.

Tous ses agents peuvent être, soit de type réactif, soit de type cognitif.

3) Exemple : Simulateur de formation pour la sécurité civile

L’application des systèmes multi-agents pour l’apprentissage humain qui va être présentée ici est assez particulière. Elle a été choisie pour son caractère innovant, l’originalité de la démarche et afin de mettre en avant une partie des possibilités offertes par les systèmes multi-agents. L’architecture décrite ci-après utilise les systèmes multi-agents, non pas pour assister l’apprenant, mais pour le plonger dans un environnement ou les interactions entre les différents intervenants sont relativement complexes.

a) Contexte

La sécurité civile est amenée à intervenir dans des environnements à risque tels qu’une intervention dans une usine chimique comme ce fut le cas par exemple à Toulouse il y à deux ans. Or, si des exercices d’entraînement peuvent être réalisés sur ces lieux à risques, il est tout à fait inconcevable d’y déclencher volontairement le moindre incident mineur au risque de provoquer une réaction en chaîne pouvant faire courir d’énormes risques aux populations civiles. L’une des solutions est donc de simuler l’accident à l’aide d’un simulateur informatique.

b) Possibilités offertes par les systèmes multi-agents

Un accident ou une catastrophe de grande ampleur met en jeu de nombreux intervenants (pompiers, SAMU, police, armée…) qui sont indépendants, ont des priorités différentes et ne se comprennent pas toujours. De plus, les intervenants humains bien que coordonnés par un poste de commande centralisé, ont une vue locale et personnelle du problème et n’ont pas forcément la même réaction face à une situation identique. Chaque individu réagit en fonction de son environnement local, de ses objectifs, de ses devoirs mais aussi de ses désirs. En ce sens, chaque intervenant constitue un agent à lui seul et peut être géré ainsi dans le simulateur. Un agent plus général peut permettre de fédérer un groupe d’agents en leur donnant des capacités et un but commun : par exemple, un groupe de pompier cherchant à contenir un incendie.

Dans un tel simulateur, chaque agent du système peut agir sur son environnement et dialoguer avec les autres agents. Chaque action aura des conséquences, bonnes ou mauvaises, sur l’environnement global.

Devant la complexité d’un tel système, chaque agent simulant un humain doit être un agent de type cognitif. Par contre, les différents éléments matériels de l’environnement peuvent être représentés par des agents de type réactifs. Par exemple, le système fuite de gaz dont le comportement est de se propager, provoque une explosion lorsqu’il rencontre une flamme.

c) Utilisation d’un tel simulateur

Contrairement à ce qui à été exposé précédemment, les systèmes multi-agents ne servent pas directement à transmettre des connaissances. Ils permettent de simuler une situation de crise et d’apporter une plus grande expérience aux utilisateurs.

Un tel simulateur peut être utilisé à plusieurs niveaux allant de la formation d’un individu pour lui montrer les conséquences possibles de son comportement individuel sur un environnement global, jusqu’à la formation des personnes chargées de coordonner les secours. Ce simulateur constitue un outil à l’apprentissage qui doit être encadré par un tuteur humain. Ce dernier doit élaborer les scénarios dans lesquels il va plonger les apprenants. Un tel simulateur peut également permettre de faire collaborer plusieurs apprenants dans un même environnement.

d) Perspectives

Cet outil ne remplacera jamais un exercice réel sur le terrain, ne serais-ce que parce qu’il existera toujours des scénarios catastrophes qui n’ont pas été envisagées et car le comportement d’un humain n’est en lui-même jamais prédictible de façon certaine. Cependant ce type de démarche est intéressant et complémentaire, notamment lorsqu’une simulation en conditions réelles est impossible.

IV) Conclusion

Cet état de l’art à permis de présenter les systèmes multi-agents et leur principe de mise en œuvre dans les systèmes interactifs d’apprentissage humains. Il a permis de développer les perspectives offertes par l’utilisation d’une telle technologie, tout en exposants les principales difficultés qui subsistent. Les systèmes multi-agents forment une technologie innovante et émergeante qui possèdent un fort potentiel, tant pour la réalisation de systèmes d’apprentissage que pour la réalisation de systèmes experts.

LABORATOIRES DE RECHERCHE

Voici la liste de quelques laboratoires français qui étudient les systèmes multi-agents et qui, pour certain, les mettent en œuvre dans le cadre de projet d’environnement informatique pour l’apprentissage humain.

- CLIPS-IMAG (Université Joseph Fourrier – Grenoble) axés sur des outils de simulation et d’apprentissage.
- LIS, Université Toulouse 1, travaille sur la collaboration entre système multi-agents (cadre général, et nom purement éducatif)
- LIUPPA, Université de Pau, environnements coopératifs et multi-agents
- SYSCOM, Université de Savoie, participe au groupe de réflexion I3 (Interaction, Interface et Intelligence) dont elle est membre des pôles : systèmes multi-agents, collecticiels et documents multimédias.
- Ecole Nationale d’Ingénieurs de Brest, projet de recherche pour la compréhension et la gestion des problèmes urbains, application pour la formation du personnel de la sécurité civile utilisant des systèmes multi-agents.

Bien d’autres laboratoires, pour ne pas dire tous, travaillant sur le développement de systèmes d’apprentissage, font appel dans leurs projets aux systèmes multi-agents qui sont notamment évoqués dans de nombreuses thèses. Ce thème ne constitue cependant pas leur axe principal de recherche, c’est pourquoi ils ne sont pas évoqués ici.

BIBLIOGRAPHIE

- Sylvie Pesty, Carine Webber et Nicolas Balacheff, Baghera : une architechture multi-agents pour l’apprentissage humain, Grenoble, Laboratoire Leibniz IMAG.
- Ronan Querrec. Modélisation de la ville et réalité virtuelle. Rapport intermédiaire de thése, Brest, Ecole Nationale d’Ingénieurs de Brest, Décembre 1989
- Ronan Querrec, Modélisation de la ville et réalité virtuelle : Application à la sécurité civile. Rapport Intermédiaire de thése, Brest, Ecole Nationale d’Ingénieurs de Brest, Décembre 2000.
- Brahim Chaib-draa, Des agents aux systèmes multi-agents, Laval, Université de Laval
- Guy Pujolle, Les réseaux, édition 2003, Paris, Eyrolles, 2002.



© 2000-2017 ~ Nicolas Dailly
Page générée le 28/03/2017 à 06:21:58 ~ Site réalisé avec SPIP