WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation par un système multi-agents d'un hypermédia éducatif adaptatif dynamique

( Télécharger le fichier original )
par Mounir Beggas
Centre Universitaire d'Eloued - Magister en Informatique 2005
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

République Algérienne Démocratique et Populaire

Ministère de l'Enseignement Supérieur et de la Recherche Scientifique

Centre Universitaire Cheick Larbi Tébessi

TEBESSA

Département d'Informatique

MEMOIRE

Présenté en vue de l'obtention du diplôme de magister en informatique

Option : Systèmes d'Informations Avancés

et Systèmes à Base de Connaissances

Modélisation par un système

multi-agents d'un hypermédia éducatif adaptatif dynamique

Par

Mounir Beggas

Soutenu le 14 Avril 2005 devant le jury

Pr. Mahmoud Boufaïda

Président

Professeur, Université de Constantine

Pr. Mohamed Tayeb Laskri

Rapporteur

Professeur, Université de Annaba

Pr. Zizette Boufaïda

Examinateur

Professeur, Université de Constantine

Dr. Amar Balla

Examinateur

Maître de Conférence INI Oued Smar Alger

MEMOIRE

Présenté en vue de l'obtention du diplôme de magister en informatique

Option : Systèmes d'Informations Avancés

et Systèmes à Base de Connaissances

Modélisation par un système

multi-agents d'un hypermédia éducatif adaptatif dynamique

Par

Mounir Beggas

Résumé

Les systèmes hypermédias adaptatifs sont utiles dans tout domaine où les utilisateurs ont différents buts et connaissances dont l'hyperespace est considérablement large. Ils forment un domaine de recherche pour plusieurs applications : systèmes d'information en ligne, systèmes d'aide en ligne, assistants personnels et moteurs de recherche etc. L'un des premiers domaines d'application des hypermédias adaptatifs sont les hypermédias éducatifs.

Les agents fournissent plusieurs avantages, l'autonomie, la flexibilité, la communicabilité. Les agents ont été utilisés dans une variété de champs qui ont une similarité avec les systèmes hypermédias éducatifs adaptatifs : agents personnels, agents de filtrage de courriers, systèmes tutoriels intelligents basés agents, hypermédias adaptatifs basés agents, etc. Aussi, cette technologie a vu un vaste succès dans le web.

Dans ce travail, on présente une modélisation d'un hypermédia adaptatif dynamique éducatif par un système multi agents. Ce système génère dynamiquement les pages hypermédias de cours, ces pages s'adaptent au modèle de l'apprenant. Il utilise les activités pédagogiques pour présenter plusieurs vues d'un même concept et spécifier les tâches définissant la structure la mieux adaptée pour comprendre les concepts à enseigner.

Ce système est constitué de quatre agents : agent de modèle de l'apprenant, qui incorpore et manipule le modèle de l'apprenant, l'agent pédagogique d'adaptation, qui incorpore le modèle du domaine et le modèle des activités pédagogiques définis par l'enseignant ; il spécifie la structure pédagogique du cours. L'agent de filtrage qui filtre les documents constituant le cours. L'agent d'interface reçoit la requête de l'apprenant et interagit avec les autres agents pour la répondre.

Ces agents autonomes coopèrent pour accomplir les tâches de génération de cours et de suivi de processus d'apprentissage, en communicant entre eux par le langage KQML (Knowledge Query and Manipulation Language).

Mot clés : système multi agents, hypermédia éducatif, hypermédia adaptatif dynamique, activités pédagogiques, communication entre agents, KQML.

Remerciements

Mes remerciements vont tout d'abord à Mr Mohamed Tayeb Laskri, professeur de l'université de Annaba pour avoir accepté de diriger ce travail, pour ses précieux conseils et ses orientations malgré ses multiples charges.

Je remercie Mr Mahmoud Boufaida, professeur de l'université de Constantine, qui me fait l'honneur de présider ce jury. Je lui remercie aussi pour tous ses efforts comme responsable de notre poste graduation pour assurer notre formation.

Je remercie Mme Zizette Boufaide, professeur de l'université de Constantine, qui me fait l'honneur d'avoir accepté d'examiner ce travail.

Je remercie Mr Amar Balla, Maître de Conférence de l'INI (Institut National d'Informatique) Alger, qui me fait l'honneur d'avoir accepté d'examiner ce travail.

Je tiens à exprimer une profonde gratitude aux enseignants de la post-graduation de l'année 2002/2003 de Tebessa.

Du fond du mon coeur je remercie mes parents. Aucun mot n'est assez fort pour leur exprimer la reconnaissance sincère que je leur porte pour la richesse de leurs enseignements. Merci à mes frères et à ma soeur pour m'avoir supporté et encouragé, et qui ont partagé avec moi toutes les peines dans la période de réalisation de ce travail.

Je suis heureux d'avoir l'occasion de présenter ma reconnaissance et ma gratitude à mes amis Rachid et Kamel et tous mes amis qui m'ont bien soutenu durant mes études.

Je remercie mon ami Abdelkader, son oncle Abdelouahab et sa famille, qui sont toujours prompts à m'accueillir et à m'héberger lorsque je passais par Annaba.

Je remercie, autre fois, ma mère pour avoir relu ce mémoire et avoir enlevé la majorité des fautes d'orthographe que j'avais laissées.

Listes des figures

Figure1.1:Leprocessusglobald'adaptationdanslessystèmesadaptatifs______21

Figure1.2:Indexationparpage______________________________________29

Figure1.3:Indexationfragmenté_____________________________________29

Figure1.4:Relationdirecte_________________________________________30

Figure1.5:Principedeshypermédiasadaptatifsdynamiques________________36

Figure1.6:Exempledereprésentationdumodèledudomaine______________43

Figure1.7:Extractiondebriquesélémentairesàl'aidedesfiltres_____________45

Figure1.8:ModèleconceptuelledeMETADYNE_______________________46

Figure1.9:ArchitecturedesystèmeTANGOW_________________________48

Figure2.1:CouchesdeJATLite_____________________________________78

Figure2.2:Architectured'unsystèmetutorielintelligentmulti-stratégique______85

Figure 2.3 : L'architecture de CMOS__________________________________86

Figure3.1:Niveaudecompréhensiond'unconceptpourunapprenant_______91

Figure3.2:Représentationdemodèledudomaine________________________92

Figure3.3:exempledecanevasdel'activitépédagogique«familiariser»________94

Figure3.4:Documentmultimédiaetsesattributs________________________95

Figure3.5:Documentmultimédiameta-concept_________________________96

Figure3.6:modèlegénérald'unagent_________________________________97

Figure3.7:Cycledebasedefonctionnementd'unagentcognitif_____________97

Figure3.8:ArchitecturedeHEDAYA_______________________________100

Figure3.9:Communicationparlessockets,cotéserveur__________________103

Figure3.10:Communicationparlessockets,cotéclient__________________104

Figure3.11:ClassedemessageKQML_______________________________104

Figure3.12:inscriptiond'unnouveauapprenant________________________108

Figure3.13:Protocolesdecommunicationpourlescénarioconnexiond'unapprenant______________________________________________________108

Figure3.14:pageindexducours____________________________________110

Figure3.15:protocoled'interactiondanslecasdegénérationetaffichagedepageindexducours__________________________________________________111

Figure3.16:pageindexducourspourleniveaufaiblepourquelquesconceptsetmoyenpourd'autresconceptsavecdesconceptsannotés_________________111

Figure3.17:pageindexdesconceptsprérequis_________________________112

Figure3.18:pagedeconceptconjonction_____________________________113

Figure3.19:protocoled'interactiondescénariodegénérationdepagedeconcept__________________________________________________________114

Figure3.20:Applettestd'évaluationassociéàchaqueconcept_____________114

Figure3.21:Testd'évaluationassociéauconceptEczéma________________115

Figure3.22:protocoled'interactionpourlescénariodemodificationdemodèledel'apprenant_____________________________________________________116

Figure3.23:ArchitecturelogicielledeHEDAYA_______________________119

Listes des tableaux

Tableau 3.1 : Exemple de message KQML_____________________________102

Tables des matières

Introduction____________________________________________________12

Chapitre 1 : Enseignement par ordinateur et système Hypermédia

1 Introduction________________________________________________17

2 L'ordinateur pour l'enseignement, aspects historiques_____________17

2.1 Enseignement Assisté par Ordinateur (E.A.O.)____________________________18

2.2 Enseignement Intelligemment Assisté par Ordinateur (E.I.A.O.) et Système Tuteur Intelligent (STI)____________________________________________________18

2.3 Les Environnements Interactifs d'Apprentissage avec Ordinateur (EIAO)______20

3 Les hypermédias____________________________________________20

3.1 Hypertexte et hypermédia_____________________________________________20

3.2 Les hypermédias adaptatifs____________________________________________21

3.2.1 Les composants principaux des systèmes hypermédias adaptatifs____________________22

3.2.2 Modèle et Modélisation de l'utilisateur________________________________________22

3.2.3 Système hypermédia adaptatif ou adaptable____________________________________24

3.2.4 Technique d'adaptation___________________________________________________25

3.2.5 L'interconnexion entre le modèle du domaine et les pages hypermédias_______________28

3.3 Domaine d'application des hypermédias adaptatifs_________________________30

3.3.1 Systèmes hypermédias éducatifs____________________________________________31

3.3.2 Moteurs de recherche dans les hypermédias____________________________________32

3.3.3 Systèmes d'information en ligne____________________________________________33

3.3.4 Systèmes d'aide en ligne___________________________________________________34

3.3.5 Assistants personnels____________________________________________________34

3.4 Hypermédia adaptatif dynamique_______________________________________35

3.5 Hypermédia dans l'éducation; avantage et inconvénient____________________37

3.5.1 Les hypermédias classiques________________________________________________37

3.5.2 Les hypermédias adaptatifs________________________________________________39

3.5.3 Les hypermédias adaptatifs dynamiques_______________________________________40

4 Les systèmes hypermédias adaptatifs dynamiques METADYNE et TANGOW_____________________________________________________40

4.1 Le système METADYNE, un hypermédia adaptatif dynamique pour l'enseignement___________________________________________________________41

4.1.1 Objectifs de METADYNE________________________________________________41

4.1.2 Les connaissances nécessaires à la génération d'un cours__________________________42

4.2 Le système TANGOW, Task-based Adaptive learNer Guidance On the WWW__46

4.2.1 Teaching Tasks (TT)____________________________________________________47

4.2.2 Rules (règle)___________________________________________________________47

4.2.3 Architecture de TANGOW________________________________________________47

4.2.4 Apprentissage adaptatif dans TANGOW_____________________________________50

5 Conclusion_________________________________________________51

Chapitre 2 : Les systèmes multi-agents

1 Introduction________________________________________________54

2 Concept d'agent_____________________________________________54

2.1 Définition d'un agent_________________________________________________54

2.2 Caractéristiques d'agent_______________________________________________57

2.2.1 Caractéristiques primaires_________________________________________________58

2.2.2 Caractéristiques secondaires_______________________________________________58

2.2.3 Caractéristiques tertiaires__________________________________________________58

2.3 Typologies d'agents__________________________________________________59

2.3.1 Les agents collaboratifs___________________________________________________59

2.3.2 Les agents d'interface____________________________________________________60

2.3.3 Les agents mobiles______________________________________________________60

2.3.4 Les agents d'information__________________________________________________61

2.3.5 Les agents logiciels réactifs________________________________________________62

2.3.6 Les agents hybrides______________________________________________________62

3 Système multi-agents________________________________________62

3.1 Définition___________________________________________________________64

3.2 Propriété des systèmes multi-agents_____________________________________65

3.3 Les composants d'un système multi-agents_______________________________67

3.3.1 Agent________________________________________________________________67

3.3.2 Environnement_________________________________________________________67

3.3.3 Interactions____________________________________________________________68

3.3.4 Organisation___________________________________________________________69

3.4 Communication entre agents___________________________________________70

3.4.1 Stratégies de communication_______________________________________________71

3.4.2 Actes de langages_______________________________________________________72

3.4.3 Langage de communication entre agents______________________________________73

3.4.4 Protocole d'interaction entre agents__________________________________________75

3.4.5 Transport de messages___________________________________________________75

3.5 Interaction et coopération entre agents___________________________________79

3.6 Coordination entre agents______________________________________________80

3.7 Négociation entre agents______________________________________________80

3.8 Utilisateur dans les systèmes multi-agents________________________________81

3.9 Systèmes multi-agents et formation______________________________________82

3.9.1 L'intelligence artificielle pour la formation_____________________________________82

3.9.2 Les systèmes multi-agents pour la formation___________________________________83

Chapitre 3: Hypermédia Educatif Adaptatif dynamique basé Agent, HEDAYA

1 Introduction________________________________________________89

2 Architecture détaillée de HEDAYA_____________________________89

2.1 Modélisation du système______________________________________________90

2.1.1 Modèle de l'apprenant____________________________________________________90

2.1.2 Modèle du domaine______________________________________________________91

2.1.3 Modèle des activités pédagogiques___________________________________________92

2.1.4 Base de documents multimédias____________________________________________94

2.2 Architecture du système_______________________________________________96

2.2.1 Modèle général d'un agent_________________________________________________96

2.2.2 Agent d'interface________________________________________________________98

2.2.3 Agent pédagogique d'adaptation____________________________________________99

2.2.4 Agent de filtrage________________________________________________________99

2.2.5 Agent de modèle de l'apprenant___________________________________________100

3 Communication entre agents_________________________________101

3.1 Le langage de communications utilisé dans HEDAYA_____________________101

3.2 Implémentation de la communication entre les agents de HEDAYA_________102

4 Sélection des liens et utilisation de technique d'annotation des liens_105

4.1 Sélection des liens hypertextes_________________________________________105

4.2 Annotation des liens_________________________________________________106

4.3 Mode libre et mode guidé_____________________________________________106

5 Scénarios d'utilisation de HEDAYA et protocoles d'interaction entre agents________________________________________________________107

5.1 Scénario 1 : Connexion d'un apprenant__________________________________107

5.2 Scénario 2 : génération et affichage de page Index du cours_________________109

5.3 Scénario 3 : affichage de page de concept________________________________111

5.4 Scénario 4 : modification de modèle de l'apprenant________________________114

6 Architecture logicielle de HYDAYA___________________________116

6.1 Choix de langage de programmation____________________________________116

6.2 Choix de plateforme agent____________________________________________117

6.3 Architecture logicielle et outils de développement_________________________117

7 Conclusion________________________________________________116

Conclusion____________________________________________________121

Bibliographie__________________________________________________124

Introduction

Dès l'apparition des premiers systèmes informatiques d'enseignement, dans les années soixante, l'évolution de ces systèmes est très importante, jusqu'à l'apparition d'hypertexte et d'hypermédia ; les hypermédias éducatifs sont apparus dans une tentative d'exploiter ces technologies dans l'enseignement.

La croissance exponentielle de Web dans quelques années courtes a apporté la richesse de la connaissance humaine. Aujourd'hui le Web est un milieu pour exprimer des idées, histoires, faits, intérêts, etc. La simplicité du modèle d'hypertexte (donc hypermédia) derrière le Web est la raison principale de son succès. Ce qui encourage l'utilisation du Web et des hypermédias dans la transmission du savoir.

Les recherches dans les hypermédias adaptatifs produisent des systèmes, et des techniques visées à orienter l'utilisateur et réduire la surcharge cognitive, ces problèmes résultent de l'utilisation des hypermédias. Ces systèmes établissent un profil et un modèle de l'utilisateur, et utilisent ces connaissances pour simplifier la navigation en guidant l'utilisateur dans un hyperespace modélisé par un modèle du domaine, pour trouver la bonne information. Ces systèmes sont utiles dans tous domaines où les utilisateurs ont différents buts et connaissances dont l'hyperespace est considérablement large. L'un des premiers domaines d'application des hypermédias adaptatifs sont les hypermédias éducatifs.

Afin d'améliorer la qualité de l'adaptation et de prendre en compte instantanément de nouvelles données ainsi de permettre la réutilisation des documents didactiques; les chercheurs se sont orientés vers les hypermédias adaptatifs dynamiques dont les pages et les liens sont construits dynamiquement à partir des documents multimédias élémentaires réutilisables.

Les agents fournissent plusieurs avantages, l'autonomie, la flexibilité, la communicabilité, la résolution distribuée des problèmes, etc. Les agents utilisent des plans et des règles pour déduire ses actions dans des circonstances spécifiques, tout en stockant l'information et la connaissance dans les bases de connaissances. Cette technologie peut être utilisée pour modéliser les hypermédias adaptatifs ; les règles adaptatives et les plans donc sont utilisés pour personnaliser l'information aux utilisateurs. En outre, les agents ont été utilisés dans une variété de champs qui ont une similarité avec ces systèmes; agents personnels, agents de filtrage de courriers, systèmes tutoriels intelligents basés agents, hypermédias adaptatifs basés agents, etc. Aussi, cette technologie a vue un vaste succès dans le web, qui étend les outils utilisés pour mettre en oeuvre des systèmes multi-agents sur l'Internet.

L'objectif est de modéliser par un système multi agents, un système hypermédia éducatif, adaptatif au profile et à l'objectif de l'apprenant, dynamique générant la page hypermédia dynamiquement, en présentant plusieurs visions d'un même concept ; ce système est appelé HEDAYA (Hypermédia EDucatif Adaptatif dYnamique basé Agent). Cette modélisation combine entre plusieurs technologies :


·

Les systèmes multi agents, qui modélisent notre système.


·

Les systèmes hypermédias adaptatifs car le cours présenté s'adapte à l'apprenant [Brusilovsky 98]


·

Les tuteurs intelligents, par ce qu'il y a une stratégie d'apprentissage obligeant l'apprenant d'apprendre des concepts avant d'autres selon les relations dans le modèle du domaine [Capuano et al 01].


·

La réutilisation des items didactiques : la base de documents multimédias contient un ensemble de documents réutilisables [Delestre 00].


·

Les activités pédagogiques permettant plusieurs vues d'un même concept selon le niveau de l'apprenant [Balla et al 03].


·

Les documents virtuels car la page hypermédia à présenter à l'apprenant n'existe pas réellement, mais elle est générée dynamiquement suite à une demande de l'apprenant [Ranwez 00].

Notre contribution consiste à :


·

l'utilisation des systèmes multi-agents pour modéliser les hypermédias adaptatifs dynamiques pour bénéficier les avantages fournis par ces systèmes surtout avec ses vastes utilisations sur l'Internent ; différents outils et techniques existes. Le langage de communication utilisé est KQML (Knowledge Query and Manipulation Language)


·

l'introduction des documents méta-concepts, permettant une description générale d'un concept selon l'activité pédagogique suivie, ces documents sont présentés dans la page index du cours. Ces méta-concepts permettent à l'apprenant de gagner tu temps par la vue générale sur le concept sans consulter la page du concept.


·

L'utilisation de technique d'annotation des liens avec les hypermédias adaptatifs dynamiques, permettant la distinction entre liens étudiés et non étudiés.


·

L'introduction de deux modes d'apprentissages, donc de navigation ; mode libre et mode guidé.

On a développé une démonstration du système HEDAYA en utilisant JAVA comme langage de programmation (l'environnement JBuilder 7), XML pour modéliser le modèle du domaine et le modèle des activités pédagogiques, Interbase comme SGBD pour les bases de données des modèles des l'apprenants et la base de documents multimédias. Ce travail présente une approche forte de communication entre les agents qui interagissent en utilisant un sous ensemble des performatifs de KQML (Knowledge Query and Manipulation Language).

Le présent mémoire est organisé en trois chapitres :

Le premier chapitre présente les systèmes d'enseignement par ordinateur, les hypertextes, les hypermédias, les hypermédias adaptatifs et les hypermédias adaptatifs dynamiques, ainsi les différents techniques utilisés dans ces types des systèmes et les domaines de leurs applications. Enfin, on va présenter deux systèmes hypermédias adaptatifs dynamiques : METADYNE et TANGOW.

Le deuxième chapitre présente une étude des concepts agent et système multi-agents ; les différents techniques et outils de modélisation et d'implémentation de ce type de système.

Le dernier chapitre, décrit l'architecture détaillée de système HEDAYA, les différents modèles et agents définis ainsi les différents outils et moyens d'implémentation.

Chapitre 1

Enseignement par ordinateur et système Hypermédia

1

Introduction

Les années soixante sont les années d'apparition des premiers systèmes d'enseignement informatique, ils consistaient tout simplement à présenter à l'apprenant une notion particulière et ensuite à l'interroger et lui posant différentes questions. Dès ces années l'évolution des systèmes d'enseignement est très importante jusqu'à l'apparition d'hypertexte et d'hypermédia, dans une tentative d'exploiter ces technologies dans l'éducation, sont apparus les hypermédias éducatifs et l'enseignement à distance. Les hypermédias éducatifs ont plusieurs types, les hypermédias classiques où un cours statique est créé par l'enseignent sous forme de pages hypermédias, même cours pour tous les étudiants. Les hypermédias adaptatifs modélisent l'apprenant et adaptent le cours selon son niveau. Les hypermédias adaptatifs dynamiques exploitent des documents multimédias réutilisable et créent dynamiquement le cours selon le niveau de l'apprenant.

Ce chapitre est organisé comme suit : La première section présente des aspects historiques sur les systèmes d'enseignement par ordinateur, la deuxième section définit les systèmes hypermédias et présente les domaines d'application de ce type des systèmes, il présente en détail les hypermédias adaptatifs, les composants de ces systèmes et les techniques utilisées pour l'adaptation. Il présente une description générale des hypermédias éducatifs et les hypermédias adaptatifs dynamiques. Cette section présente aussi deux systèmes hypermédias adaptatifs dynamiques; METADYNE et TANGOW.

2

L'ordinateur pour l'enseignement, aspects historiques

La période antérieure à 1970 a vu l'émergence des systèmes d'Enseignement Assisté par Ordinateur (EAO). A partir du constat de certaines limites de ces systèmes, les recherches se sont appuyées sur les techniques d'Intelligence Artificielle (IA) pour concevoir des systèmes plus souples, plus interactifs, s'adaptant mieux à l'utilisateur pour l'aider à apprendre. C'est ainsi que ce domaine de recherche s'est développé depuis 1970 environ aux Etats-Unis, et depuis le début des années 80 en France, sous l'appellation initiale d'Enseignement Intelligemment Assisté par Ordinateur (EIAO). La décennie 80-90 a été marquée par les Systèmes Tutoriels Intelligents (STI), en très forte liaison avec le développement en IA des systèmes à base de connaissances. Elle s'est terminée en 1990 par un changement d'appellation pour le sigle EIAO, signifiant Environnement Interactif d'Apprentissage avec Ordinateur évoquant la volonté de concevoir des systèmes interactifs d'aide à la résolution de problèmes en recherchant la coopération des différents acteurs du système.

2.1

Enseignement Assisté par Ordinateur (E.A.O.)

Les premiers systèmes d'enseignement assisté par ordinateur sont nés au début des années soixante [Merlet 94]. C'est une démarche de formation utilisant des méthodes, des techniques et des moyens informatiques comme outils de création et de présentation du cours dans une session d'EAO. Elle se déroule de manière cyclique : présentation d'informations et d'une question, réponse de l'apprenant, analyse de la réponse puis continuation ou branchement à une autre partie du cours. De façon générale, ces logiciels sont assimilables à des automates d'états finis déterministes

L'EAO a réalisé le passage de cours magistraux présentés par l'enseignant à des systèmes plus riches et plus performants utilisant différents outils d'enseignement. Contrairement au cours magistral, dans lequel l'apprenant reçoit passivement l'information, l'EAO permet d'introduire un genre d'interactivité dans l'enseignement, tel que l'utilisation des moyens multimédias (images fixes ou animées et son aux côtés de texte écrit).

Les didacticiels de l'EAO sont incapables de résoudre eux-mêmes les problèmes qu'ils posent, d'organiser ou de diriger un dialogue correspondant au profil d'un apprenant et d'effectuer des rétroactions. Ce manque de flexibilité dans l'interaction homme-machine ne permet pas d'ajouter de nouvelles notions au sujet d'enseignement ou nouvelles tâche s pédagogiques. Ils ne permettent pas à un enseignant ou un expert du domaine de modifier la manière à enseigner sans réimplanter le système à chaque étape [Lafifi 00].

2.2

Enseignement Intelligemment Assisté par Ordinateur (E.I.A.O.) et Système Tuteur Intelligent (STI)

Les applications des techniques et des principes de l'intelligence artificielle (IA) à l'enseignement par ordinateur ont donné une naissance à un certain nombre de dénominations pour caractériser les produits qui en sont issus. Parmi les plus fréquemment utilisés, on peut citer les termes « Enseignement Intelligemment Assisté par Ordinateur » (Intelligent Computer Aided Instruction), "Système Tuteur Intelligent" (Intelligent Tutoring System) et "Environnement Intelligent d'Apprentissage" (Intelligent Learning Environment)

L'EIAO [Bertrand 01] est une reprise de la problématique de l'EAO par l'intelligence artificielle. Avec le progrès des outils de représentation et de traitement des connaissances, des interfaces homme-machine et des systèmes experts ; l'espoir de développer des tutoriels réellement intelligents a vu le jour, ces systèmes sont caractérisés par :


·

une modélisation des connaissances du domaine et des mécanismes de raisonnement, qui dote les systèmes de la capacité de résoudre des problèmes et de répondre à des questions non explicitement prévues.


·

une modélisation (ou prise en compte) de l'apprenant pour permettre au système de s'adapter dynamiquement et de façon individualisée à son interlocuteur, connaissant son degré de maîtrise des connaissances du domaine et son comportement.


·

une modélisation des stratégies tutorielles, qui autorise le système à intervenir en fonction de la situation, d'objectifs pédagogiques ou du modèle de l'apprenant


·

des capacités de communication souples et variées, avec des possibilités d'intervention et de prise d'initiative de l'apprenant.

Ces idées justifient l'adverbe « intelligemment » ajouté au sigle EAO, à la fois en terme d'intelligence du système et en terme de problématique et de techniques relevant de l'IA.

En très forte liaison avec le développement en IA des systèmes à base de connaissances et en particulier des premiers systèmes experts, les STI (Intelligent Tutoring Systems - ITS) sont nés dans les années 90 à partir d'une idée simple : on dispose d'un système expert pour la résolution de problèmes, d'une base de connaissances pour un domaine, on ajoute un module pour assurer le transfert de connaissances du système vers l'utilisateur et on obtient un système d'apprentissage individualisé qui va servir à former les étudiants en complément à un enseignement classique dispensé par exemple sous forme de cours magistraux.

Généralement, l'architecture des STI comporte quatre composants indépendants : le module «expert du domaine », le module « modèle de l'élève », le module « tuteur » et le module « interface » [Baron 94]. L'expert possède la maîtrise du domaine à enseigner, le tuteur surveille et dirige l'acquisition des connaissances et des raisonnements, le modèle de l'apprenant permet d'intégrer le comportement de ce dernier dans le STI et l'interface assure le dialogue entre l'apprenant et le système.

2.3

Les Environnements Interactifs d'Apprentissage avec Ordinateur (EIAO)

C'est aux environs de 1990 que s'opère un changement dans la vision de l'apprentissage. On passe d'une vision qui était jusqu'alors centrée sur le transfert de connaissances à une vision selon laquelle l'apprenant construit son apprentissage en interagissant avec un environnement [Bruillard 94]. Il s'agit de confronter l'apprenant à un environnement dont le niveau de connaissances est supérieur au sien, provoquant ainsi un écart qu'il va essayer de combler en acquérant et remettant en cause ses connaissances, au fur et à mesure de ses interactions avec le système. Ainsi, l'appellation Environnements Interactifs d'Apprentissage avec Ordinateur (EIAO) est proposée pour se démarquer de l'ancien sigle, trop limité aux travaux concernant les STI, et concevoir des environnements d'apprentissage (Interactive Learning Environments - ILE) regroupant également les approches du type micromonde.

A l'opposé des systèmes « tuteurs », un système de type « micromonde » laisse toute l'initiative à l'élève. Ce type de système fournit un certain nombre d'objets ou primitives de base que l'élève utilise pour concevoir des objets plus complexes au fur et à mesure de l'exploration. Une illustration de ce type de système est donnée par le logiciel Cabri-Géomètre, un micromonde pour expérimenter la géométrie. Il permet à son utilisateur de construire des figures géométriques possédant certaines propriétés à partir d'objets élémentaires comme des points, droites, etc. Ces figures peuvent ensuite être déformées tout en conservant leurs caractéristiques géométriques.

L'évolution rapide des matériels, des logiciels et interfaces de communication homme-machine ont permis d'accroître fortement l'interactivité pour concevoir des systèmes interactifs d'aide à la résolution de problèmes avec une forte communication tout au long du processus d'apprentissage, tout en assurant des tâches de guidage tutoriel et de contrôle des activités de l'apprenant pour favoriser son apprentissage.

3

Les hypermédias

3.1

Hypertexte et hypermédia

Les termes hypertexte et hypermédia peuvent être définis suivant deux points de vue [Delestre 00]. On peut en effet les définir de point de vue de la structure et du point de vue de l'interaction entre l'utilisateur et le système.

Définition structurelle : Un hypertexte définit comme étant un système composé de noeuds et de liens. Les noeuds peuvent être composés d'informations textuelles, on parle alors d'hypertexte, ou d'informations multimédias, tels que des images, des graphiques, des animations, des vidéos ou bien des programmes informatiques, on parle alors d'hypermédia. Les noeuds sont reliés les uns aux autres par des liens.

Les liens peuvent être plus ou moins complexes : ils peuvent être unidirectionnels permettant d'aller d'une page à une autre, ou bidirectionnels, afin de faciliter le retour au point de départ. Ils peuvent être aussi typés afin de spécifier la sémantique de lien. Enfin les liens peuvent être disposés n'importe où dans une page.

Définition fonctionnelle : L'hypertexte peut être considéré comme étant un procédé informatique permettant d'associer une entité souvent minimale : un mot, une image ou une icône à une autre entité souvent plus étendue comme un paragraphe, une image ou une page. Ce mécanisme permet donc à l'utilisateur de se diriger librement dans l'hypertexte. En activant, à l'aide d'un pointeur une zone de document qui est l'origine d'une association. Il n'est donc plus obligé de suivre le cheminement prévu par l'auteur, il définit son parcours en fonction de ses envies et de ses centres d'intérêt.

3.2

Les hypermédias adaptatifs

Les systèmes hypermédias adaptatifs sont des systèmes hypermédias qui reflètent quelques caractéristiques de l'utilisateur dans un modèle d'utilisateur et utilisent ce modèle en adaptant différents aspects du système à l'utilisateur [Brusilovsky 96]. Selon cette définition un système hypermédia adaptatif doit remplir les conditions suivantes (Figure 1.1) :


·

Doit être un système hypermédia permettant la navigation dans un hyperespace du domaine d'application,


·

Doit inclure un modèle d'utilisateur pour décrire l'utilisateur


·

Doit fournir un mécanisme d'adaptation pour permettre l'adaptation de l'hypermédia selon l'état du modèle de l'utilisateur

Figure 1.5 : Principe des hypermédias adaptatifs dynamiques

Les systèmes hypermédias adaptatifs utilisent un modèle de l'utilisateur pour rassembler des informations sur sa connaissance, buts, expériences, etc. pour adapter le contenu et la structure de navigation. Par exemple, pour un utilisateur novice, on lui présente des informations plus préliminaires avant d'entrer dans les détails. Cependant, la même information ne serait pas intéressante pour un expert. Ici, le choix de bonne information au bon temps est la tâche du modèle de l'utilisateur.

3.2.1

Les composants principaux des systèmes hypermédias adaptatifs

La plupart des systèmes hypermédias adaptatifs se constituent de trois composants [Wu 02] :


·

Modèle du domaine contenant une représentation de contenu de l'hyperespace. Ce modèle présente non seulement les items de l'hyperespace (fragments, pages) mais aussi les relations entre ces items.


·

Profil de l'utilisateur ; pour chaque utilisateur, il représente ses caractéristiques appropriés à l'adaptation. Par exemple, les préférences de l'utilisateur, les connaissances, les buts et l'histoire de navigation.


·

Modèle d'adaptation, qui détermine la façon de maintenir le profil de l'utilisateur en observant son comportement, et la façon de produire de l'adaptation en utilisant le modèle du domaine et le profil de l'utilisateur.

3.2.2

Modèle et Modélisation de l'utilisateur

Le modèle d'utilisateur est constitué de descriptions de ce qui est considéré utile sur les connaissances de l'utilisateur et/ou des aptitudes réelles d'un utilisateur, ce modèle fournit des informations à l'environnement pour s'adapter à un utilisateur individuel [Koch 00].

Une partie de ce modèle se relie au domaine de l'information et autre partie se relie seulement à l'utilisateur et à son environnement. Selon Eklund et Zeiliger [Koch 00] les cinq caractéristiques principales représentées dans le modèle de l'utilisateur sont :

1.

le but courant ou la tâche courante de l'utilisateur,

2.

les connaissances de l'utilisateur sur le domaine à présenter dans l'hypermédia

3.

les connaissances générales de l'utilisateur

4.

l'expérience de l'utilisateur, par exemple dans l'utilisation des applications semblables, ou dans l'hyperespace et

5.

les préférences ou les intérêts de l'utilisateur.

Qu'est ce que la modélisation de l'utilisateur? Quel est le modèle de l'utilisateur?

Dans le modèle de l'utilisateur ; l'utilisateur est représenté comme une collection de données. C'est la représentation explicite des aspects de l'utilisateur. Principalement le modèle de l'utilisateur représente les croyances du système sur l'utilisateur.

La modélisation de l'utilisateur est le processus de suivi du cycle de vie entier d'un modèle de l'utilisateur ; comprenant l'acquisition des connaissances sur l'utilisateur, construction, de la mise à jour, l'exploitation du modèle de l'utilisateur.

Les buts principaux de la modélisation de l'utilisateur sont pour:


·

aider un utilisateur pendant l'apprentissage,


·

offrir l'information adaptée à l'utilisateur,


·

adapter l'interface à l'utilisateur,


·

aider un utilisateur à trouver l'information,


·

donner à l'utilisateur son feedback sur ses connaissances,


·

supporter le travail de collaboration, et/ou


·

donner l'aide personnalisé dans l'utilisation d'un système.

Les connaissances de système sur l'utilisateur peuvent être représentées de différentes manières, telles que les modèles par recouvrement (en couches), réseaux sémantiques, profils d'utilisateur, modèles basés stéréotypes, réseaux bayésiens ou modèles de logique floue. Les représentations les plus fréquemment utilisées sont [Koch 00][Delestre 00] les modèles en couche, les modèles des erreurs, les modèles stéréotypés.

3.2.2.1

Le modèle en couche (overlay model)

Cette méthode, nommée aussi méthode de représentation par recouvrement, apparue avec les premiers systèmes d'enseignement, considère le modèle de l'utilisateur comme un sous-ensemble du modèle du domaine, auquel il manque des informations. Dans ce cas le but de l'apprentissage est d'obtenir finalement une superposition parfaite du modèle de l'apprenant sur le modèle du domaine.

La forme la plus simple et la plus ancienne de représentation des connaissances de l'utilisateur est une valeur binaire « connue - inconnue ». La majorité de systèmes utilise ce modèle en associant à chaque concept du modèle du domaine un poids qui peut distinguer plusieurs niveaux de connaissance de l'utilisateur d'un concept en utilisant une valeur qualitative, une valeur quantitative : nombre entier, ou une probabilité que l'utilisateur connaît le concept. Dans le modèle en couche la connaissance de l'utilisateur peut être représentée comme ensemble de paires « valeur - concept », pour chaque concept de domaine. Le modèle en couche est puissant et flexible parce qu'il peut mesurer indépendamment la connaissance de l'utilisateur de différents concepts.

3.2.2.2

Le modèle des erreurs (buggy model)

Cette deuxième méthode est une extension de la précédente. Introduite par J.S. Brown et R.R. Burton [Delestre 00], elle consiste à adjoindre aux données issues de la méthode en couche une liste d'erreurs qu'a commises l'apprenant. Le but est alors d'examiner ces bugs et d'essayer de comprendre leurs origines en les comparant à une liste d'erreurs typiques déjà observées, permettant alors d'améliorer les stratégies pédagogiques du système. Par la suite l'avènement de l'intelligence artificielle distribuée et principalement l'avènement des systèmes multi agents a permis de remplacer cette liste statique d'erreur par la négociation entre agents. Différents agents adoptent chacun un point de vue sur l'état de connaissance et stratégie de résolution de l'apprenant. Ensuite, de par les interactions entre l'apprenant et le système, les agents, par échange de « points de vue », tentent alors de faire émerger un profil cohérent.

3.2.2.3

Le modèle stéréotypé

Dans un modèle stéréotypé les propriétés et les connaissances des utilisateurs sont également représentées avec des combinaisons des valeurs, qui sont assignées aux stéréotypes, tels que le : débutant, intermédiaire, expert. Un utilisateur hérite alors toutes les propriétés définies pour un stéréotype.

3.2.3

Système hypermédia adaptatif ou adaptable

Une distinction claire doit être faite entre les systèmes hypermédias personnalisables, appelés adaptables, et les systèmes adaptatifs [Koch 00]. Dans les deux cas d'utilisateur joue un rôle central et le but final est d'offrir un système personnalisé. Ils diffèrent dans la manière d'adaptation.

Un système hypermédia adaptable permet à l'utilisateur de configurer le système en changeant quelques paramètres, ce qui permet au système d'adapter son comportement. C'est un système externe ou l'utilisateur qui décide quand son modèle devrait être changé, par exemple au début d'une session.

Un système hypermédia adaptatif est un système qui s'adapte de façon autonome au modèle de l'utilisateur. Il suit le comportement de l'utilisateur et l'enregistre dans un modèle de l'utilisateur et adapte le système dynamiquement à l'état actuel du modèle d'utilisateur. Le système utilise les actions de la navigation de l'utilisateur, ses réponses aux questionnaires et l'information initiale que l'utilisateur a fournie pour adapter les noeuds et la navigation. Ces adaptations peuvent être faites en changeant des présentations prédéfinies ou en construisant les pages d'après des pièces d'informations. Dans le dernier cas, une génération dynamique des pages est effectuée, ces systèmes sont également connus en tant que systèmes hypermédias dynamiques [De Bra 99] [Koch 00].

3.2.4

Technique d'adaptation

Un hypermédia est composé de pages et de liens, pour qu'un hypermédia soit adaptatif, il doit pouvoir adapter le contenu de ces pages et ces liens pour mieux guider l'utilisateur dans son cheminement. Les techniques utilisées sont l'adaptation du contenu, l'adaptation de présentation et l'adaptation pour faciliter la navigation [Delestre 00][Brusilovsky 96].

3.2.4.1

L'adaptation du contenu

L'objectif est d'adapter le contenu des pages de l'hypermédia en fonction des caractéristiques, des volontés et des buts de l'utilisateur. Ainsi, les utilisateurs qui accèdent à une même page, mais en ayant des profils différents, doivent visualiser en fait des pages différentes. Pour l'instant, très peu de systèmes effectuent une adaptation du contenu, et lorsqu'ils le font, l'adaptation n'a souvent lieu qu'au niveau des données textuelles.

3.2.4.2

L'adaptation de présentation

L'objectif de l'adaptation de présentation est d'adapter les dispositions visuelles aux préférences ou aux besoins de l'utilisateur. Les méthodes pour la présentation adaptative aident l'utilisateur avec une disposition ou une langue appropriée. L'adaptation consiste à des changements dans la présentation. Parfois ces changements se produisent simultanément avec l'adaptation du contenu. Des méthodes et des techniques d'adaptation de présentation sont souvent groupées avec celles de l'adaptation du contenu. Dans ce travail elles sont présentées séparément afin de distinguer les méthodes et les techniques qui produisent des modifications dans la disposition et les techniques qui changent le contenu montré à utilisateur.

Les méthodes de la présentation adaptative sont : La méthode multi langues, l'objectif de cette méthode est l'adaptation à la langue préférée à l'utilisateur. La méthode de variation de disposition inclut toutes les solutions de changement possibles dans une présentation, par exemple couleur, taille de police ou type de police, taille maximum d'images, orientation des textes, etc.

3.2.4.3

L'adaptation pour faciliter la navigation

Son objectif est d'aider l'utilisateur à se repérer dans l'hyperespace ou à l'inciter, voire l'obliger, à utiliser certains liens plutôt que d'autres. Différentes techniques ont été développées, entre autres; le guidage direct, l'ordonnancement des liens, le masquage des liens, l'annotation des liens ou encore les cartes adaptatives [Brusilovsky 98].

3.2.4.3.1

Le guidage direct

Cette technique a été la première utilisée régulièrement, car très simple et facilement implémentable. Elle est basée sur l'ajout d'un lien hypertexte nommé souvent « suivant » (next en anglais), qui permet d'accéder à la meilleur page suivante, qui est en adéquation avec les objectifs et/ou les capacités de l'utilisateur.

On peut utiliser cette technique en laissant les autres hyperliens existant au préalable ou en les supprimant. Dans ce dernier cas l'hypertexte perd beaucoup de ses capacités d'exploration, puisque le système devient totalement linéaire (il conserve toutefois son aspect dynamique).

En fait, pour être réellement efficace, cette technique doit être utilisée conjointement avec au moins une des techniques suivantes.

3.2.4.3.2

L'ordonnancement des liens

L'ordonnancement des liens est une technique qui propose d'afficher les liens hypertextes suivant un ordre définissant l'intérêt ou l'importance des pages cibles.

Cette technique ne peut pas être utilisée dans tous les cas. En effet, on ne peut pas l'utiliser avec des liens contextuels, c'est-à-dire des liens qui se trouvent au sein de phrases. En fait, on ne peut pas l'appliquer que sur des liens qui appartiennent à un index, ou alors à une carte décrivant l'hyperespace du système.

L'intérêt de cette technique est très controversé. Certaines études ont montré que la non stabilité d'une liste de liens pour une page donnée pouvait désorienter l'apprenant. Et au contraire d'autres études ont montré qu'elle pouvait réduire le temps de navigation.

3.2.4.3.3

Le masquage des liens

La technique dite du masquage de lien consiste à supprimer les liens hypertextes dont les pages cibles sont soit en inadéquation avec le modèle de l'utilisateur (trop simples ou trop compliqués), soit en inadéquation avec les objectifs de l'utilisateur.

Cette technique est facile à mettre en oeuvre, puisqu'il suffit, avant d'envoyer la page à l'utilisateur, d'enlever les liens non désirés, elle permet de réduire la taille de l'hyperespace pour l'utilisateur. Elle s'applique de plus sur tous les types de liens, contextuels ou non, avec des activateurs très divers (texte, bouton, icône, image, etc.).

Cette technique a aussi des défauts ; la suppression des liens hypertextes peut en effet entraîner chez l'utilisateur une mauvaise représentation mentale des tenants et aboutissants de chaque page.

3.2.4.3.4

L'annotation des liens

L'annotation des liens part du principe que l'utilisateur doit savoir où il va avant d'activer un lien. Il faut donc adjoindre à chaque lien des explications sur la page cible ou alors définir une syntaxe ou un codage particulier (par exemple telle icône pour dire que c'est une aide, telle couleur pour dire qu'il s'agit d'un exemple, etc.) [Brusilovsky et al 95].

A la différence des commentaires que l'on peut ajouter à nos liens et images de pages HTML, les annotations de liens, pour être efficaces, doivent être fonction de l'utilisateur.

Cette technique, assez simple à mettre en oeuvre, peut être utilisée pour tous les types de liens, et ne semble pas avoir d'effets de bord néfastes.

3.2.4.3.5

Les cartes adaptatives

Les cartes, ou map en anglais, permettent de présenter à l'utilisateur, l'organisation de l'hyperespace, à l'aide de liens, soit sous forme textuelle (dans ce cas nous avons souvent une représentation hiérarchique de l'hyperespace), soit sous forme graphique. Dès lors, il est possible de présenter à l'utilisateur une organisation plus ou mois simplifié en fonction de son profil.

Bien entendu, l'ensemble de ces méthodes peuvent et même doivent être combinées. Par exemple le système ISIS-Tutor [Brusilovsky 97] utilise les techniques de guidage direct, de masquage de liens et d'annotation de liens.

3.2.5

L'interconnexion entre le modèle du domaine et les pages hypermédias

Pour qu'un système s'adapte à l'utilisateur, il faut qu'il aura au moins deux composantes : le modèle du domaine et le modèle de l'utilisateur. Le modèle du domaine sert à organiser les connaissances et le modèle de l'utilisateur permet d'adapter le contenu et les liens hypertextuels que `on va présenter à l'utilisateur.

Les pages hypermédias, qui présentent les connaissances du domaine, doivent être interconnectés avec le modèle du domaine. [Brusilovsky 03] a dénombré trois méthodes permettant d'interconnecter ces deux composants : l'indexation par page, l'indexation fragmentée et la relation directe.

3.2.5.1

La méthode d'indexation par page

L'objectif de cette méthode est d'indexer tout le contenu des pages de l'hypermédia avec les concepts du modèle du domaine. Ainsi chaque concept est associé à une page d'index qui permet d'accéder à toutes les pages présentant ce concept.

Il est aussi possible de créer des index relatifs aux relations définies dans le modèle du domaine. Ainsi le système peut créer un index par concept et par relation. Cet index réfère l'ensemble des pages de l'hypertexte qui contiennent des références à des concepts et possède m type de relation peut produire n*m index différents.

Cette méthode à été très utilisée dans les hypermédias éducatifs, car le ou les index que l'on peut présenter à l'utilisateur peuvent être modifiés à l'aide des techniques d'adaptation vues précédemment, et ainsi l'obliger, ou du moins d'inciter, à suivre telle ou telle direction.

L'avantage de cette méthode est sa facilité de mise en oeuvre, mais son système d'indexation est un peut grossier. En effet, si une page de l'hypertexte présente ou explicite plusieurs concepts, elle sera indexée plusieurs fois de la même façon.

3.2.5.2

La méthode d'indexation fragmentée

Cette deuxième méthode est en fait une évolution de la méthode précédente ; les pages de l'hypertexte ne sont plus indexées dans leurs globalité, mais indexées par fragment. Cela permet d'avoir une indexation plus fine. Deux index peuvent alors référencer une même page de l'hypertexte mais pas au même endroit.

Outre un guidage de l'utilisateur, cette méthode permet aussi d'obtenir une adaptation au niveau du contenu, puisque les éléments référencés au niveau des index peuvent être très spécifiques et le système peut dans certains cas avoir des informations décrivant chaque élément. On voit en fait apparaître par ce biais l'adjonction de sémantiques au sein des documents hypertextuels, ce qui de nos jours semble assez normal, grâce à l'utilisation du XML (eXtensible Markup Language).

Figure 1.3: Indexationfragmenté

Hypertexte

Index

Modèle du domaine

Figure 1.2: Indexation par page

Hypertexte

Index

3.2.5.3

La relation directe

Cette dernière méthode ce distingue des deux méthodes précédentes par l'absence de page d'index. Ici, la structure de l'hyperespace est totalement calqué sur la structure du modèle du domaine : chaque concept du modèle du domaine est représenté par une page de l'hypertexte (bien que certains systèmes relient de temps à autre un concept à un hyper document, c'est-à-dire une partie de l'hyperespace), et à chaque relation on associe un lien hypertexte.

Vis-à-vis des deux méthodes précédentes, la relation directe exige d'avoir une représentation du modèle domaine sous forme de réseau sémantique (ou tout autre technique) afin de pouvoir déterminer les hyperliens, alors qu'auparavant il suffisait d'identifier les concepts sans être obligés de les associer.

3.3

Domaine d'application des hypermédias adaptatifs

Ces systèmes peuvent être construits pour toute application dont l'hyperespace est assez large et les utilisateurs diffèrent dans leurs connaissances, intérêts, préférences et/ou tâches. Dans le passé, un nombre important de systèmes hypermédias adaptatifs ont été développés pour des buts éducatifs, ils sont considérés dans plusieurs cas comme alternative des systèmes tutoriels intelligents.

Figure 1.4: Relation directe

Hypertexte

Modèle du domaine

Les systèmes hypermédias adaptatifs peuvent être classifiés selon leurs domaines d'application en [Koch 00] : systèmes hypermédias éducationnels, moteurs de recherche dans les hypermédias, systèmes d'information en ligne, systèmes d'aide en ligne et assistants personnels. Quelques exemples sont donnés pour chaque domaine d'application. Une comparaison des systèmes adaptatifs hypermédias peut être trouvée dans [Brusilovsky 96].

3.3.1

Systèmes hypermédias éducatifs

Les systèmes hypermédias adaptatifs les plus populaires sont les systèmes liés au domaine éducatif. Ils sont connus en tant qu'enseignement adaptatif, cours particuliers, apprentissage et systèmes de formation ou connus par le terme récent e-learning. Ces systèmes sont principalement basés sur l'utilisation des connaissances de l'utilisateur pour l'adaptation. Ils supposent que le système adaptatif sera utilisé par un groupe hétérogène d'étudiants ou d'apprenants. Ils observent les étudiants pendant leur travail ou apprentissage.

L'un des travaux les plus intéressants dans ce domaine est le système d'ELM-ART qui enseigne de langage de programmation LISP [Brusilovsky et al 96]. Les techniques d'adaptation utilisées sont le guidage direct (le système choisit la prochaine meilleure étape) et l'annotation des liens. L'annotation suit la métaphore de feu de circulation, où la couleur verte est utilisée pour indiquer qu'une section est prête et recommandée à être apprise, jaune est employé pour prêt à être appris mais non recommandé et le rouge indique non encore prêt à être appris. L'adaptation (l'annotation de lien dans ce cas) est effectuée par le principe de prérequis, i.e. une unité ne doit pas être apprise qu'après toutes les unités prérequises.

Plusieurs autres frameworks des systèmes hypermédias adaptatifs pour l'enseignement connus, tel que : INTERBOOK, TANGOW, KBS Hyperbook, SmexWeb, AHA, ISIS-Tutor et DCG.

INTERBOOK [Brusilovsky et al 96] est un système pour délivrer les manuels électroniques adaptatifs sur le Web. Les manuels électroniques fournis par INTERBOOK ont produit la table des matières, un glossaire et une interface de recherche. Ces livres en ligne (online books), comme dans ELM-ART, utilisent l'annotation colorée pour informer l'utilisateur du statut du noeud de ce lien.

TANGOW [Carro et al 99] structure des cours sur le Web par l'utilisation des tâches et des règles d'enseignement. Il diffère de ELM-ART dans l'utilisation d'un arbre dynamique pour limiter l'ensemble de tâches d'enseignement à examiner. Ceci est réalisé en générant une page dynamiquement incluant seulement ces tâches (fragments), qui sont considérées appropriées à l'utilisateur par le système. Les règles sont utilisées pour analyser les conditions prérequises.

SmexWeb [Albrecht et al 99] est un framework qui permet le développement des applications d'enseignement par l'instanciation d'une collection de classes abstraites et concrètes. Semblable à TANGOW le processus d'apprentissage consiste principalement en définition des concepts (tâches) et des règles d'adaptation. Tous les types d'adaptation sont utilisés par SmexWeb : adaptation de contenu, l'adaptation pour faciliter la navigation, l'adaptation de présentation.

AHA (Adaptive Hypermedia Applications) [De Bra et al 98] est un système générique d'hypermédia basé sur l'adaptation des pages en utilisant des blocs conditionnels dans le code de la page en utilisant XHTML, dont les documents de concept spécifient la connaissance requise de l'utilisateur. La structure du domaine est semblable à la structure de SmexWeb. Des concepts sont liés à d'autres concepts par des liens évalués.

Le système ISIS-Tutor [Brusilovsky 97] utilise différentes formes de navigation adaptative, telles que guidance directe, annotation et masquage de liens. Le but est de souligner les liens correspondant au but de l'étudiant et masquer les concepts appartenant aux objectifs futurs d'étude.

Le système DGC (Dynamic Course Generation) proposé par [Vassileva 97] représente une approche tout à fait différente. Il consiste d'une structure de domaine de concept représentée comme plan, qui relie des concepts connus pour l'étudiant avec le concept but du cours. Le plan est alors adapté dynamiquement selon le progrès de l'étude. Ceci a comme conséquence les changements dans les sous tâches et les étapes à suivre par l'étudiant.

3.3.2

Moteurs de recherche dans les hypermédias

Les moteurs de recherche dans les hypermédias combinent les systèmes de recherches traditionnelles avec les caractéristiques des hypermédias. L'objectif est d'obtenir un ensemble maniable de réponses à une requête mise à un hyperespace d'information. Les réponses sont un ensemble de liens obtenus par le moteur de recherche. Ces systèmes habituellement limitent le choix de navigation et donnent les conseils ; les liens les plus appropriés.

Un exemple très réussi est le système HyperMan conçu par Mathé et Chen [Mathé et al 96]. Ce système aide des contrôleurs de vol de navette spatiale de la NASA à accéder et organiser la grande quantité d'information. L'utilisateur peut marquer n'importe quelle partie d'un document en tant que pièces d'intérêt et indexer une partie avec des concepts définis pour l'utilisateur. Il peut alors rechercher les parties marquées de documents.

Le système Personal WebWatcher [Mladenic 00] basé sur le système WebWatcher [Armstrong et al 1995], c"est un agent qui observe l'utilisateur sans demander de l'utilisateur des mots-clés, des préférences ou des évaluations. Il analyse les pages demandées dans le passé récent. L'adaptation consiste d'annoter les liens apparus au système intéressant à l'utilisateur.

3.3.3

Systèmes d'information en ligne

Les systèmes d'information en ligne fournissent une référence d'accès à l'information dans un hyperespace. Ce groupe inclut les applications de e-commerce, des systèmes de recommandation, des bibliothèques numériques, des catalogues électroniques et toutes classes de documentation en ligne. L'objectif de l'adaptation est d'offrir les concepts ou les informations demandées à l'utilisateur d'une manière appropriée, c.-à-d. selon ses objectifs, ses connaissances de base et ses préférences. Un exemple typique est l'administration d'un menu adaptatif de signet (book mark). Les signets peuvent être choisis, assortis et/ou annotés selon la fréquence absolue, relative ou séquentielle de l'utilisation de documents, i.e. pour le temps entier d'utilisation du système, dans le récent passé ou l'utilisation successive.

Les applications de ce groupe diffèrent des systèmes hypermédias adaptatifs éducationnels, car elles ne présentent pas une introduction systématique à un sujet d'étude. Les exemples des applications dans ce domaine sont: PUSH, Swan, MetaDoc, AVANTI, CiteSeer et des produits commerciaux, tels que les systèmes Amazon.com et FindMe.

Le système PUSH (Plan and User Sensitive Help) [Höök 98] est un système d'information qui adapte seulement le contenu à l'utilisateur en appliquant la technique d'ajustement de texte. Il n'affecte pas comment la navigation de l'utilisateur entre les pages, il affecte seulement le volume d'information présentée dans une page.

Swan [Garlatti et al 99] est un serveur Web adaptatif et navigateur pour des systèmes d'information en ligne au sujet des publications nautiques. La structure de son modèle de l'utilisateur est basée sur des stéréotypes. Elle se compose de classes d'utilisateurs, d'un modèle de tâche et d'un modèle individuel. La classe du marin est utilisée pour la présentation adaptative. Pour la navigation adaptative, il utilise le modèle de tâche qui utilise la classe du navire, un modèle individuel pour chaque utilisateur et le contexte de navigation.

3.3.4

Systèmes d'aide en ligne

Des systèmes d'aide en ligne sont toujours attachés aux outils ou à d'autres systèmes. D'un côté ils sont des systèmes d'information en ligne, mais l'objectif est d'aider l'utilisateur quand elle a des difficultés avec l'outil ou le système. Cette aide consiste à présenter l'information d'aide une fois demandée (comme dans les systèmes d'information en ligne) et identifier automatiquement quand l'utilisateur a besoin d'aide. Les systèmes d'aide en ligne adaptatifs ont l'avantage de connaître le contexte dans lequel l'utilisateur travaille.

Un très connu système d'aide adaptatif, mais n'est pas très efficace ni très accepté, est l'assistant de Microsoft Word.

ORIMUHS [Encarnaçao 97] est un framework pour les systèmes d'aide en ligne adaptatifs. Il est basé sur la gestion de discours d'action-niveau, l'évaluation statistique et probabiliste et les techniques de modélisation de l'utilisateur, telles que des stéréotypes et des modèles en couches. L'assistance intelligente de l'utilisateur est initialisée et peut être contrôlée par l'utilisateur, mais la présentation réelle est calculée par le système.

3.3.5

Assistants personnels

Des assistants personnels sont développés pour contrôler d'une manière personnalisée un vaste hyperespace et un hyperespace changeant dynamiquement. Ils sont utiles aux utilisateurs qui ont besoin d'accéder certains types d'information dans un hyperespace, tel que le Web, fréquemment. Les assistants personnels sont des agents qui recherchent dans un espace défini identifiant l'information utile à l'utilisateur. Pour décider quelle information est utile pour l'utilisateur, le système se base sur un modèle de l'utilisateur. Ces agents recherchent l'espace de l'information à une certaine fréquence recherchant la nouvelle information, mettant à jour les items déjà identifiés et éliminant les items qui ne sont pas mis à jour.

Le système ifWeb est un agent adaptatif basé sur le modèle de l'utilisateur qui soutient l'utilisateur dans leur navigation dans le Web, c.-à-d. un assistant de recherche dans l'hypermédia. Il navigue de façon autonome, rassemble des documents et les classifie. Le mécanisme adaptatif laisse maintenir le modèle de l'utilisateur, il inclue les intérêts et les non intérêts de l'utilisateur [Asnicar et al 97].

Les assistants personnalisés de e-commerce forment un type spécial d'assistants, qui visent à augmenter l'acceptation du e-commerce en offrant un service personnalisé. Les exemples des magasins électroniques adaptatifs dans le Web sont AMPres, TELLIM [Koch 00], Web Shop [Aberg et al 99] et SETA [Ardissono et al 99].

3.4

Hypermédia adaptatif dynamique

Afin d'améliorer la qualité de l'adaptation et de prendre en compte instantanément de nouvelles données, les chercheurs se sont orientés également vers les hypermédias adaptatifs dynamiques [Delestre 00].

La principale caractéristique de ces systèmes est d'offrir un hypermédia virtuel. Le système n'est plus constitué de pages et de liens prédéfinis; ils sont construits dynamiquement (Figure 1.5). L'architecture de ces systèmes repose sur quatre composantes principales : le modèle du domaine, le modèle de l'utilisateur, une base de documents et un générateur de pages. Le modèle du domaine, comme celui des hypermédias adaptatifs, permet de définir l'architecture globale du système. Il y a par conséquent une adéquation entre les noeuds du modèle du domaine et les pages de l'hypermédia virtuel, ainsi qu'entre les relations du modèle du domaine et les liens de l'hypermédia virtuel.

L'utilisation d'un tel système présente plusieurs avantages :

Tout d'abord, l'adjonction d'un nouveau support peut être immédiatement prise en compte, puisque encore une fois, les pages du système sont construites dynamiquement.

Ensuite, les concepteurs de l'hypermédia ne sont pas obligés de penser à la façon d'agencer les différents documents, ils doivent juste définir l'architecture générale du système (le modèle du domaine) et déterminer, récupérer ou créer les documents qui vont servir à présenter chaque concept.

Ils sont généralement constitués de trois composants essentiels à savoir [Behaz et al 04] : modèle du domaine, modèle de l'apprenant et générateur du cours.

Une des principales caractéristiques de modèle du domaine est sa compétence en termes de capacité de représentation des connaissances. Il permet de définir des fragments d'information en spécifiant leurs taille, type, contenu, indexation, mécanisme de filtrage, organisation et assemblage afin de suivre l'apprenant.

Le modèle de l'apprenant est le noyau de tout système adaptatif. Il a pour but de représenter le plus fidèlement possible l'apprenant. Il permet d'adapter le contenu, la présentation d'un document ainsi que la navigation. Il constitue un modèle individuel puisqu'il permet de gérer des informations individuelles.

La base de documents multimédias didactiques (teaching materials)

Le générateur du cours est un moteur qui a pour but de générer un document personnalisé à partir de l'espace d'information du modèle de l'apprenant. Ce composant est en mesure de créer des page qui vont être présentées à l'apprenant en appliquant des règles de structuration et de présentation

Le principal attrait de ce type de systèmes est d'assurer une meilleure adaptation aussi bien au niveau contenu qu'au niveau lien. Ceci permet de fournir un Document Virtuel Personnalisé (DVP). En revanche ces systèmes souffrent d'une limite assez importante, en occurrence leur complexité. Cette complexité est due d'une part aux différents traitements de sélection et de combinaison (assemblage) effectués sur les données, et d'autre part à la manière de caractériser les ressources pédagogiques impliquées.

3.5

Hypermédia dans l'éducation; avantage et inconvénient

Dès sa création, les hypermédias par leur structure ont semblé être un nouvel outil pour la transmission du savoir, et donc utile dans un cadre éducatif. Aujourd'hui, cet intérêt est encore de mise, voire plus, grâce au développement exponentiel du réseau planétaire Internet, avec toutes les nouveautés qui l'accompagnent, tant au niveau technique (applications distribuées, vidéo en temps réel - ou streaming -, visioconférence à bas prix, etc.) qu'au niveau conceptuel; comme par exemple de classe virtuelle.

Nous allons maintenant énumérer les avantages et les inconvénients de l'utilisation des hypermédias dans un cadre éducatif.

3.5.1

Les hypermédias classiques

3.5.1.1

Avantages

Deux grands atouts ; issue de la structure intrinsèque des hypermédias, émergent de leur utilisation dans un cadre éducatif : la composante multimédia et la composante hypertexte.

L'apport du multimédia dans l'éducation est très controversé : le multimédia apporte-t-il de réel bénéfices au transfert de la connaissance dans un cycle d'apprentissage, ou le multimédia est il un phénomène de mode? A ses débuts, pour l'ensemble de la communauté scientifique, il semblait logique l'utilisation de données multimédias dans des logiciels éducatifs, et plus généralement dans les systèmes d'information, apportât obligatoirement un plus. On se basait alors sur des hypothèses, telles que : plus on stimule nos sens, plus l'information est compréhensible, le multimédia permet de capter plus longtemps l'attention de l'utilisateur, l'aspect ludique du multimédia est bénéfique.

Les hypertextes, par leur structure, aident l'apprenant à mieux se représenter la connaissance, à mieux appréhender les tenants et les aboutissants de chaque concept. La non linéarité de la progression de l'apprenant l'oblige à se construire sa connaissance en créant des connections entre les concepts.

Les hypertextes ont les avantages suivants [Delestre 00] :


·

Les hypertextes favorisent la pensée associative, puisqu'ils permettent de présenter les tenants et les aboutissements de chaque concept.


·

Les hypertextes favorisent l'initiative de l'apprenant, puisque l'apprenant interagit avec le système, il ne peut pas rester passif.


·

Les hypertextes sont un support à l'apprentissage collaboratif, car contrairement aux autres supports pédagogiques tels que les livres, plusieurs apprenants peuvent l'utiliser simultanément. Les hypermédias sont alors un outil propice à la résolution de problèmes en groupe, ce qui peut amener des discussions, des négociations entre les apprenants.


·

Les hypertextes facilitent l'apprentissage interdisciplinaire. Il est en effet tout à fait envisageable de construire des ponts entre différents hypermédias. On peut imaginer par exemple que la présentation d'une notion de science physique par un hypertexte fasse référence à des notions mathématiques dans un autre hypertexte, et fasse aussi référence au découvreur de cette notion ou théorie dans un troisième hypertexte historique.

3.5.1.2

Inconvénients

Malheureusement ces avantages peuvent devenir préjudiciables. Rhéaume [Delestre 00] souligne en effet que plusieurs problèmes peuvent apparaître lorsqu'on utilise les hypermédias à des fins éducatives. L'apprenant peut rencontrer deux problèmes que tout utilisateur d'Internet a déjà rencontré; la désorientation et la surcharge cognitive.

La désorientation est issue de la facilité de déplacement entre les noeuds dans le système. Cette liberté de déplacement peut finir par troubler l'apprenant. Il risque de se poser des questions de type : « Où suis-je? », « pourquoi suis-je là? » ou encore « Que doit-je faire? ». Ceci est principalement dû à notre mémoire à court terme, puisque les êtres humains ne sont pas capable de mémoriser sur le moment qu'un nombre limité d'informations.

La surcharge cognitive est provoquée par « l'avalanche d'information » que risque de déverser le système. En effet, la redondance, pour être bénéfique, doit être construite de façon intelligente. En aucun cas, il ne faut présenter la même information à l'aide de différents médias ne nécessitant pas le même niveau de connaissance.

3.5.2

Les hypermédias adaptatifs

3.5.2.1

Avantages

Les hypermédias adaptatifs représentent une avancée non négligeable vis-à-vis des hypermédias classiques. Ils sont un atout pour les utilisateurs de système : les enseignants et les apprenants.

Tout d'abord, les différentes techniques utilisées permettent à l'étudiant d'être guidé dans son apprentissage. Ainsi, sans toutefois annihiler la liberté de navigation intrinsèque aux hypermédias, l'étudiant est constamment guidé dans son cheminement. Plusieurs études ont montré l'intérêt des hypermédias dynamiques vis-à-vis des hypermédias dits classiques ou statiques. Les hypermédias dynamiques peuvent améliorer l'assimilation des connaissances, ils peuvent réduire de façon considérable le parcours de l'utilisateur dans l'hyperespace.

Les hypermédias adaptatifs (surtout pour ceux qui effectuent une relation directe entre le modèle du domaine et les pages de l'hypermédia) permettent aux enseignants de mieux structurer leur travail. En effet, le fait de distinguer la connaissance des outils qui permettent de la présenter, éclaircit le travail de l'enseignant. Ce dernier peut alors mieux structurer son travail en pensant tout d'abord à l'organisation des connaissances, et ensuite à la façon de les exposer.

3.5.2.2

Inconvénients

Tout d'abord, l'accent a surtout été mis sur l'adaptation des liens afin de guider l'apprenant dans son cheminement. Or l'adaptation du contenu qui a souvent été mise à côté. Parce que la méthodologie de développement et l'architecture de ces systèmes hypermédias adaptatifs sont issues de systèmes hypermédias classiques déjà définis. Auxquels les chercheurs ont ajouté des techniques d'adaptation. Or, alors qu'il est assez aisé de cacher des liens, ou bien de les annoter. Il est beaucoup plus difficile de remplacer un item d'une page ou bien modifier la structure d'une autre.

Ensuite, on sait qu'un bon système éducatif doit être un système ergonomiquement uniforme (par exemple dans les livres scolaires, les différents cours ont, à peut près, la même architecture et le même enchaînement logique). Or rien n'oblige les hypermédias à suivre cette démarche, ce qui peut être dommageable pour l'apprenant.

Enfin, tout comme un enseignant, il faut que le système puisse utiliser immédiatement toute nouvelle connaissance, ou tout nouveau média pour présenter une nouvelle connaissance. C'est une des caractéristiques d'un bon enseignant, il doit par exemple utiliser au maximum l'actualité pour agrémenter son cours. Ainsi, si une personne trouve ou construit un nouveau média en rapport avec un des concepts enseignés, le fait de l'ajouter doit permettre au système d'enrichir instantanément les cours sur ce concept, ce qui pour l'instant n'est pas très aisé à réaliser.

3.5.3

Les hypermédias adaptatifs dynamiques

L'utilisation de ce type de système apporte les avantages suivants :


·

Tout d'abord l'adjonction d'un nouveau support peut être immédiatement pris en compte, puisque les pages du système sont construites dynamiquement.


·

Ensuite, les enseignants ne sont pas obligés de penser à la façon d'agencer les différents médias, ils doivent juste définir l'architecture générale du système (le modèle du domaine) et déterminer, récupérer ou créer les matériaux pédagogiques qui vont être utilisés pour présenter les notions introduites dans les cours.

En revanche ces systèmes souffrent d'une limite assez importante, en occurrence leur complexité. Cette complexité est due d'une part aux différents traitements de sélection et de combinaison (assemblage) effectués sur les données, et d'autre part à la manière de caractériser les ressources pédagogiques impliquées.

4

Les systèmes hypermédias adaptatifs dynamiques METADYNE et TANGOW

Nous présentons dans ce qui suit deux systèmes hypermédias adaptatifs dynamiques caractérisant les concepts présentés ci-dessus : METADYNE [Delestre 00], un hypermédia dont le but est de fournir un cours en ligne adapté aussi bien aux connaissances qu'aux préférences de l'utilisateur. Le deuxième système est TANGOW,

4.1

Le système METADYNE, un hypermédia adaptatif dynamique pour l'enseignement

D'après ce que l'on a vu précédemment, l'architecture des hypermédias adaptatifs dynamiques doit reposer sur quatre composantes principales : le modèle du domaine, le modèle de l'utilisateur, une base de documents multimédias et un générateur du cours. Cependant l'utilisation des hypermédias adaptatifs dynamiques soulève quelques questions :


·

Quelles connaissances doit intégrer le système?


·

Comment construire dynamiquement les pages de l'hypermédia?


·

Comment développer ce type de projet pour qu'il soit accessible depuis un simple navigateur Web?

4.1.1

Objectifs de METADYNE


·

Distinguer le fond de la forme afin d'inciter les enseignants à suivre une méthodologie de construction, le système ne doit pas leur permettre d'agencer les items didactiques pour construire leurs cours. Il doit tout d'abord leur permettre d'identifier les notions qui sont introduites dans les cours, en les reliant par différents types de relations.


·

Permettre aux enseignants de changer leurs points de vues.


·

Améliorer l'adaptabilité : cette distinction entre le fond et la forme va permettre d'étendre l'adaptabilité du système. En effet alors qu'auparavant, seule les volontés de l'enseignant transparaissaient dans les cours, avec METADYNE les apprenants vont pouvoir spécifier certaines caractéristiques qui seront utilisés par le générateur du cours.


·

Vers un système adaptatif : si l'on insère dans METADYNE le profil de l'apprenant, le générateur de cours pourra en tenir compte, ce qui modifiera les cours produits. Dès lors tout cours produit par le système, sera fonction des informations fournies par l'enseignant, des caractéristiques fournies par l'apprenant et du profil de l'apprenant.


·

Fournir des outils intuitifs : les possibilités actuelles des navigateurs nous permettent de concevoir un système dont les outils sont de véritables applications qui peuvent être activées comme une page Web et s'exécuter au sein du navigateur.

4.1.2

Les connaissances nécessaires à la génération d'un cours

Nous allons commencer par analyser les connaissances liées aux enseignants, c'est à dire le modèle du domaine. Puis nous nous intéressons au modèle de l'apprenant, nous définirons par la suite les composants qui vont permettre de construire les cours ; qui sont les briques élémentaires. Nous finirons en indiquant comment le générateur de cours utilise ces différentes connaissances.

4.1.2.1

Le modèle du domaine

Un modèle du domaine représente le savoir des enseignants, il est modélisé par un réseau sémantique. Les différentes connaissances sont organisées de façon hiérarchique, il incombe aux enseignants de définir cette hiérarchie ; un cours est induit des notions qui peuvent elles-mêmes référencer d'autres notions, les différents agencements doivent être représentés, il en a la définition de quatre relations caractérisant les liens entre les notions:


·

La relation de prérequis qui indique que l'apprentissage d'une notion A est assujettie à la maîtrise de la notion B.


·

La relation d'analogie qui indique que la maîtrise d'une notion A peut aider l'apprentissage d'une nouvelle notion B.


·

La relation de conjonction qui indique que l'apprentissage d'une notion A s'effectue via l'apprentissage séquentiel d'une succession de notions Aj


·

La relation de disjonction forte qui indique que l'apprentissage d'une notion A peut s'effectuer via l'apprentissage de l'un des notions Aj.

Comme l'analogie entre deux notions peut être plus ou moins importante ainsi que la relation de prérequis, ces deux relations seront pondérées suivant l'importance que l'enseignant accorde à chacune d'elles.

La Figure 1.6 présente un exemple de représentation du modèle du domaine présentant le cours « Oscillation électrique libre » par l'enseignant X.

4.1.2.2

Le modèle de l'apprenant 2.2 Le modèle de l'apprenant

Le modèle de l'apprenant doit intégrer aussi bien les connaissances de l'apprenant sur le modèle du domaine, ce qui l'on nomme le modèle épistémique, que les particularités non épistémiques, c'est-à-dire les préférences de l'apprenant ou ses objectifs pédagogiques. Ce deuxième sous modèle rarement utilisé, se nomme le modèle comportemental. Le modèle de l'apprenant doit intégrer aussi bien les connaissances de l'apprenant sur le modèle du domaine, ce qui l'on nomme le modèle épistémique, que les particularités non épistémiques, c'est-à-dire les préférences de l'apprenant ou ses objectifs pédagogiques. Ce deuxième sous modèle rarement utilisé, se nomme le modèle comportemental.

-

Le modèle épistémique : Le modèle épistémique peut être considéré comme un dérivé du modèle du domaine. Ainsi, chaque concept du modèle du domaine est associé au modèle épistémique de l'apprenant par une relation pondérée. Afin d'améliorer ce modèle, le facteur temps est introduit comme une variable d'une fonction d'oubli. Le modèle épistémique n'existe donc que par les relations qui le relient au modèle du domaine. La pondération de celles-ci indique la connaissance qu'a le système sur la connaissance de l'utilisateur sur ce un concept. Cette valeur peut être soit « j'ignore l'état de connaissance de l'utilisateur » et dans ce cas on associe une valeur réelle, proportionnelle au niveau de connaissance de l'utilisateur, et remise à jour régulièrement en fonction de la date de la dernière relecture de ce concept par l'apprenant. - Le modèle épistémique : Le modèle épistémique peut être considéré comme un dérivé du modèle du domaine. Ainsi, chaque concept du modèle du domaine est associé au modèle épistémique de l'apprenant par une relation pondérée. Afin d'améliorer ce modèle, le facteur temps est introduit comme une variable d'une fonction d'oubli. Le modèle épistémique n'existe donc que par les relations qui le relient au modèle du domaine. La pondération de celles-ci indique la connaissance qu'a le système sur la connaissance de l'utilisateur sur ce un concept. Cette valeur peut être soit « j'ignore l'état de connaissance de l'utilisateur » et dans ce cas on associe une valeur réelle, proportionnelle au niveau de connaissance de l'utilisateur, et remise à jour régulièrement en fonction de la date de la dernière relecture de ce concept par l'apprenant.

-

Le modèle comportemental : Alors que le modèle épistémique est toujours présent dans les systèmes d'enseignement, le modèle comportemental est le plus souvent très limité voire absent. Or le système adaptatif se veut très proche de l'apprenant, ce qui signifie qu'il doit prendre en compte aussi bien ses préférences, ses objectifs, que ses capacités naturelles:

1.

Les préférences de l'apprenant vont avoir un impact sur l'organisation des pages qui lui seront présentées. Lors de l'initialisation de son modèle, l'apprenant spécifiera les caractéristiques de ce que l'on nomme un canevas. Ce canevas servira de modèle pour la construction de toutes les pages qui lui seront adressées.

2.

Les objectifs de l'apprenant auront une influence sur le comportement du système. En effet, que l'utilisateur veuille réviser pour un examen, ou qu'il veuille approfondir de façon informelle ses connaissances.

3.

Enfin, les capacités de l'apprenant seront pris en compte, non pas de façon globale, mais par type de matière.

4.1.2.3

Le générateur du cours

Cette dernière composante est chargée de la création des pages qui vont être présentées à l'apprenant. Ainsi, une fois que l'apprenant a précisé le cours qu'il voulait suivre, il indique au système les objectifs de ce cours (par exemple en vue d'un examen ou d'un simple apprentissage). Le système peut alors récupérer le concept correspondant ainsi que les notions en relation avec ce dernier.

Le générateur du cours va essayer pour chaque élément du canevas de l'apprenant de trouver le meilleur média. Pour cela, il va récupérer l'ensemble des briques élémentaires, associées à la notion courante en se restreignant au point de vue choisi par l'apprenant.

Pour choisir la meilleure brique élémentaire, le générateur du cours applique trois filtres:


·

Le premier permet d'extraire un sous-ensemble de brique pour un type cognitif donné.


·

Le second permet d'effectuer la même opération mais pour un ensemble de niveau cognitif déterminé.


·

Le troisième effectue l'extraction pour un type physique donné.

Comme le montre la Figure 1.7, l'utilisation successive de ces trois filtres permet d'extraire « la meilleure brique élémentaire ». Si l'utilisation des filtres induise un ensemble vide en sortie, les règles suivantes sont appliquées:


·

Si nous n'obtenons aucune brique comme résultat du troisième filtre, nous élargissons la recherche en prenant en considération l'ordonnancement des types physiques définis.


·

Si à l'issue du deuxième filtre, nous n'obtenons aucune brique dont le niveau cognitif est équivalent à la connaissance de l'apprenant, nous réitérons l'opération en recherchant des briques dont le niveau cognitif est inférieur au niveau de l'apprenant.


·

Si à l'issue du deuxième filtre, nous n'obtenons aucune brique dont le niveau cognitif est inférieur ou égal à la connaissance de l'apprenant, nous réitérons l'opération en cherchant des briques dont le niveau cognitif est supérieur au niveau de l'apprenant.


·

Si à l'issue du premier filtre, nous n'obtenons aucune brique, nous réitérons la recherche en prenant un point de vue plus large, c'est-à-dire en ajoutant successivement le point de vue des enseignants du même domaine, puis ceux des champs d'enseignement « supérieur » dans la hiérarchie des domaines d'enseignement.

4.1.2.4

La sélection des liens hypertextuels

Une fois que le contenu d'une page est construit, il faut déterminer les liens hypertextes permettant à l'utilisateur d'accéder à des notions sous-jacentes, pour cela il suffit de prendre en compte :


·

Les relations du modèle du domaine;


·

Le modèle épistémique;


·

Le type de cours désiré ; en vue d'un examen, en vue d'un parcours plus libre

Enfin, il faut déterminer le type de page ou de lien hypertexte pour chaque type de relation du modèle du domaine.

La Figure 1.8 résume l'architecture du système

4.2

Le système TANGOW, Task-based Adaptive learNer Guidance On the WWW

Le système TANGOW (Task-based Adaptive learNer Guidance On the WWW) [Carro et al 99] est un outil pour développer des cours sur Internet. Ce système facilite la construction des environnements adaptatifs d'apprentissage sur le Web et permet de guider les étudiants pendant leur apprentissage, basé sur les profils des étudiants et l'historique des actions précédentes. Les cours sont structurés au moyen de tâches d'enseignement (Teaching Tasks) et de règles, qui sont stockées dans une base de données. Dans TANGOW un processus d'étudiant est lancé pour chaque étudiant relié au système. Chaque processus d'étudiant se compose de deux modules principaux : un directeur de tâche (Task Manager) qui guide les étudiants dans leur apprentissage, et un générateur de page qui produit des pages HTML. Le processus d'étudiant maintient aussi des informations sur les actions effectuées par l'étudiant. Cette information est utilisée par TANGOW pour adapter le contenu de cours au progrès de l'apprentissage de l'étudiant. TANGOW a également les informations sur des profils d'étudiant, qui sont utilisées pour choisir, au temps d'exécution, le contenu de chaque page HTML à présenter.

4.2.1

Teaching Tasks (TT)

Un cours est décrit en termes de tâches d'enseignement (TT : Teaching Tasks) et de règles. Un TT est l'unité de base qui apparaît dans l'apprentissage, qui peut être atomique ou composé. La connaissance est représentée au moyen de TTs qui doivent être réalisés. TTs peuvent être théoriques, pratiques ou un ensemble d'exemples. En outre, un TT peut avoir une liste d'éléments de médias (texte, images, vidéos, applet, animations...) associés. Un langage de description qui indique les positions relatives de ces éléments de médias est utilisé dans la construction de pages HTML, qui seront présentées aux étudiants. Les éléments spécifiques inclus en ces pages dépendrent aux informations sur le profil de l'étudiant et son processus d'apprentissage.

4.2.2

Rules (règle)

Les règles décrivent comment un TT est divisé en sous tâches. Il peut y avoir plusieurs règles pour le même TT, chacune d'eux représente une manière spécifique de décomposer le TT en sous tâches. Il peut être nécessaire d'exécuter toutes ces sous tâches suivant un ordre fixe (AND sequencing), dans n'importe quel ordre (ANY sequencing), ou seulement certains d'entre eux (OR/XOR sequencing). En outre, les règles définissent les conditions à appliquer, qui peuvent dépendre des informations sur les tâches déjà réalisées, le profil de l'étudiant et la stratégie d'apprentissage suivie.

4.2.3

Architecture de TANGOW

L'architecture de TANGOW est basée sur le paradigme standard de Web, où le serveur reçoit des demandes des étudiants par leurs navigateurs. Pour chaque étudiant connecté au système, il y a un processus : Task Manager, qui contrôle l'apprentissage de l'étudiant pendant la session. Si le même étudiant suit plus d'un cours, il y aura un Task Manager pour chacun d'eux. Tous ces processus sont contrôlés par un Process Manager qui reçoit des informations sur les actions de l'étudiant d'un programme CGI exécuté sur le serveur Web. Le Task Manager stocke des informations sur les actions de l'étudiant et envoie l'information appropriée au Page Generator qui produit des pages HTML dynamiquement et les envoie de nouveau à l'étudiant par le programme CGI. Tous ces modules utilisent l'information stockée dans les bases de données suivantes :

Users DB, Il contient des données sur les profils des étudiants et leurs actions pendant l'apprentissage. Un profil d'étudiant inclut l'information personnelle telle que son âge, langue choisie et préférences en ce qui concerne la stratégie d'étude.

Course Content DB, Il contient tous les éléments de médias (textes, images, vidéos, animations, simulations, applet, etc.) qui apparaîtront dans les pages HTML. Ils sont classifiés selon des attributs définissant le profil d'étudiant (i.e. langue, âge...).

Teaching Tasks Repository, Il contient une description générale de toutes les tâches d'enseignement qui ont été définies par le concepteur de cours. Cette description inclut des attributs généraux de tâche tels que son nom, description, type de contenu (théorique, pratique ou exemple), type de composition (atomique ou composé), conditions d'achèvement (une fonction qui décide, au temps d'exécution, si des tâches ont été accomplies), et une liste facultative d'éléments de médias utilisés pour la génération de page.

Tous les composants mentionnés ci-dessus du système sont illustrés sur la , où les flèches pointillées représentent l'écoulement de l'information et les solides représentent la communication interprocessus. La flèche blanche représente un appel de fonction.

4.2.3.1

Programme CGI

Le programme CGI vérifie les paramètres reçus du navigateur de client et les envoie au Process Manager. Si la demande correspond au commencement d'une session, des données liées à l'endroit de client sont envoyées avec ces derniers. Enfin, le programme CGI attend une réponse de page generator et envoie les pages HTML produites à l'étudiant.

4.2.3.2

Process Manager

Process Manager travaille comme serveur, attendant des demandes du programme CGI. Si les paramètres de demande correspondent au commencement d'une session, le Process Manager lance un nouveau Task Manager et lui attribue un identificateur. Si la demande identifie une session déjà commencée, le Process Manager obtient l'identificateur chez le Task Manager correspond. Enfin, le Process Manager envoie les paramètres de demande au Task Manager.

4.2.3.3

Task Manager

Comme déjà mentionné, Task Manager guide les étudiants dans leur apprentissage en décidant le prochain ensemble de tâches réalisables offertes à l'étudiant. Les éléments dans cet ensemble dépendent de la stratégie d'étude active, les données personnelles de l'étudiant et les actions précédemment exécutées. Cette information est transférée au Task Manager. De plus, les informations stockées de Task Manager sur les actions exécutées par l'étudiant et leurs résultats (le nombre de pages visitées, le nombre d'exercices accomplis, le nombre d'exercices résolus avec succès, etc.). Finalement, le Task Manager fournit au Page Generator les paramètres nécessaires à la génération dynamique de page.

4.2.3.4

Page Generator

Page Generator reçoit les paramètres utiles associés à la tâche active pour produire des pages HTML dynamiquement. Ces paramètres sont liés au profil de l'étudiant et aux actions de l'étudiant. Basé sur cette information Page Generator décide quel type d'éléments de médias (i.e. textes, images, vidéos, animations, simulations, applet, etc.) à utiliser dans le document de HTML et comment ils doivent présenter. Des informations sur le profil de l'étudiant seront utilisées pour choisir les éléments spécifiques de médias selon des caractéristiques, tels que la difficulté de contenu, langue dans lesquelles ils sont écrits, etc. Une fois la page HTML générée, elle est envoyée de nouveau à l'étudiant par le programme CGI.

4.2.4

Apprentissage adaptatif dans TANGOW

Quand un étudiant accède TANGOW pour la première fois, le système lui demande ses données personnelles telles que l'âge, la langue et la stratégie d'étude préférées. Ces informations sont stockées dans users DB.

Si l'étudiant a accédé le système avant, Task Manager utilise les informations stockées sur des actions précédentes de l'étudiant liées au cours choisi, elles sont utilisées pour demander de Page Generator de fournir à l'étudiant la page appropriée du cours. Sinon, la page initiale du cours sera présentée.

A chaque étape de la session d'apprentissage, Task Manager construit une liste des tâches réalisables qui peuvent être présentées à l'étudiant par le choix des sous tâches qui (1) appartiennent à l'ensemble de sous tâches dans lesquelles la tâche courante est décomposée dans l'arbre dynamique (dynamic tree : partie de Dynamic Workspace de Figure 1.9), (2) n'ont pas été étudiées encore, et (3) sont actionnable. Une tâche est actionnable s'il existe au moins une règle qui la définit dont ces conditions d'activation est satisfaites. Cette liste sera présentée à l'étudiant comme page de menu. Si la liste de tâches réalisables contient un élément simple, ceci sera directement présenté.

Chaque fois qu'une tâche est finie, Task Manager vérifie ses résultats d'exécution (i.e. le nombre des exercices accomplis, le nombre d'exercices bien accomplis, le nombre de pages visitées, etc.) comme stockés dans l'arbre dynamique et calcule la valeur de succès de la tâche. Les résultats de l'exécution de la tâche sont alors propagés vers le haut dans l'arbre dynamique à utiliser à l'avenir pour le guidage d'étudiant. Puis, Task Manager vérifie si les conditions d'achèvement de la tâche d'ancêtre sont satisfaites. Si c'est le cas, l'étudiant n'a pas besoin d'exécuter aucune autre tâche secondaire et les extrémités de tâche d'ancêtre automatiquement. Task Manager monte l'arbre dynamique vérifiant les conditions d'achèvement de tâches ancêtres jusqu'à qu'il trouve une tâche qui n'a pas été accomplie encore. Enfin, il construit une liste avec des tâches réalisables suivant le processus décrit ci-dessus. En utilisant l'arbre dynamique seulement un sous-ensemble des tâches d'enseignement existantes va être examiné afin de construire la liste des tâches réalisables. Ceci rend le programme d'études ordonnançant le processus très efficace.

En ce qui concerne l'adaptation, TANGOW utilise trois mécanismes différents; le premier est une décomposition de tâche, qui peut être différente selon le profil de l'étudiant. Par exemple, une tâche peut être décomposée de deux manières différentes : une décomposition peut inclure des sous tâches liées à la théorie et les exercices et l'autre peut contenir une sous tâche additionnelle avec des exemples. Différents critères seraient établis pour choisir. La deuxième manière d'adaptation est d'inclure dans les règles des prés conditions liées à d'autres tâches accomplies. De cette façon, les cours sont adaptés aux étudiants selon ses actions précédentes. L'adaptation est aussi présente lors de la construction de pages HTML en utilisant différents éléments multimédias selon le profil de l'étudiant; les médias qui apparaissent dans les pages sont choisis selon la langue et l'âge d'étudiant. Les textes et les sons seront différents selon la langue de l'étudiant. De plus, le même concept peut être expliqué dans différentes manières selon l'âge de l'étudiant en utilisant des mots de difficultés différentes. Le même critère s'applique aux graphiques, aux animations et aux vidéos, qui peuvent changer selon les caractéristiques de l'étudiant.

Ce sont les manières principales d'adapter les cours à chaque étudiant, elles dépendent des décisions prises par le concepteur de cours en décrivant le cours en termes de tâches et règles, mais elles ne sont pas les seules. Les stratégies d'enseignement ont également une influence sur l'ordre dans lequel les sous tâches sont exécutées. En ce moment, il y a deux stratégies prédéfinies : « présentation de théorie d'abord » et « exercices pratiques d'abord ». L'étudiant peut choisir sa stratégie préférée au début d'une session.

5

Conclusion

Dans ce chapitre, nous avons rapidement étudié l'évolution des systèmes d'enseignement assisté par ordinateur, on peut souligner quelques grandes évolutions. L'ordinateur, notamment de par l'évolution des interfaces et des possibilités d'action et d'exploration qu'il offre, tend à devenir un poste de travail intégrant de multiples environnements, allant de simples outils de traitement de textes à des environnements hautement interactifs donnant accès via Internet à de multiples ressources. De l'apprentissage individualisé, l'intérêt s'est déplacé vers l'apprentissage coopératif et de systèmes cherchant à établir un dialogue avec l'apprenant se sont substitués des environnements favorisant l'action et la production de l'élève, ce dernier gardant une grande marge de contrôle.

Or aujourd'hui, le Web, l'un des services du réseau Internet, est l'une des clés de voûtes des Nouvelles Technologies de l'Information et de la communication, dont l'acquisition de l'information est basée sur le principe de l'hypertexte.

Les hypermédias représentent une nouvelle méthode de transmission de l'information, leur utilisation dans un cadre éducatif, qui pour les premiers types d'hypermédias posaient quelques problèmes (la désorientation, la surcharge cognitif). Certaines études ont tenté de minimiser l'impact cognitif des hypermédias avec l'apparition des hypermédias adaptatifs puis les hypermédias adaptatifs dynamiques ; qu'on a présenté deux types de ces système METADYNE et TANGOW.

Chapitre 2

Les systèmes multi-agents

1

Introduction

Le thème des systèmes multi-agents, s'il n'est pas récent, est actuellement un champ de recherche très actif. Cette discipline est à la connexion de plusieurs domaines en particulier de l'intelligence artificielle, des systèmes informatiques distribués et du génie logiciel. C'est une discipline qui s'intéresse aux comportements collectifs produits par les interactions de plusieurs entités autonomes et flexibles appelées agents, que ces interactions tournent autour de la coopération, de la concurrence ou de la coexistence entre ces agents. Ce chapitre introduit, tout d'abord, les notions d'agents et de systèmes multi-agents, et détaille par la suite

Les travaux sur les systèmes éducatifs et surtout les systèmes tutoriels intelligents (STI) se sont poursuivis activement depuis le début des années 90. Des nouvelles tendances se sont concrétisées telles l'accent mis sur l'apprentissage collaboratif, les interfaces adaptatives et les systèmes multi-agents. Ces recherches sur les agents sont guidées par la nécessité d'avoir des environnements interactifs qui tracent à la fois le comportement du système informatique et celui des usagers (tuteur ou apprenant). En effet, lorsqu'il s'agit de concevoir des systèmes informatiques distribués qui manipulent des connaissances hétérogènes, la technologie agent se révèle bien adaptée. Les systèmes multi-agents permettent non seulement le partage ou la distribution de connaissance, mais aussi, de faire coopérer un ensemble d'agents et de coordonner leurs actions pour l'accomplissement d'un but commun.

2

Concept d'agent

La notion d'agent n'est pas simple à définir. Il existe en effet plusieurs définitions ou significations données à cette notion. C'est la raison pour laquelle plusieurs auteurs essayent d'en donner une définition avant de se pencher sur l'utilisation de ce paradigme dans tel ou tel contexte.

2.1

Définition d'un agent

Ferber [Ferber 95] définit un agent comme une entité physique ou virtuelle

a.

qui est capable d'agir dans un environnement,

b.

qui peut communiquer directement avec d'autres agents,

c.

qui est mue par un ensemble de tendances (sous la forme d'objectifs individuels ou d'une fonction de satisfaction, voire de survie, qu'elle cherche à optimiser),

d.

qui possède des ressources propres,

e.

qui est capable de percevoir (mais de manière limitée) son environnement,

f.

qui ne dispose que d'une représentation partielle de cet environnement (et éventuellement aucune),

g.

qui possède des compétences et offre des services,

h.

qui peut éventuellement se reproduire,

i.

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ésentations et des communications qu'elle reçoit.

Ferber [Ferber 95] opère une différence entre les agents logiciels et les agents purement situés (qui sont davantage des entités physiques). Un agent logiciel ou agent purement communiquant est une entité informatique qui :

j.

se trouve dans un système ouvert,

k.

peut communiquer directement avec d'autres agents,

l.

est mue par un ensemble d'objectifs propres,

m.

possède des ressources propres,

n.

ne dispose que d'une représentation partielle des autres agents,

o.

possède des compétences (services) qu'elle peut offrir aux autres agents,

p.

a un comportement tendant à satisfaire ses objectifs, en tenant compte des ressources et des compétences dont elle dispose, et en fonction de ses représentations et des communications qu'elle reçoit.

[Jennings et al. 98] définissent un agent comme un système informatique situé dans un certain environnement, capable d'exercer de façon autonome des actions sur cet environnement en vue d'atteindre ses objectifs. D'après cette définition un agent intelligent se caractérise par les propriétés suivantes :


·

autonomie : un agent possède un état interne (non accessible aux autres) en fonction duquel il entreprend des actions sans intervention d'humains ou d'autres agents ;


·

réactivité : un agent perçoit des stimuli provenant de son environnement et réagit en fonction de ceux-ci ;


·

capacité à agir : un agent est mû par un certain nombre d'objectifs qui guident ses actions, il ne répond pas simplement aux sollicitations de son environnement;


·

sociabilité : un agent communique avec d'autres agents ou des humains et peut se trouver engager dans des transactions sociales (négocier ou coopérer pour résoudre un problème) afin de remplir ses objectifs.

Plusieurs chercheurs définissent la notion d'agent par rapport à celle d'objet, arguant du fait que la maîtrise d'une nouvelle technologie ou d'un nouveau concept est facilitée par une référence à des technologies ou concepts voisins et d'ores et déjà maîtrisés [Odell et al. 00]. Les objets se définissent comme des entités informatiques qui encapsulent un état, sont capables d'accomplir des actions, ou méthodes dans cet état, et communiquent par échange de messages. Bien qu'il existe plusieurs similitudes entre les agents et les objets, il n'en existe pas moins d'importantes différences. La première concerne le degré d'autonomie. La propriété la plus caractéristique des objets est le principe d'encapsulation, l'idée selon laquelle les objets contrôlent leur propre état interne. Dans ce sens, un objet peut être considéré comme ayant une autonomie sur son état. Mais un objet n'a pas de contrôle sur son comportement : si une méthode m est rendue accessible aux autres objets, alors ceux-ci peuvent les invoquer chaque fois qu'ils le veulent. En d'autres termes, une fois qu'un objet a rendu une méthode publique, il n'a plus de contrôle sur l'exécution ou la non exécution de cette méthode. Les agents, quant à eux, n'invoquent pas des méthodes mais adressent des requêtes pour l'exécution des actions. Si un agent i demande à un autre agent j d'exécuter une action a, j exécutera l'action ou ne l'exécutera pas. On voit donc que dans le cas des objets, la décision d'exécuter l'action appartient à l'objet qui invoque la méthode alors que pour les agents, cette décision revient à celui qui reçoit la requête. La seconde différence entre les objets et les agents réside au niveau des caractéristiques de réactivité, de dynamisme et de sociabilité. La troisième différence entre les objets et les agents vient du fait que ces derniers sont censés avoir chacun leur fil d'exécution (thread). Il faut noter une évolution dans la communauté des adeptes de la POO vers la notion d'objet actif. Un objet actif est un objet possédant son propre fil d'exécution. Les objets actifs sont généralement autonomes, c'est-à-dire qu'ils peuvent exhiber un comportement sans avoir été sollicités par un autre objet. [Odell et al. 00] présentent les agents comme une extension d'objets actifs possédant une prise d'initiative (la capacité à initier des actions sans intervention externe) et un libre arbitre (la capacité à refuser ou à modifier une requête externe). Odell et ses collègues définissent un agent comme un objet qui peut prendre des initiatives (an objet that can say `go'...) et refuser de répondre à une sollicitation (... and `no'). Finalement ces auteurs définissent un agent comme toute entité autonome capable de communiquer avec son environnement. Il faut noter que l'auteur utilise cette mise en perspective des agents par rapport aux objets pour proposer une extension au langage UML pour spécifier des agents. Le résultat en est le AUML pour Agent UML.

Par ailleurs, sur le plan pratique, l'approche agent est plus générale et apporte des outils qui s'intègrent à de multiples applications. Leur développement est motivé par un très grand nombre de champs d'application, on peut, entre autre, citer [Bourdon 01] :


·

Le commerce électronique


·

La gestion et le suivi en temps réel des réseaux de télécommunication


·

La modélisation et l'optimisation de flux de marchandises ou de données


·

Le traitement de l'information dans des systèmes sur Internet (recherche, filtrage, présentation, etc.).


·

La gestion de trafic routier et aérien


·

L'optimisation des processus industriels de fabrication;


·

Les jeux électroniques;


·

L'étude et la simulation de phénomènes complexes dans des organisations humaines ou naturelles, comme la réaction à une situation de crise (tremblement de terre), et l'évolution des rôles ou des normes dans une société

2.2

Caractéristiques d'agent

En utilisant quelques définitions de la littérature, il est possible de créer un ensemble de caractéristiques d'agent primaires, secondaires et tertiaires [Baily 02]. Les caractéristiques primaires sont inhérentes de la plupart des définitions populaires d'agent, les caractéristiques secondaires sont l'ensemble de caractéristiques, liées aux agents, prolongées habituellement. Le troisième ensemble de caractéristiques contient davantage les caractéristiques abstraits, désirables et qui ressemblent à celles de l'humain.

2.2.1

Caractéristiques primaires

Autonome : l'agent peut spontanément effectuer certaines tâches, peut prendre des initiatives.

Communicative/sociale : Un agent devrait avoir un niveau élevé de communication avec d'autres agents. Le protocole de communication entre agent le plus commun KQML (Knowledge Query and Manipulation Language).

Réactive : Un agent devrait pouvoir percevoir son environnement (qui peut être un monde physique, un utilisateur via une interface graphique ou une collection d'autres agents) et réagir à ses changements, que ce soit la modification des objectifs de l'utilisateur ou des ressources disponibles.

2.2.2

Caractéristiques secondaires

Proactive : les agents n'agissent pas simplement en réponse à leur environnement, ils son capables d'exposer un comportement dirigé but en prenant l'initiative.

Adaptatif : un agent adaptatif est un agent capable de contrôler et d'adapter ses aptitudes (communicationnelles, comportementales, etc.) en réponse aux connaissances internes ou aux changements de l'environnement.

Orienté-but/intentions : ces agents ont un plan d'action interne explicite pour accomplir un but ou ensembles des objectifs.

Persistance : les agents persistants ont un état interne qui reste cohérent.

Mobilité : les agents mobiles peuvent décider d'émigrer à une machine différente ou à un autre réseau tout en maintenant la persistance.

2.2.3

Caractéristiques tertiaires

Emotion : agents avec la capacité d'exprimer l'émotion ou l'humeur comme un être humain. De tels agents pourraient également avoir une certaine forme de caractère ou d'aspect anthropomorphe.

L'intelligence : agents avec la capacité de raisonner, apprennent et adaptent dans le temps. Un agent est intelligent s'il est capable de réaliser des actions flexibles et autonomes pour atteindre les objectifs qui lui ont été fixés. La flexibilité signifie la réactivité, la proactivité et les attitudes sociales.

2.3

Typologies d'agents

Nwana [Mbala 03] propose une typologie des agents à partir de plusieurs critères de classification :


·

Mobilité : statique ou mobile ;


·

Présence d'un modèle de raisonnement symbolique : délibératif ou réactif ;


·

Existence d'un objectif et de propriétés initiales comme l'autonomie, la coopération et l'apprentissage. A partir de ces propriétés, Nwana déduit quatre types d'agents : collaboratifs, collaboratifs et apprenants, d'interface et intelligents ;


·

Rôles : recherche d'informations ou travail sur Internet


·

Philosophies hybrides : combinaison entre deux ou plusieurs approches dans un seul agent.

De cette typologie, Nwana propose sept catégories d'agents : agents collaboratifs, agents d'interface, agents mobiles, agents d'information ou d'Internet, agents réactifs, agents hybrides et agents intelligents.

2.3.1

Les agents collaboratifs

Les agents collaboratifs ont davantage des caractéristiques d'autonomie et de coopération avec les autres agents dans la réalisation de leurs objectifs. Ils doivent pouvoir négocier afin d'arriver à des compromis acceptables. La faculté d'apprendre peut exister mais n'est pas une caractéristique fondamentale requise pour ce type d'agents. Plusieurs chercheurs en intelligence artificielle leur prêtent des états mentaux comme les croyances, les désirs et les intentions. Ils sont alors qualifiés d'agents collaboratifs de type BDI (Beliefs, Desires, Intentions). Les propriétés caractéristiques des agents collaboratifs sont : l'autonomie, la réactivité, le dynamisme (capacité à initier des actions) et la sociabilité. Les principales raisons pour lesquelles l'on peut être amené à implémenter les agents collaboratifs relèvent de l'intelligence artificielle distribuée ; elles sont les suivantes :


·

résoudre des problèmes trop importants pour un seul agent à cause des limitations des ressources et des risques de systèmes centralisés ;


·

permettre l'interconnexion et l'interopérabilité de plusieurs legacy systems comme les systèmes experts, les systèmes décisionnels, etc. ;


·

résoudre des problèmes fondamentalement distribués comme le contrôle du trafic aérien ou des problèmes inhérents aux systèmes d'information distribués ;


·

résoudre des problèmes pour lesquelles l'expertise disponible est distribuée ;


·

encourager la modularité, la vitesse d'exécution et la flexibilité.

2.3.2

Les agents d'interface

Les agents d'interface disposent d'une autonomie et d'une capacité à apprendre. Ils sont caractérisés par la métaphore d'assistant personnel collaborant avec l'utilisateur dans le même environnement. Alors que les agents collaboratifs collaborent avec les autres agents, les agents d'interface collaborent avec l'utilisateur. La collaboration avec l'utilisateur ne nécessite pas l'existence explicite d'un langage de communication entre agents comme dans le premier cas. Les agents d'interface apprennent les préférences des utilisateurs afin de mieux les assister. Ils apprennent :


·

en observant et en imitant leurs utilisateurs ;


·

à travers le feed-back des utilisateurs suite à leurs actions ;


·

en recevant des instructions de l'utilisateur ;


·

en demandant les conseils des autres agents.

La collaboration avec les autres agents lorsqu'elle existe se limite à la demande de conseils, et diffère ainsi du type de collaboration qui a cours entre les agents collaboratifs. Un agent d'interface est doté d'un minimum de connaissances au départ et acquiert lui-même, par la suite, la connaissance dont il a besoin pour assister l'utilisateur. La principale raison qui amène à considérer de tels agents est le souci de déléguer certaines tâches répétitives et fastidieuses (il faut d'ailleurs signaler que la répétitivité de certaines actions ou attitudes dans le comportement de l'utilisateur est le gage de la réussite de tels agents, autrement ils ne pourraient rien apprendre de ce comportement).

2.3.3

Les agents mobiles

Les agents mobiles sont des processus capables de se déployer à travers de grands réseaux d'information comme Internet, interagissant avec différents hôtes, recueillant des informations pour leurs propriétaires et accomplissant des tâches qui leur sont confiées. Ces tâches vont de la réservation de vols d'avions à l'administration de réseaux de télécommunications. Il faut dire que la mobilité n'est pas une caractéristique des agents, les agents mobiles sont des agents du fait qu'ils sont autonomes et coopèrent (certes différemment des agents collaboratifs). Un agent mobile peut ainsi communiquer ou coopérer avec un autre agent chargé d'informer les autres agents de la localisation de ses attributs et méthodes ; ceci dispense cet agent de rendre publique toutes les informations et données le concernant. Les raisons qui poussent à recourir aux agents mobiles sont les suivantes :


·

réduction des coûts de communication : en permettant à l'agent d'aller s'exécuter là où se trouvent les informations brutes, on évite ainsi de les rapatrier sur son système local pour n'en utiliser qu'une petite partie ;


·

l'insuffisance des ressources locales : les capacités de traitement et de stockage peuvent être limitées au point de justifier l'usage des agents mobiles qui iraient s'exécuter sur des systèmes distants plus performants ;


·

une coordination plus facile : il est plus simple de coordonner un nombre de requêtes distantes et d'en collecter simplement les résultats ;


·

un traitement asynchrone : on peut initialiser ses agents mobiles et faire autre chose pendant que ceux-ci s'exécutent ;


·

une architecture distribuée plus flexible : les agents mobiles offre une architecture distribuée unique.

2.3.4

Les agents d'information

Les agents d'information ou agents d'Internet sont apparus du fait de l'explosion de l'information et du besoin de disposer d'outils de manipulation de ces informations. Les agents d'information ont pour rôle d'administrer, manipuler ou collecter les informations à partir de plusieurs sources d'informations distribuées. Du fait de l'avènement et du succès d'Internet, la distinction entre les autres types d'agents, tels que les agents d'interface ou de collaboration, et les agents d'information est subtile : en effet, tous manipulent des informations. Il faut néanmoins garder à l'esprit que les agents d'information sont définis par ce qu'ils font, alors que les autres sont définis par ce qu'ils sont, c'est-à-dire par leurs attributs et propriétés caractéristiques. Les raisons qui président à la mise en oeuvre des agents d'information sont de deux ordres. D'une part, il y a la nécessité de faire face à l'explosion des sources d'informations et donc de répondre à un besoin similaire à celui rempli par les moteurs de recherche. D'autre part, sur le plan financier, de tels agents rapporteraient à leur éditeur un succès comparable à celui de Netscape avec son navigateur sur Internet.

2.3.5

Les agents logiciels réactifs

Les agents réactifs sont une catégorie spéciale d'agents ne disposant pas de modèles internes et symboliques de leur environnement : ils ne font que réagir aux stimuli provenant de l'environnement. Les agents réactifs sont relativement simples et interagissent avec les autres agents de façon basique. La mise au point de tels agents n'exige pas une spécification complète de leur comportement. Les agents réactifs peuvent en outre être considérés comme une collection de modules autonomes chargés chacun d'une tâche spécifique. La communication entre les différents modules est minimale. Les agents réactifs opèrent sur des données brutes provenant des capteurs contrairement aux précédents types d'agents qui utilisent des représentations symboliques de haut niveau. L'existence et la mise en oeuvre d'agents réactifs se justifient dans les situations où l'on ne veut prendre en compte que des hypothèses basées sur l'environnement physique. Ces agents réactifs sont supposés aussi être plus robustes et plus tolérants aux pannes que les autres types d'agents, la perte d'un tel agent n'entraîne pas de conséquences catastrophiques. Ce sont des agents situés qui n'ont pas besoin d'avoir une représentation de leur environnement, ils ne réagissent qu'aux sollicitations du moment.

2.3.6

Les agents hybrides

Nous avons passé en revue cinq types d'agents : collaboratifs, d'interface, mobiles, d'information et réactifs. Le débat sur l'opportunité d'avoir tel ou tel type d'agent est davantage un débat théorique et plutôt stérile. Chaque type d'agent possède ses points forts et faibles, ses avantages et ses inconvénients. Une approche consiste donc souvent dans la réalité à bâtir des agents hybrides. Un agent hybride consiste en la combinaison de plusieurs caractéristiques au sein d'un même agent ; ces caractéristiques concernent la mobilité, la collaboration, l'autonomie, la capacité à apprendre, etc. L'utilisation d'agents hybrides reste toujours guidée par le souci de minimiser les faiblesses et d'augmenter les forces de tel ou tel type d'agents que l'on mettrait en oeuvre dans une application.

3

Système multi-agents

Les Systèmes Multi-Agents (SMA) constituent un des deux axes de recherche en Intelligence Artificielle Distribuée (IAD), l'autre étant la Résolution Distribuée de Problèmes (RDP en anglais DPS pour Distributed Problem Solving). La résolution des problèmes distribuées se préoccupe de la façon dont un problème donné peut être résolu par plusieurs modules (appelés noeuds) qui coopèrent en divisant et en partageant la connaissance à propos du problème et des solutions développées. Les systèmes multi-agents implémentent des stratégies de résolution basées sur le comportement d'un ensemble d'agents autonomes qui, éventuellement, peuvent déjà exister. Un système multi-agents peut être vu comme un ensemble faiblement interconnecté d'agents qui travaillent ensemble pour résoudre un problème en s'appuyant sur les capacités et les connaissances individuelles de chaque entité. Les agents sont autonomes et sont de nature hétérogène. Les systèmes multi-agents se caractérisent dès lors par :


·

une perception partielle de l'environnement par chaque agent;


·

des compétences limitées pour chaque agent, c'est-à-dire insuffisantes pour résoudre entièrement le problème;


·

une absence de contrôle du système global;


·

une décentralisation des données;


·

des traitements en mode asynchrone.

L'intérêt pour l'utilisation des systèmes multi-agents se fonde sur leur capacité [Mbala 03] : à fournir robustesse et efficacité ; à permettre l'interopérabilité de systèmes existants ; à résoudre des problèmes pour lesquels les données, l'expertise (la connaissance) et le contrôle sont distribués.

Les systèmes multi-agents sont des systèmes idéaux pour représenter des problèmes possédant de multiples méthodes de résolution, de multiples perspectives et/ou de multiples résolveurs [Chaib 99]. Ces systèmes possèdent les avantages traditionnels de la résolution distribuée et concurrente de problèmes comme la modularité, la vitesse (avec le parallélisme), et la fiabilité (due à la redondance). Ils héritent aussi des bénéfices envisageable de l'intelligence artificielle comme le traitement symbolique (au niveau des connaissances), la facilité de maintenance, la réutilisation et la portabilité mais surtout, ils ont l'avantage de faire intervenir des schémas d'interaction sophistiqués. Les types courants d'interaction incluent la coopération (travailler ensemble à la résolution d'un but commun) ; la coordination (organiser la résolution d'un problème de telle sorte que les interactions nuisibles soient évitées ou que les interactions bénéfiques soient exploitées) ; et la négociation (parvenir à un accord acceptable pour toutes les parties concernées).

Bien que les systèmes multi-agents offrent de nombreux avantages potentiels, ils doivent aussi relever beaucoup de défis. Voici les problèmes inhérents à la conception et à l'implémentation des systèmes multi-agents, d'après [Chaib 99] :

1.

Comment formuler, décrire, décomposer, et allouer les problèmes et synthétiser les résultats?

2.

Comment permettre aux agents de communiquer et d'interagir? Quoi et quand communiquer?

3.

Comment assurer que les agents agissent de manière cohérente i) en prenant leurs décisions ou actions, ii) en gérant les effets non locaux de leurs décisions locales et iii) en évitant les interactions nuisibles?

4.

Comment permettre aux agents individuels de représenter et raisonner sur les actions, plans et connaissances des autres agents afin de se coordonner avec eux? Comment raisonner sur l'état de leurs processus coordonnés (comme l'initialisation ou la terminaison)?

5.

Comment reconnaître et réconcilier les points de vue disparates et les intentions conflictuelles dans un ensemble d'agents essayant de coordonner leurs actions?

6.

Comment trouver le meilleur compromis entre le traitement local au niveau d'un seul agent et le traitement distribué entre plusieurs agents (traitement distribué qui induit la communication)? Plus généralement, comment gérer la répartition des ressources limitées?

7.

Comment éviter ou amoindrir un comportement nuisible du système global, comme les comportements chaotiques ou oscillatoires?

8.

Comment concevoir les plates-formes technologiques et les méthodologies de développement pour les systèmes multi-agents?

3.1

Définition

Ferber [Ferber 95] définit un système multi-agents (SMA) comme étant un système composé des éléments suivants :


·

un environnement E, c'est-à-dire un espace disposant généralement d'une métrique;


·

un ensemble d'objets O. Ces objets sont situés, c'est-à-dire que, pour tout objet, il est possible, à un moment donné, d'associer une position dans E. Ces objets sont passifs, c'est-à-dire qu'ils peuvent être perçus, créés, détruits et modifiés par les agents;


·

un ensemble A d'agents, qui sont des objets particuliers (A **** O), lesquels représentent les entités actives du système;


·

un ensemble de relations R qui unissent les objets (et donc les agents) entre eux ;


·

un ensemble d'opérations Op permettant aux agents de A de percevoir, produire, consommer, transformer et manipuler les objets de O;


·

des opérateurs chargés de représenter l'application de ces opérations et la réaction du monde à cette tentative de modification, que l'on appellera les lois de l'univers.

Un SMA communiquant est un systèmes multi-agents dont les agents communiquent entre eux par le biais de messages. Un systèmes multi-agents purement communicant est un systèmes multi-agents ne disposant pas d'environnement et dans lequel les agents ne font que communiquer entre eux (O = A et E est l'ensemble vide). Un système multi-agents situé est un système multi-agents dont les agents sont positionnés dans un environnement. Un système multi-agents purement situé est un systèmes multi-agents situé dans lequel les agents ne communiquent pas par l'envoi de messages, mais par propagation de signaux.

3.2

Propriété des systèmes multi-agents

Les systèmes multi-agents sont à l'intersection de plusieurs domaines scientifiques [Chaib 99] : informatique répartie, génie logiciel, intelligence artificielle, vie artificielle. Ils s'inspirent également d'études issues d'autres disciplines connexes notamment la sociologie, la psychologie sociale, les sciences cognitives et bien d'autres. C'est ainsi qu'on les trouve parfois à la base de :


·

systèmes distribués;


·

interface hommes-machines;


·

bases de données et bases de connaissances distribuées coopératives;


·

systèmes pour la compréhension du langage naturel;


·

protocoles de communication et réseaux de télécommunications;


·

programmation orientée agents et génie logiciel;


·

robotique cognitive et coopération entre robots;


·

applications distribuées comme le Web, l'Internet, le contrôle de trafic routier, le contrôle aérien, les réseaux d'énergie, etc.

Un systèmes multi-agents est généralement caractérisé par [Jarras 02][Bourdon 01]:


·

chaque agent a des informations ou des capacités de résolution de problèmes limitées, ainsi chaque agent a un point de vue partiel ;


·

il n'y a aucun contrôle global du système multi-agents ;


·

les donnés sont décentralisées ;


·

le calcul est asynchrone.

Par leur nature répartie, les systèmes multi-agents offrent en outre des propriétés intéressantes comme :


·

L'efficacités des traitements : les agents travaillent en parallèle et se communiquent de façon asynchrone;


·

La robustesse et la sûreté de fonctionnement : la mise hors fonctionnement de quelques agents ne modifie pas sensiblement le comportement global du système;


·

La flexibilité et le traitement de système à grande échelle : on peut augmenter le nombre d'agents pour développer le système sans perturber le travail des agents existants ;


·

Coût de fonctionnement faible : la répartition des traitements entre de nombreuses unités simples (agents) conduit à des coûts faibles. En effet, il est extrêmement difficile de maîtriser ou prévoir des comportements à l'échelle macroscopique issus de l'interaction de comportements individuels complexes (à l'échelle microscopique);


·

un coût de développement et de réutilisation intéressant : théoriquement, il est simple de faire développer par des spécialistes des agents indépendant les uns des autres (comme dans l'approche objet) pour les réutiliser dans plusieurs scénarios applicatifs ; mais l'une des différences essentielles entre l'agent et l'objet dans les notions et de flexibilité liée aux comportements des agents, il parait difficile d'affirmer quoi que soit de concret sur ces notions de coût et de développement et de réutilisation des agents.


·

Les schémas d'interaction sophistiqués : tels que, la coopération, la coordination et la négociation.

Les systèmes multi-agents présentent de nombreuses propriétés dans son utilisation dans la formation comme, par exemple [Querrec 02]:


·

Permettre aux agents d'avoir un comportement indépendant de l'expertise de la tâche à enseigner grâce à des mécanismes de prise de décisions identiques à tous les agents.


·

Permettre au formateur et à l'auteur de scénario de décrire aisément des plans en assemblant des sous plans modulaires.


·

Décrire des architectures de façon distribuée. Ainsi le formateur et le concepteur peuvent décrire facilement pour chaque tâche : les conditions de déclenchement et de réussite, les comportements de bon fonctionnement et ceux problématiques associés à cette tâche et les solutions pédagogiques pour chaque problème.

3.3

Les composants d'un système multi-agents

On définit généralement un système multi-agents comme étant un modèle informatique composé d'entités de base, les agents. Ces derniers possèdent une autonomie en terme de décisions et d'actions et sont organisés en société au sein d'un environnement dans lequel et avec lequel ils interagissent. Ils doivent, de ce point de vue, être capables de percevoir, de décider, d'agir et de communiquer [Erceau 91]. Cette définition fait apparaître quatre composantes de base aux systèmes multi-agents: les agents, l'environnement, les interactions et l'organisation.

3.3.1

Agent

Un agent se caractérise par son rôle, sa spécialité et ses fonctionnalités, ses buts, ses croyances et ses différentes capacités : décisionnelles, de raisonnement, de communication et éventuellement d'apprentissage. Donc, les agents ne disposent pas des mêmes aptitudes.

3.3.2

Environnement

Un environnement est un espace représentant le monde dans lequel les agents évoluent. On fait généralement une distinction entre les agents qui sont les entités actives, et les objets passifs qui se situent dans l'environnement. Lorsque ce dernier dispose d'une métrique (cas général), la capacité de perception d'un agent et sa capacité à reconnaître les objets situés (position, relations entre objets) et la capacité d'action d'un agent et celle de transformer l'état du système en modifiant les positions et relations qui existent entre les objets. Par exemple dans un univers de robots, l'environnement est l'espace géométrique euclidien dans lequel se déplacent les robots (agents) et où sont situés des objets physiques que les robots peuvent manipuler ou doivent éviter.

Cependant, Boissier distingue l'environnement du système multi-agents et l'environnement de l'agent. L'environnement du système multi-agents est l'environnement physique support des actions des agents et disposant de ressources. L'environnement de l'agent est l'environnement du système multi-agents et les autres agents. C'est la source des données du problème et le lieu où l'agent peut trouver des ressources.

Russel et Norvig définissent les principales propriétés de l'environnement [Querrec 02] :


·

Accessibilité : l'agent dispose de capteurs lui permettant d'accéder à l'état de l'environnement (en général localement).


·

Déterminisme : le prochain état de l'environnement est fonction de son état courant et de l'action de l'agent.


·

Episodisme : les prochaines évolutions ne dépendent pas des actions déjà réalisées.


·

Dynamisme : l'environnement peut changer pendant la réflexion de l'agent.


·

Discret : le nombre de percepts et d'actions de l'agent est limité.


·

Concurrence d'accès : d'autres agents souhaitant interagir existent dans l'environnement.

3.3.3

Interactions

Le principe d'implémentation des systèmes multi-agents est localisé, c'est-à-dire que le concepteur ne se soucie pas du comportement global du système, mais uniquement des différentes entités autonomes en décrivant leur comportement localement. Pour obtenir un comportement global cohérent, il faut alors décrire la manière dont les entités vont interagir entre elles et avec l'environnement.

Selon Ferber [Ferber 95], l'interaction est définit comme étant la mise en relation dynamique de deux ou plusieurs agents par le biais d'un ensemble d'actions réciproques. Les agents peuvent interagir soit en accomplissant des actions linguistiques (en communiquant entre eux), soit en accomplissant des actions non-linguistiques (en modifiant leur environnement).

Boissier [Zeguida 03] définit une interaction comme une mise en relation dynamique de deux ou plusieurs agents par le biais d'un ensemble d'actions réciproques. Il rajoute : il y a interaction lorsque la dynamique propre d'un agent est perturbée par les influences des autres. Cela sous-entend différentes formes d'interactions selon les agents et les systèmes.

Le premier type d'interaction s'opère sans communication et sans contact direct entre les agents, ils n'ont donc pas besoin d'avoir conscience des autres. L'agent utilise l'environnement comme média d'interaction en le modifiant à travers ses actions. Le principal exemple d'interaction de ce type est : les applications faisant intervenir des agents réactifs ; tel qu'en éthologie ou en traitement d'images. Le deuxième cas d'interaction sans communication fait intervenir un mécanisme d'un niveau de cognition beaucoup plus élevé. L'agent doit avoir conscience des autres agents, mais comme il n'y a toujours pas de contact direct, il doit inférer sur ces actions. L'agent doit alors disposer d'un modèle des autres agents (grâce aux cartes cognitives floues par exemple) [Querrec 02].

Le second type d'interaction est le plus fréquent dans les applications des systèmes multi-agents. Il s'agit d'envoi de messages dont le type est connu à l'avance par les agents. Ces messages peuvent être diffusés, ou être destinés à un agent en particulier. Ce genre de communication est considéré comme la capacité minimum de communication d'un agent. C'est ce qui doit au minimum différencier un agent d'un objet. La réception d'un message par un agent s'apparente à un appel de méthode sur un objet. C'est l'agent lui même qui traite le message et décide (ou non) d'invoquer une méthode. C'est ce qui fait en partie son autonomie.

Enfin les actes de langage constituent la forme d'interaction la plus évoluée. Pour pouvoir faire interagir des agents hétérogènes dans une même application, il a fallu définir un protocole de communication. De plus, dans certaines applications, l'utilisateur doit interagir avec les agents de la manière la plus naturelle possible. Il a donc fallu définir un type de communication de plus haut niveau et plus évolué. Les recherches se sont alors portées sur la définition de concepts de communication d'un point de vue social. Ces recherches ont donné lieu aux actes de langage.

3.3.4

Organisation

Les agents qui ont un comportement à tendance « individuelle » résultant des règles de fonctionnement interne, ont aussi un comportement à tendance « sociale », tourné vers la collectivité, régit par les règles de participation d'un individu à la vie d'un groupe. Ces règles correspondent dans une organisation, aux relations qui existent ou peuvent exister entre les différents agents. Ainsi dans un système multi-agents, on distingue essentiellement deux niveaux d'organisation : les groupes et les populations. C'est vers ces aspects sociaux de la connaissance et de l'action que s'orientent désormais les recherches par rapport à l'attention qui était portée jusqu'alors aux architectures individuelles des agents.

On peut définir une organisation comme une structure (pattern) décrivant comment les membres d'une organisation sont en relation et interagissent afin d'atteindre un but commun. Cette structure peut être statique, donc conçue a priori par le programmeur du système ou dynamique, comme on peut en trouver dans les systèmes multi-agents ouverts [Baeijs 98].

Dans un système multi-agents, il existe de nombreuses interrelations entre les agents, par le biais de délégation de tâches, de transfert d'information, d'engagements, de synchronisations d'actions, etc. Ces interrelations ne sont possibles qu'à l'intérieur d'une organisation qui constitue le support et la manière dont se passent ces interrelations (la façon de répartir les tâches, les informations et les ressources, et de coordonner les actions). Elle désigne aussi à la fois le processus d'élaboration d'une structure et le résultat même de ce processus. C'est d'ailleurs ce qui rend ce terme difficile à cerner.

Une organisation peut être [Querrec 02]:


·

Explicite : les rôles sont définis à priori. Avant la simulation, le concepteur connaît la structure organisationnelle.


·

Emergente : les rôles sont observés à posteriori. Aucune structure organisationnelle n'est connue du concepteur. C'est en observant les interactions entre les agents qu'il se fait une représentation de l'organisation.


·

Statique : la structure ou les entités organisationnelles sont fixées à priori et ne peuvent pas évoluer durant la simulation.


·

Dynamique : la structure ou les entités organisationnelles peuvent évoluer au cours de l'exécution.

En pratique, il est difficile de véritablement dissocier les aspects interaction et organisation dans les systèmes multi-agents. Une organisation n'a pas de raison d'existence si elle est découplée des interactions entre agents et réciproquement, une interaction entre deux agents ne peut s'exprimer qu'à l'intérieur d'une organisation.

3.4

Communication entre agents

Les agents peuvent interagir soit en accomplissant des actions linguistiques (en communiquant entre eux), soit en accomplissant des actions non-linguistiques qui modifient leur environnement. En communiquant, les agents peuvent échanger des informations et coordonner leurs activités.

Pour qu'un agent puisse coopérer avec d'autres agents et réagir à son environnement, il a besoin de langage de communication entre agents. La communication entre agents permet aux programmes écrits par différents programmeurs, en différents langages, en utilisant différentes interfaces de se communiquer. Pour que ceci soit possible, les agents ont besoin d'un langage commun de communication qui, davantage est concerné par l'échange de l'information que son contenu. La communication est généralement décomposée en trois sous-sections, qui sont:

1.

Protocole d'interaction : ceci se rapporte à la stratégie de niveau élevé poursuivi par les agents logiciels qui interagissent avec d'autres agents.

2.

Le langage de communication, c'est le medium par lequel les attitudes concernant le contenu du message échangé sont communiquées.

3.

Le protocole de transport, c'est le mécanisme réel de transport utilisé pour la communication en utilisant le langage de communication. Ces protocoles incluent TCP/IP, SMTP, HTTP, IIOP, etc.

Dans les systèmes multi-agents deux stratégies principales ont été utilisées pour supporter la communication entre agents :

Envoi de message : les agents peuvent échanger des messages directement

Partage de ressources : les agents peuvent accéder à une base de données partagées (appelée tableau noir ou blackboard) dans laquelle les informations sont postées.

3.4.1

Stratégies de communication

3.4.1.1

Transfert de plans ou de messages

Dans l'approche de transfert de plans, un agent X communique son plan en totalité à un agent Y et Y communique son plan en totalité à X. Cette approche présente plusieurs inconvénients : le transfert de plans est coûteux en ressources de communication et c'est une approche difficile à mettre en oeuvre dans des applications réelles car il y a en général un fort degré d'incertitude au sujet des états actuel et futurs du monde.

Dans des situations réelles en plus, il n'est pas possible de formuler à l'avance des plans en totalité. Par conséquent, on a besoin de communiquer des stratégies générales aux agents plutôt que des plans, et donc il est nécessaire que les agents puissent échanger des messages.

3.4.1.2

Échange d'informations grâce à un tableau noir

En intelligence artificielle la technique du tableau noir (blackboard) est très utilisée pour spécifier une mémoire partagée par divers systèmes. Dans un système multi-agents utilisant un tableau noir, les agents peuvent écrire des messages, insérer des résultats partiels de leurs calculs et obtenir de l'information. Le tableau noir est en général partitionné en plusieurs niveaux qui sont spécifiques à l'application. Les agents qui travaillent sur un niveau particulier peuvent accéder aux informations contenues dans le niveau correspondant du tableau noir ainsi que dans des niveaux adjacents. Ainsi, les données peuvent être synthétisées à n'importe quel niveau et transférées aux niveaux supérieurs alors que les buts de haut niveau peuvent être filtrés et passés aux niveaux inférieurs pour diriger les agents qui oeuvrent à ces niveaux.

3.4.2

Actes de langages

On considère que les agents sont dotés de structure de données appelées états mentaux à partir desquelles ils peuvent raisonner. Diverses catégories d'états mentaux ont été retenues par les chercheurs dont notamment les croyances, les désirs, les intentions ou buts, les capacités, etc. Ce sont ces mêmes états mentaux qui caractérisent les modèles des agents cognitifs en intelligence artificielle distribuée. Ainsi, un agent cognitif raisonne sur des croyances qui représentent sa compréhension du monde dans lequel il évolue. Il raisonne aussi sur ses désirs et intentions en relation avec ses croyances et capacités afin de prendre des décisions auxquelles sont associés les plans qu'il va accomplir pour agir dans le monde.

Les actes de langage

L'idée est d'utiliser ce que l'on comprend du dialogue entre humains comme modèle pour la communication entre agents. Dans cette approche la production d'un énoncé, est un acte qui sert avant tout à produire des effets sur son destinataire [Bourdon 01]. Les principaux actes de langage décrits sont les suivants :

1.

assertifs, servent à donner une information sur le monde en affirmant quelque chose (ex. il fait beau) ;

2.

directifs, sont utilisés pour donner des directives au destinaire (donne moi ta montre) ;

3.

promissifs, engageant le locuteur à accomplir certains actes dans l'avenir (ex. je viendrai à la réunion) ;

4.

expressifs, servent à donner au destinataire des indications concernant l'état mental du locuteur (ex. je suis heureux) ;

5.

déclaratifs, accomplissent un acte par le fait même de prononcer l'énoncé (ex. je déclare la séance ouverte) ;

Les actes de langage, considérés comme des structures complexes, sont définis par trois composantes :

1.

la locutoire : c'est la composante physique de la communication (envoi d'ondes sonores ou production de caractères) ; production de phrases à l'aide d'une grammaire et d'un lexique donné.

2.

l'illocutoire : elle se rapporte à la réalisation de l'acte effectué par le locuteur sur le destinataire de l'énoncé. En pragmatique du langage, un acte illocutoire est caractérisé par une force illocutoire (ex. affirmer, questionner, demander de faire, promettre, prévenir, etc.) et par un contenu propositionnel, objet de la force illocutoire. Par exemple « affirmer qu'il pleut » prend la forme « affirmer (il pleut) ».

3.

la perlocutoire : cette composante porte sur les effets que les actes illocutoires peuvent avoir sur l'état du destinataire, ses actions, ses croyances et ses jugement. Par exemple, convaincre, inspirer, effrayer, persuader, etc.

3.4.3

Langage de communication entre agents

Le ACL (Agent Communication Language) a été créé par ARPA pour assurer l'interopérabilité entre des agents autonomes et distribués. Le ACL a trois composants : un vocabulaire, un langage de communication entre agent appelé KQML (Knowledge and Query Manipulation Language) et un langage spécifiant le contenu appelé KIF (Knowledge Interchange Format). Un message de ACL est alors un message KQML contenant une directive de communication et un contenu sémantique dans KIF, exprimé en termes de vocabulaire.

KQML fournit la couche linguistique pour rendre la communication efficace en considérant le contexte des messages. Il a été conçu comme format de message et comme protocole qui permet l'identification, le raccordement et l'échange de l'information entre des programmes. Selon [Finin et al. 95], KQML est caractérisé par trois caractéristiques importantes :

1.

Les messages KQML sont opaques au contenu qu'ils transportent, ce qui implique que les messages KQML ne communiquent qu'avec des sentences en certain langage, mais aussi une attitude ou à une intention sur le contenu.

2.

Des primitifs s'appellent performatives indiquent les actions ou les opérations valides.

3.

Un environnement dans lequel les agents communiquent avec KQML peut être enrichi avec un genre spécial d'agents appelés les facilitateurs.

3.4.3.1

Le langage KQML

Le langage KQML (Knowledge Query Manipulation Language) a été conçu comme format de message pour supporter la communication entre agents. Les caractéristiques principales de KQML sont les suivantes :


·

Les messages KQML sont opaques au contenu qu'ils portent. Les messages KQML ne communiquent pas simplement des phrases en un certain langage, mais communiquent plutôt une attitude au sujet du contenu (affirmation, requête, réponse, etc.).


·

Les primitifs du langage s'appellent performatives (ces termes vient directement de la théorie d'acte de langage). Les performatifs définissent les actions (opérations) permises utilisées par des agents communiquant entre eux.


·

KQML suppose qu'au niveau d'agent, la communication point à point.


·

Un environnement dans lequel les agents communiquent avec KQML peut être enrichi avec un genre spécial d'agents appelés les facilitateurs, qui fournissent aux fonctions additionnelles d'agents la gestion de réseau, telle que l'association des adresses physiques en noms symboliques, registration des agents, etc.

KQML utilise un ensemble de types de messages standards. Un exemple est comme suit :

(ask-one

:content (PRICE IBM ?price)

:receiver stock-server

:language LPROLOG

:ontology myOntology )

Dans la terminologie de KQML, "ask-one" est un performatif. Les paramètres de performatif sont présentés par des mots-clés tels que "sender", "language", etc. Le message ci-dessus représente une question au sujet du prix d'un stock partagé d'IBM. Ontology assumé par la question est l'identification par "myOntology", le récepteur du message est "stock-server" et le langage utilisé est "LPROLOG".

Les types de messages KQML sont de diverses natures :


·

Simples requêtes et assertions, tel que : ask, tell, ...


·

Instructions de routage de l'information, tel que forward, broadcast, ...


·

Commandes persistantes, tel que subscribe, monitor, ...


·

Commandes permettent aux agents consommateurs de demander à des agents intermédiaires de trouver les agents fournisseurs pertinents, tel que advertise, recommend, ...

3.4.4

Protocole d'interaction entre agents

Un système multi-agents peut être considéré comme société artificielle virtuelle, dans laquelle les agents peuvent coopérer ou coordonner pour accomplir des tâches. L'interaction entre agent exige un ensemble de messages convenus, de règles pour des actions basées sur la réception de divers messages, et d'acceptations des voies de transmission [Chen et al 03]. Ces contraintes, règles et modèles peuvent être soustraits et formalisés comme AIP (Agent Interaction Protocol), qui font base de la négociation et la coopération d'agents. En utilisant les protocoles, les comportements autonomes des agents peuvent être de façon ou d'autre prévisibles.

L'AIP sont des modèles représentant les messages de communication et les contraintes correspondantes sur le contenu de tels messages. Ils décrivent un ordre permis des messages et du contenu de message entre les agents [Odell et al 00]. L'AIP peut également être considéré en tant que modèles réutilisables de conception de logiciel décrivant des problèmes se produisant fréquemment dans les systèmes multi-agents [Bauer et al 00]. Les rôles et les détails de messages dans un AIP peuvent être modifiés pour s'adapter à différents scénarios pour résoudre des problèmes [Inverno et al 98].

3.4.5

Transport de messages

La communication entre agents est nécessaire aussi bien pour échanger les données entre les agents que les connaissances. Pour cela, plusieurs moyens existent : au niveau le plus bas, il existe des sockets qui permettent aux différents agents codés en Java de communiquer entre eux ; il existe aussi d'autres technologies (en Java notamment). On peut citer l'invocation de méthodes distantes (RMI pour Remote Method Invocation) et la technologie CORBA (Common Request Broker Architecture).

Plusieurs travaux concernent la mise en oeuvre d'infrastructures de communication qui dispensent le programmeur d'implémenter lui-même la communication entre les agents. Avec ce type d'outils, le fonctionnement typique consiste à fournir une adresse à chaque agent. Cette adresse lui permettra d'émettre et de recevoir des messages de la part des autres agents. L'avantage est la possibilité d'avoir des communications asynchrones et d'être dispensé de la nécessité de localiser un agent avant de lui envoyer un message. JATLite est une infrastructure de ce type, elle permet aux agents de communiquer via Internet.

3.4.5.1

Sockets, RMI et CORBA

3.4.5.1.1

Sockets

Une socket est une abstraction de programmation représentant les extrémités d'une connexion entre deux ordinateurs. Pour chaque connexion donnée, il existe une socket sur chaque machine, on peut imaginer un câble virtuel reliant les deux ordinateurs, chaque extrémité étant enfichée dans une socket. En Java, on crée un objet Socket pour établir une connexion vers une autre machine, puis on crée un InputStream et un OutputStream à partir de ce Socket, afin de traiter la connexion en tant qu'objet flux d'entrée/sortie.

3.4.5.1.2

RMI

L'invocation de méthodes distantes se base sur le raisonnement selon lequel la meilleure manière d'exécuter des instructions à travers un réseau sur d'autres ordinateurs est de considérer qu'un objet est présent sur une autre machine et qu'on lui envoie un message et l'on obtient le résultat comme si cet objet était instancié sur la machine locale. L'invocation de méthodes distantes exige de créer une interface distante (remote interface) sur la machine serveur ; ainsi, l'implémentation sous-jacente est masquée aux différents clients. Les étapes suivantes de la création des objets RMI sont l'implémentation de l'interface distante, la mise en place du registre, la création des stubs et des skeletons qui assurent les opérations de connexion réseau et permettent de donner l'illusion que l'objet distant est situé sur la machine locale. L'utilisation de l'objet distant consiste simplement pour le programme client à rechercher et à rapatrier depuis le serveur, l'interface distante.

3.4.5.1.3

CORBA

Lorsque les applications distribuées deviennent plus importantes et exigent des fonctionnalités telles que l'intégration de bases de données existantes ou l'accès aux services d'un objet serveur sans se soucier de sa localisation physique, on a besoin d'effectuer des appels à des procédures distantes ou RPC (Remote Procedure Call) et il peut être nécessaire d'avoir une indépendance par rapport au langage. Dans ces cas, il est nécessaire de recourir à une technologie d'intégration comme CORBA. Il s'agit d'une spécification que les fabricants peuvent suivre afin d'implémenter des produits supportant une intégration CORBA. La norme CORBA fait partie du travail réalisé par l'OMG (Object Management Group) pour définir des standards d'interopérabilité des objets distribués et indépendants du langage. Elle fournit la possibilité de faire des appels à des procédures distantes dans des objets Java et non-Java, d'interfacer des systèmes existants sans se soucier de leur emplacement. La spécification de l'interopérabilité objet est généralement désignée comme l'Object Manager Architecture (OMA). L'OMA définit deux composants : le Core Object Model et l'OMA Reference Architecture. CORBA est un raffinement du Core Object Model dans ce sens qu'il met en place les concepts de base d'objet, d'interface, d'opération, etc. L'OMA ReferenceArchitecture définit les services et les mécanismes qui permettent aux objets d'inter-opérer, il contient l'Object Request Broker (ORB), les services CORBA et les outils communs. L'ORB est le bus de communication par lequel les objets peuvent réclamer des services auprès des autres objets, sans rien connaître de leur localisation physique. La norme CORBA n'a pas pour but d'expliquer comment implémenter les ORB, mais permet une compatibilité entre les différents ORB des fournisseurs. Ainsi, l'OMG définit un ensemble de services qui sont accessibles par l'intermédiaire d'interfaces standard. Afin d'assurer l'indépendance vis-à-vis du langage, CORBA dispose d'un langage de définition d'interface, IDL (Interface Definition Language), qui précise les types de données, les attributs, les opérations, les interfaces, etc. Le compilateur IDL génère le code stub et le code skeleton utilisés pour réunir les arguments des méthodes et réaliser les appels distants. En résumé, on pourrait dire que CORBA est le support de RPC, qui permet à des objets locaux d'appeler des méthodes d'objets distants. Cette fonctionnalité est intégrée à Java à travers les RMI ; toutefois, là où le RMI rend possible les RPC entre des objets Java, CORBA le fait entre des objets implémentés dans n'importe quel langage.

3.4.5.2

Plateformes agents Conformes à KQML

Il est difficile d'implémenter et déboguer des systèmes multi-agents à partir du zéro. Cependant, il y a un certain nombres des réalisations des infrastructures d'agents basées sur KQML actuellement disponibles. Dans le suivant nous présentons brièvement quelques unes d'elles.

Java Agent Template, Lite (JATLite), développé à l'université de Stanford, est un package des programmes Java qui permettent à des utilisateurs de créer des agents logiciels qui communiquent à travers l'Internet. JATLite facilite particulièrement la construction des agents qui envoient et reçoivent des messages en utilisant le langage de communication KQML.

L'architecture de JATLite, comme représentée sur la Figure 2.1, est organisée comme hiérarchie des couches de plus en plus spécialisées, de sorte que les réalisateurs puissent choisir la couche appropriée pour commencer à développer leurs systèmes.


·

La couche abstraite fournit un ensemble de classes abstraites nécessaires à l'implémentation de JATLite.


·

La couche de base fournit des communications TCP/IP et donne accès à la couche abstraite.


·

La couche KQML fournit le stockage et l'analyse des messages KQML. Des extensions au KQML standard proposées par l'Université de Stanford [Pietrie, 03] ont été implémentées afin de permettre un protocole standard pour l'inscription, la connexion, la déconnexion, etc.


·

La couche de routage offre aux agents l'inscription, le routage et la mise en file des messages.


·

La couche de protocoles supporte différents protocoles et services Internet comme SMTP, FTP, POP3, HTTP.

Magenta, développé à l'université de Stanford, est un ensemble d'API (Application Processing Interface) pour le langage de communication entre d'agents. Il facilite la communication entre des agents situés dans un environnement de calcul hétérogène. Bien que les utilisateurs de l'API puissent communiquer de pair à pair, l'API est particulièrement utile pour l'interaction anonyme d'agents.

JKQML (Java-based Knowledge Query Manipulation Language), développée à IBM, est un framework et API pour construire des programmes basés Java communicant par KQML à travers l'Internet. JKQML permet l'échange d'information et de services entre les systèmes logiciels.

3.5

Interaction et coopération entre agents

Un système multi-agents se distingue d'une collection d'agents indépendants par le fait que les agents interagissent en vue de réaliser conjointement une tâche ou d'atteindre conjointement un but particulier. Les agents peuvent interagir en communiquant directement entre eux ou par l'intermédiaire d'un autre agent ou même en agissant sur leur environnement.

La coopération peut être considérée comme une attitude intentionnelle adoptée par les agents qui décident de travailler ensemble [Ferber 95]. Dans ce cas les agents s'engagent dans une action après avoir identifié et adopté un but commun considéré comme un élément essentiel de l'activité sociale.

Les protocoles d'interaction s'intéressent à des séries des messages échangés entre les agents; ce que l'on appelle des conversations. Il existe différentes formes de protocoles d'interaction suivant les systèmes recherchés. Dans le cas d'agents compétitifs (buts conflictuels ou simplement des intérêts propres), l'objectif des protocoles est de maximiser l'utilité de chaque agent. Dans le cas où des agents ont des buts identiques ou des problèmes communs, comme c'est le cas de résolution distribuée de problèmes, les protocoles d'interaction cherchent à maintenir des invariants globaux sans intervenir sur l'autonomie de chaque agent, ni avoir recours à un contrôle centralisé [Bourdon 01].

3.6

Coordination entre agents

De nombreux exemples de coordination existent dans la vie quotidienne : deux déménageurs déplaçant un meuble lourd, deux jongleurs échangeant des balles avec lesquelles ils jonglent, des personnes qui parlent à tour de rôle en se passant un micro, etc. [Malone 94] note que deux des composantes fondamentales de la coordination entre agents sont l'allocation de ressources rares et la communication de résultats intermédiaires. Dans ce contexte, les agents doivent être capables de communiquer entre eux de façon à pouvoir échanger les résultats intermédiaires. Pour l'allocation des ressources partagées, les agents doivent être capables de faire des transferts de ressources.

Bien entendu, la coordination est une question centrale pour les systèmes multi-agents et la résolution de systèmes distribués. En effet, sans coordination un groupe d'agents peut dégénérer rapidement en une collection chaotique d'individus.

3.7

Négociation entre agents

La négociation joue un rôle fondamental dans les activités de coopération en permettant aux personnes de résoudre des conflits qui pourraient mettre en péril des comportements coopératifs. La négociation est définie comme étant le processus d'améliorer les accords (en réduisant les inconsistances et l'incertitude) sur des points de vue communs ou des plans d'action grâce à l'échange structuré d'informations pertinentes. En général les chercheurs en IA distribués utilisent la négociation comme un mécanisme pour coordonner un groupe d'agents.

Un des protocoles les plus étudiés pour la négociation s'appuie sur une métaphore organisationnelle. Le protocole du réseau contractuel (Contract-Net) a été une des approches les plus utilisées pour les systèmes multi-agents [Bourdon 01][Jarras 02]. Les agents coordonnent leurs activités grâce à l'établissement de contrats pour atteindre des buts spécifiques. Un agent, agissant comme un gestionnaire (manager) décompose son contrat (une tâche ou un problème) en sous-contrats qui pourront être traités par des agents contractants potentiels. Le gestionnaire annonce chaque sous-contrat sur un réseau d'agents. Les agents reçoivent et évaluent l'annonce.

Les agents qui ont les ressources appropriées, l'expertise ou l'information requise envoient au gestionnaire des soumissions (bids) qui indiquent leurs capacités à réaliser la tâche annoncée. Le gestionnaire évalue les soumissions et accorde les tâches aux agents les mieux appropriés. Ces agents sont appelés des contractants (contractors). Enfin, gestionnaires et contractants échangent les informations nécessaires durant l'accomplissement des tâches. Par exemple, [Parunak 96] a utilisé ce protocole pour développer un système de contrôle de production.

3.8

Utilisateur dans les systèmes multi-agents

L'intégration de l'utilisateur dans un système multi-agents est un problème qui a souvent été évoque par la communauté des systèmes multi-agents, mais qui n'a pas souvent été résolu. La plupart du temps, l'utilisateur intervient dans le système pour fixer les paramètres, observer un possible comportement émergent et analyser les résultats, mais il est rarement intègre dans l'environnement comme élément à part entière de la simulation.

L'utilisateur interagit avec le système multi-agents via une Interface Homme-Machine (IHM). Ainsi des travaux ont été menés sur la réalisation de telles IHM [Brown et al. 98]. Le but de ces travaux est de fournir une interface intelligente, c'est-à-dire qui s'adapte aux actions de l'utilisateur. Dans ces travaux, le système essaie de prévoir les actions futures de l'utilisateur pour lui proposer la bonne interface. Pour cela, le système multi-agents se construit un modèle de l'utilisateur a partir de l'observation de ses actions. Dans de telles applications, l'utilisateur est considéré comme un maître dans le système.

La plupart des travaux menés pour intégrer l'utilisateur dans le système multi-agents se sont développes autour des services sur Internet et l'informatique mobile [Burg 00]. Le principe est alors de fixer des paramètres représentant l'utilisateur dans un agent autonome qui le représente dans ses différentes tâches sur Internet. ABROSE, est un exemple de ces systèmes multi-agents [Gleizes et al. 00]. Le but de ABROSE est d'aider l'utilisateur au courtage sur Internet. Le système est composé de deux domaines. Le domaine du courtage et le domaine utilisateur. Le domaine du courtage contient essentiellement les agents de transactions (TA) représentant chacun un utilisateur. Cet agent connaît la requête de l'utilisateur et dispose de croyances sur les autres agents de transactions. Il peut ainsi collaborer avec les agents pertinents. Le domaine de l'utilisateur fournit des utilitaires qui permettent à l'utilisateur de se connecter au système, de formuler sa requête et de réaliser les transactions. Dans de tels systèmes multi-agents, l'utilisateur n'est intégré à l'environnement que via l'agent qui le représente, il ne participe pas directement à l'évolution de cet environnement.

3.9

Systèmes multi-agents et formation

L'intelligence artificielle est utilisée dans la conception des tuteurs intelligents. Elle permet de représenter les connaissances et les raisonnements de l'étudiant, de l'expert et du tuteur. Cette modélisation est principalement réalise par des règles d'inférences. Mais des travaux plus récents proposent d'utiliser les systèmes multi-agents pour représenter les connaissances. Les systèmes multi-agents sont également utilises pour simuler les différentes stratégies pédagogiques ou les différents composants de l'outil pédagogique.

3.9.1

L'intelligence artificielle pour la formation

Le but des systèmes tuteurs intelligents (ou ITS Intelligent Tutoring System) est de permettre à un étudiant d'apprendre seul. Un tel système vise à rendre un retour immédiat sur les actions de l'étudiant. En général, les ITS alternent entre les phases où, l'étudiant mène l'exercice et le tuteur valide les actions, et les phases où le tuteur réalise les tâches et les explique à l'étudiant.

Différentes stratégies de formation [Aïmeur et al. 00] ont été développées pour améliorer l'utilisation des ITS. Les principales sont les stratégies coopératives (compétitif) ou au contraire perturbatrices. Dans les stratégies coopératives, le professeur est vu comme un partenaire qui va échanger, contrôler et construire des connaissances avec l'apprenant. Il y a trois types d'agent. Le professeur (joué par le système), le compagnon (également simulé) et l'apprenant (l'utilisateur humain). Le compagnon et l'apprenant coopèrent pour la réalisation de la tâche, échangent des idées sur le problème et partagent les mêmes buts. A l'inverse, dans les stratégies perturbatrices, le but est de perturber l'apprenant en lui proposant des solutions qui peuvent être erronées. Cela force l'apprenant à évaluer la confiance qu'il a dans les solutions qu'il propose. Dans ce type d'apprentissage, il y a également trois types d'agent. Un professeur (simulé) qui gère l'évolution de la session et évalue les résultats, un apprenant (humain) et un étudiant perturbateur (simulé). Le perturbateur et l'apprenant humain doivent réaliser la même tâche. Le perturbateur propose des solutions parfois fausses et parfois vraies. Cela provoque un débat entre l'apprenant et le perturbateur. Ils doivent alors argumenter leurs solutions. Le professeur se construit un modèle de l'utilisateur pour connaître les points non maîtrisés par l'apprenant. Un autre type de stratégie inclut un compagnon compétitif et un deuxième compagnon perturbateur; afin de bénéficier les avantages des deux stratégies d'apprentissage [Zeghida 03].

L'explication et l'évaluation sont des concepts importants dans un ITS. En effet, un ITS doit savoir ce que l'étudiant a effectivement compris pour évaluer ses performances et expliquer. Pour pouvoir expliquer, le système doit comprendre exactement la dynamique de l'environnement et les interactions entre ses composants pour détecter la source de l'erreur. Cette tà ache peut devenir tr`es difficile dans le cas de systèmes complexes [Zouaq et al. 00]. Ces explications doivent également être personnalisées. Pour cela l'ITS doit avoir des connaissances sur l'apprenant. Ces connaissances sont appelées modèle de l'étudiant.

3.9.2

Les systèmes multi-agents pour la formation

Un EIAO et particulièrement un STI est un environnement composé de plusieurs éléments, chacun d'entre eux regroupant différents concepts. Plusieurs auteurs ont donc proposé une implémentation fondée sur la méthodologie des systèmes multi-agents. Les raisons avancées sont souvent leurs capacités d'incrémentalité (ajout ou modification d'une fonctionnalité sans modifier l'ensemble de l'application) et d'interfaçage entre modules hétérogènes.

Dans beaucoup d'STI, les agents représentent les différents modules (expert, tuteur, interface...) C'est le cas, par exemple, dans [Fenton et al 98], qui décrit différents types d'agent, chacun ayant un rôle particulier [Querrec 02] :


·

Source d'informations (cours, sons, images...),


·

Tuteur,


·

Expert,


·

Motivateur, dont le rôle est d'encourager l'apprenant, attirer son attention sur des éléments de l'environnement,


·

Médiateur qui permet de faciliter les interactions entre les différents intervenants.

Cependant, pour pouvoir illustrer le rôle des agents nous avons passé en revue les différentes recherches effectuer dans ce domaine durant les deux dernières décennie. On peut regrouper ces nouveaux STI en deux domaines suivant les stratégies d'apprentissage employés:

1.

Les systèmes d'apprentissage sociaux ;

2.

Les systèmes adaptatifs.

Bien entendu cette distinction est largement artificielle car on peut retrouver des systèmes qui sont à la fois sociaux et adaptatifs.

L'ensemble de ces travaux se base sur un modèle de l'apprenant pour adapter l'intervention de leurs composants. Des travaux ont donc également été menés pour construire le modèle apprenant par un système multi-agents. En effet, l'objectif de la construction d'un tel modèle est de reconnaître le raisonnement de l'étudiant à partir de l'analyse de ses interactions avec l'environnement.

3.9.2.1

Les environnements d'apprentissage sociaux et les SMA

Ces prétendus systèmes d'apprentissage avec compagnon (LCS) sont une variation des systèmes tuteurs intelligents. Ils essayent de modeler des groupes d'étudiant comme dans une salle de classe visant à créer un contexte «social» plus riche. Il se compose au moins de trois agents : le tuteur, l'étudiant et le compagnon d'apprentissage (LC : Learning Compagnon).

Ainsi, dans un environnement d'apprentissage social, l'apprenant et le compagnon peuvent collaborer ou concurrencer. Cependant, si des systèmes coopératifs et de collaboration peuvent être considérés en tant que systèmes d'apprentissage sociaux, il y a une différence entre la coopération et la collaboration :

Systèmes collaboratifs : La collaboration exige une action commune des agents et une compréhension mutuelle de la tâche à exécuter, chacun ayant ses propres objectifs.

Systèmes coopératifs : La coopération, quant à elle, exige de partager les responsabilités entre les agents pour exécuter une tâche et la connaissance des objectifs mutuels.

Une autre utilisation des agents dans les systèmes sociaux dans un réseau est de remplacer un des participants éloignés lors d'un apprentissage, ou de jouer le rôle de compagnon ou de tuteur privé pour aider chaque participant humain. Par exemple, dans l'absence de l'apprenant, il peut déléguer un compagnon pour participer à sa place à une certaine formation avec d'autres étudiants, en utilisant le modèle apprenant.

Un autre apport des systèmes multi-agents est de pouvoir gérer simultanément différentes stratégies de formation. Ainsi les travaux de [Frasson et al 97] se fondent sur le constat qu'une stratégie de formation peut ne pas être adaptée pour un apprenant dans un domaine spécifique, un STI doit alors intégrer plusieurs stratégies de formation. Dans l'architecture proposée [Frasson et al 97] (Figure 2.2), un agent (Session manager) choisit la stratégie adaptée puis active l'agent correspondant en fonction du domaine et du modèle de l'étudiant. Cette sélection est dynamique. La stratégie globale de formation émerge donc résulte d'une collaboration entre les agents pédagogiques.

C'est ce principe d'émergence de la fonction pédagogique à partir des interactions entre les composants d'un EIAO qui est implémentée dans le système Baghera [Pesty et al 01].

3.9.2.2

Les environnements d'apprentissage adaptatifs et les systèmes multi-agents

Un système adaptatif perçoit le comportement de l'utilisateur à travers ses actions sur l'interface et adapte alors sa propre organisation interne, et donc son propre comportement, à cette perception. Par conséquent, le module d'interface avec l'usager n'est plus un simple module de communication entre l'apprenant et le système, mais il détient une partie de l'intelligence du système lui permettant de s'adapter à différentes caractéristiques de l'usager.

Pour y arriver, le système doit posséder une structure qui permette un changement d'organisation. Lorsqu'il s'agit de concevoir un tel système, la technologie « agent » se révèle bien adaptée. Le système essaie de prévoir les actions futures de l'utilisateur pour lui proposer l'interface adéquate. Pour cela, le système multi-agents se construit un modèle de l'utilisateur à partir de l'observation de ses actions [Querrec 02].

Dans le travail de L. Richard, le système CMOS [Richard 99], le principe est sensiblement le même. L'architecture du système multi-agents est donnée en figure 2. Dans cette architecture trois types d'agent coexistent, des agents humains (apprenant et instructeur), des agents cognitifs (qui sont permanents et dont il n'existe qu'un seul individu par classe) et des agents réactifs (créés par les agents cognitifs et dont il existe 0 ou n individus par classe). Les agents cognitifs sont appelés ainsi car, d'une part ils ont la capacité d'apprendre, c'est-à-dire que leur base de connaissances évolue, et d'autre part leurs connaissances portent sur des capacités cognitives et pédagogiques du système et de l'apprenant (interactions, erreurs ...) [Querrec 02].

Ainsi, un agent Détecteur d'écart surveille les interactions entre l'apprenant et son environnement. S'il détecte un écart avec la base de savoir-faire (méthodes préenregistrées par l'instructeur), il crée un agent réactif « Evaluateur d'écart » qui, en relation avec l'agent cognitif Dépositaire de l'expérience instructeur (qui contient les instructions pédagogiques de l'instructeur), évalue la gravité de cet écart. Cette évaluation est transmise sous forme de note à l'agent cognitif Curriculum qui gère la progression de l'étudiant et l'organisation des sessions d'apprentissage. En fonction de cette évaluation, l'agent Evaluateur d'écart prend contact avec l'agent cognitif Gestionnaire des ressources didactiques qui présente à l'apprenant la ressource adaptée à son erreur.

Dans ce type d'utilisation, le professeur n'intervient qu'avant la formation pour définir les exercices et les préférences pédagogiques, et après la formation pour analyser le curriculum. C'est le principe même des STI qui partent de l'hypothèse de la distribution géographique des intervenants. Des travaux ont alors été menés pour distribuer ces applications sur le réseau Internet et pour permettre au professeur d'avoir des informations sur les activités des apprenants et agir pour les aider lorsque les tuteurs n'y arrivent pas. La difficulté réside alors dans la conception d'un agent qui va permettre au professeur de bien percevoir la situation chez l'apprenant [Querrec 02].

Chapitre 3

Hypermédia Educatif Adaptatif dynamique basé Agent

- HEDAYA -

1

Introduction

Dans ce chapitre, nous présentons le système multi-agents HEDAYA (Hypermédia EDucatif Adaptatif dYnamique basé Agent) que nous avons développé en vue de créer un système hypermédia éducatif, adaptatif au profile et à l'objectif de l'apprenant, dynamique générant les pages hypermédias dynamiquement, en présentant plusieurs visions d'un même concept, dont le cours est le résultat de l'interaction entre ses agents collaboratifs. Ces agents autonomes coopèrent pour accomplir des tâches en communicant entre eux. Le problème central de ce type d'agent est le langage de communication qui doit être bien défini, le langage utilisé dans HEDAYA et KQML (Knowledge Query and Manipulation Language).

Nous avons développé une démonstration du système HEDAYA en utilisant JAVA comme langage de programmation (l'environnement JBuilder 7), XML pour modéliser le modèle du domaine et le modèle des activités pédagogiques, Interbase comme SGBD pour les bases de données des modèles des l'apprenants et la base de documents multimédias.

Nous présentons dans ce chapitre l'architecture détaillée de notre système où on décrit les modèles utilisés et les agents constituant le système. Ensuite, on aborde les techniques utilisées pour assurer la communicabilité dans notre système multi-agents. La quatrième section montre les règles de sélections des liens hypertextes et la méthode d'introduction des techniques d'annotation des liens. Les différents scénarios d'apprentissage et les protocoles de communications sont illustrés dans la cinquième section. La sixième section parle de l'architecture logicielle de HEDAYA et de différents outils utilisés pour implémenter ce système.

2

Architecture détaillée de HEDAYA

Le système est constitué des composants standards des hypermédias éducatifs adaptatifs dynamiques [Delestre 00] et les hypermédias générant des activités pédagogiques [Balla et al 03][Balla 04][Laoudi 02]: modèle de l'apprenant, modèle du domaine, modèle des activités pédagogiques et la base de documents multimédias.

Par couplage avec les hypermédias basés-agents [Bailey 02], les système tutoriels intelligents basés agents [Hospers et al 03] [Capuano et al 01] et les environnements de formation à distance basés agents [Bergia 01][Mbala 03], on a développé une architecture d'un système multi-agents collaboratif, constitué de quatre agents : agent d'interface, agent pédagogique d'adaptation, agent du modèle de l'apprenant et agent de filtrage [Beggas 04].

2.1

Modélisation du système

2.1.1

Modèle de l'apprenant

Le modèle de l'apprenant permet au système de s'adapter à l'apprenant qui interagit avec lui. C'est-à-dire, il présente des connaissances compréhensibles et utilise ce que l'apprenant connaît déjà. Ceci ne peut être atteint que par la connaissance de profile de l'apprenant. Ce profile doit intégrer les connaissances de l'apprenant sur le domaine, mais aussi on peut ajouter des particularités de l'apprenant comme ses objectifs pédagogiques et ses préférences (couleur, police, etc.).

Pour modéliser les connaissances de l'apprenant sur le domaine, le plus fréquent paradigme de représentation des connaissances de l'apprenant est le modèle de couches (overlay model) [Koch 00]. Son principe est de refléter les connaissances individuelles de l'apprenant comme une couche d'une certaine épaisseur du modèle du domaine. A chaque concept du modèle de du domaine, s'associée une valeur d'estimation des connaissances de l'apprenant sur ce concept, cette estimation peut être une valeur binaire « connu - inconnu », une mesure qualitative « bien - satisfait - mauvais » ou une probabilité définissant la connaisse sur le concept. L'ensemble des couples « concept - valeur » constituent alors le modèle de couches ; i.e. les connaissances de l'apprenant sur le domaine.

On choisit la mesure qualitative; on associe une valeur d'estimation des connaissances de l'apprenant à chaque concept du modèle de du domaine; « concept - valeur » (valeur : faible, moyen ou bien), qui permettra d'assigner à chacune des mesures une activité pédagogique « mesure - activité pédagogique ». On aura donc les correspondances suivantes : « faible - familiarisation », « moyen - clarification » et « bien - renforcement ». Ces correspondances permettent de déclencher l'activité pédagogique adéquate.

Le modèle de l'apprenant contient aussi, le classement de type physique de média préféré et le mode d'apprentissage suivi.

2.1.2

Modèle du domaine

Le modèle du domaine est la composante de système, qui permet à l'ordinateur de connaître ce qui va enseigner à l'étudiant [Delestre 00] ; il contient le matériel à enseigner. Ce modèle est défini par les experts du domaine qui sont dans ce cas les enseignants. Pour avoir une effective personnalisation du cours, le matériel doit être bien structuré et bien granulé.

Le modèle de domaine est représenté par un graphe contient des noeuds et des arcs; les noeuds constituent les concepts, les relations entre eux sont définis par les arcs. On distingue quatre types de relations [Delestre 00]:

1.

La relation de prérequis qui indique que l'apprentissage d'une notion A est assujettie à la maîtrise de la notion B.

2.

La relation d'analogie qui indique que la maîtrise d'une notion A peut aider l'apprentissage d'une nouvelle notion B.

3.

La relation de conjonction qui indique que l'apprentissage d'une notion A s'effectue via l'apprentissage séquentiel d'une succession de notions Ai.

4.

La relation de disjonction forte qui indique que l'apprentissage d'une notion peut s'effectuer via l'apprentissage de telle ou bien telle notion.

La Figure 3.2 représete le modèle du domaine de notre démonstration.

Le modèle du domaine permet par sa définition des relations entre concept :

°

L'adaptativité de système par le modèle de domaine et le modèle de l'apprenant defini comme une couche sur lui et par:

°

L'organisation pédagogique des differents concepts par les relations entre concepts

Connaît rappel

Apprenant Figure 3.3Figure 3.3: exemple de canevas de l'activité pédagogique «familiariser»

Concept Figure 3.4:Document multimédia et ses attributs

Niveau de compréhension Niveau cognitif : familiariser

Figure 3.1 : Niveaude compréhension d'un concept pour un apprenant Type cognitif : Histologie, Introduction

2.1.3

Modèle des activités pédagogiques

Ce modèle constitue par activités pédagogiques qui permettent au système de présenter les concepts de différente façon de sorte à trouver la meilleure présentation possible. A partir de ces activités, le système déduit l'ensemble des tests à présenter à l'apprenant afin de renforcer ses connaissances. L'intérêt de l'utilisation des activités pédagogiques réside dans le fait que celle-ci permettent d'avoir plusieurs vues d'un même concept ce qui facilite sa compréhension.

Les activités pédagogiques sont [Balla et al 03][Laoudi 02] :

1.

Familiarisation : permet à l'apprenant de manipuler le concept, ses taches sont :


·

Introduction


·

Simplification


·

Comparaison


·

Rappel


·

Digression

2.

Clarification : nécessaire pour clarifier le concept, ses taches sont :


·

Observation


·

Démonstration


·

Description


·

Reformulation

3.

Renforcement : utile pour consolider le concept, ses taches sont :


·

Illustration


·

Justification


·

Discussion


·

Récapitulation


·

Corroboration

4 : ordre

HistologieType Physique: texte + image

EczémaAdresse : URL

Mélanome

InfectionConcept ; Eczéma,

UlcèresActivité pédagogique : Clarifier

SyphilisTache : Description générale

Acné

Impétigo Concept ; Psoriasis,

Erysipèle Activité pédagogique : Familiariser

Pré-requis Analogie Tache : Description générale

Disjonction ConjonctionFigure 3.5: Document multimédia meta-concept

Figure 3.2: Représentation de modèle dudomaine Figure 3.2

A chaque concept du domaine, l'auteur associé un certain nombre d'activité suivant le degré de difficulté de compréhension et à la nature du concept. Dans la phase d'apprentissage le système choisira l'activité adéquate.

Les taches induites par les activités pédagogiques ont utilisé pour définir le canevas du document qui sera présenter à l'apprenant. Ces canevas sont prédéfinis par les enseignants.

L'utilisation des activités pédagogiques permet d'avoir plusieurs visions de même concept, par exemple, dans le cas de l'activité familiariser on peut considérer différentes structures telles que :

1.

Introduction

2.

Rappel

3.

Comparaison

4.

Simplification

Ou bien

5.

Simplification

6.

Digression

7.

Comparaison

8.

Rappel

Le choix de la structure dépend des préférences de l'apprenant quant au média utilisé et au mode d'apprentissage. Ces préférences peuvent être représentées par un graphe des taches comme illustré dans la .

2.1.4

Base de documents multimédias

Les documents multimédias constituent les fragments du cours à présenter à l'apprenant, ils sont stockés dans la base de documents multimédias. Chaque document est lié à un concept, une activité pédagogique (donc un niveau de l'apprenant), une tâche de canevas de cours par quatre types d'attribut [Recker 95][Delestre 00]

1.

Le type physique de documents (texte, image, vidéo, etc.)

2.

Le type cognitif, issu des tâches de l'activité en cours, par exemple dans le cas de l'activité clarifier, l'attribut de document choisi est parmi la liste suivante : description, démonstration, observation et reformulation

3.

Le niveau cognitif, qui permet de spécifier, pour une notion, le niveau de connaissance de l'apprenant pour appréhender correctement le document.

4.

Adresse : l'adresse du document

La Figure 3.4 montre un exemple de document multimédia avec ses attributs.

2 : ordre Perception

digression Action

1 : ordre Agent de modèle de l'apprenant

simplification Modèle des activités pédagogiques

4: ordreBase de documents Multimédia

simplification

3: ordreAgent d'Interface

comparaison Utilisation de modèle par un agent

2: ordreFigure 3.8: Architecture deHEDAYA

rappel Figure 3.13: Protocoles de communication pour le scénario connexion d'un apprenant

1: ordreAMA

canevasPOST

introductionTell

familiariserAMA

comparaison Reply

3 : ordre Apprenant Inscrit

Dans notre système, on distingue quatre types de documents multimédias :

°

Les documents multimédias définissant une tâche d'un concept

1.

Le document associe à une tâche d'un concept (Figure 3.4)

°

Et autres types de documents auxiliaires introduits pour améliorer la qualité d'adaptation et pour le bon déroulement du système

2.

Le document méta concept contenant une description générale sur le concept selon l'activité pédagogique suivi (pour chaque concept on définit trois documents méta concepts, un pour chaque activité pédagogique; le type cognitif dans ce cas est : concept + description générale). Ces documents seront utilisés pour construire la page index du cours (Figure 3.5).

3.

Le document test d'évaluation; ce type de documents est construit en utilisant des Applets java permettant l'évaluation de réponses.

4.

Le document page Web, par exemple, la page d'inscription de nouveau apprenant

Attente de connexion d'un agent (ie. d'un socket client);

2.2

Architecture du système

En basant sur les modèles présentés dans la section précédente, on peut proposer une architecture multi-agents constituée de quatre agents : agent d'interface, agent pédagogique d'adaptation, agent du modèle de l'apprenant et agent de filtrage.

2.2.1

Modèle général d'un agent Modèle général d'un agent

Dans notre contexte un agent est considéré comme entité logiciel qui travaille d'une manière continue et autonome dans un environnement particulier, généralement avec d'autres agents, capable d'intervenir dans cet environnement d'une manière flexible et intelligente, n'exigeant pas l'intervention ou le guidage humain [Silveira et al 02]. Dans notre contexte un agent est considéré comme entité logiciel qui travaille d'une manière continue et autonome dans un environnement particulier, généralement avec d'autres agents, capable d'intervenir dans cet environnement d'une manière flexible et intelligente, n'exigeant pas l'intervention ou le guidage humain [Silveira et al 02].

Le choix d'un modèle d'agent se fait essentiellement en fonction de besoins exprimés pour cet agent au cours de la phase d'analyse. Tous les agents doivent disposer de moyens de communication de haut niveau, de capacité de raisonnement et de prise de décision. Ces besoins nous conduisent à choisir un modèle d'agent cognitif pour nos agents. La Figure 3.6 présente le modèle général de cet agent. Ce modèle est inspiré du modèle d'agent BDI (Beliefs Desires Intentions) de Rao et Georgeff [Rao et al 95]. Le choix d'un modèle d'agent se fait essentiellement en fonction de besoins exprimés pour cet agent au cours de la phase d'analyse. Tous les agents doivent disposer de moyens de communication de haut niveau, de capacité de raisonnement et de prise de décision. Ces besoins nous conduisent à choisir un modèle d'agent cognitif pour nos agents. La Figure 3.6 présente le modèle général de cet agent. Ce modèle est inspiré du modèle d'agent BDI (Beliefs Desires Intentions) de Rao et Georgeff [Rao et al 95].

Le module de communication reçoit les messages (dans notre cas KQML) et passe le contenu au module de raisonnement. Dans le cas où l'action spécifiée est une action de communication, il détermine les coordonnées de l'agent récepteur, de la B.C. (Base de connaissance) puis envoie le message. Le module de communication reçoit les messages (dans notre cas KQML) et passe le contenu au module de raisonnement. Dans le cas où l'action spécifiée est une action de communication, il détermine les coordonnées de l'agent récepteur, de la B.C. (Base de connaissance) puis envoie le message.

La base de connaissances (B.C.) contient les croyances de l'agent sur l'environnement et sur les autres agents. La base de connaissances (B.C.) contient les croyances de l'agent sur l'environnement et sur les autres agents.

Figure 3.9 : Communication par les sockets, coté serveur

Figure 3.10 : Communication par les sockets, coté client

Le modèle Buts/Plans contient les plans à suivre pour atteindre des buts spécifiés ; chaque but est associé à un plan. Le plan détermine les actions à exécuter.

Le module de raisonnement détermine le plan et contrôle l'exécution de ce plan. Les actions sont soit action de communication ou action sur l'environnement de l'agent (par exemple, action sur une base de données ou action de consultation d'un modèle).

Les agents cognitifs fonctionnent suivant un processus en boucle de type Perception-Décision-Action (). on ().

La perception et l'action correspondent respectivement à la réception asynchrone de messages et à l'envoi de messages. La décision dépend des états internes de l'agent La perception et l'action correspondent respectivement à la réception asynchrone de messages et à l'envoi de messages. La décision dépend des états internes de l'agent et des messages reçus. Elle consiste à l'interprétation de message, la détermination de but et, donc le choix d'un plan.

Décision

Figure 3.7Figure 3.7Figure 3.7 : Cycle de base de fonctionnement d'un agent cognitif

Communication

Moteurde raisonnement etde contrôle

B.C.

Buts/Plans

Action

Environnement interne de l'agent

Figure 3.6:modèle général d'un agentFigure 3.6

Les mécanismes de perception et d'action peuvent être génériques pour nos agents, sauf l'agent d'interface qu'il a besoin en plus d'un mécanisme de perception de requête HTTP, alors que la fonction de décision est spécifique à chaque agent, elle dépend de son rôle et des tâches qu'il doit réaliser. Ainsi, nous identifions trois couches dans l'architecture de nos agents :

La couche 1 :

correspondant aux ressources de communication bas niveau disponibles (les sockets Java et le protocoles TCP/IP),

La couche 2 :

est la couche support à la gestion des protocoles d'interaction ; les messages KQML échangés entre les agents

La couche 3 :

est la couche applicative ; c'est la partie spécifique à chaque agent.

L'agent d'interface a besoin d'une sous couche de communication en utilisant le protocole HTTP.

2.2.2

Agent d'interface

L'agent d'interface joue le rôle d'une interface entre l'apprenant et, l'agent pédagogique d'adaptation, l'agent du modèle de l'apprenant et l'agent de filtrage. L'agent d'interface utilise deux moyens de communication; le protocole HTTP pour la communication avec l'apprenant (le navigateur Web), le langage KQML pour la communication avec les autres agents.

Il reçoit la demande de concept ou de page index du cours sous forme d'une requête HTTP, il formule une requête KQML et l'envoie à l'agent pédagogique d'adaptation.

Il reçoit la demande d'inscription d'un nouveau apprenant ou la demande de connexion d'un apprenant déjà inscrit (requête HTTP) et l'envoie à l'agent de modèle de l'apprenant en KQML, il lui envoie aussi le résultat d'évaluation d'un exercice pour modifier le modèle de l'apprenant.

Après la réponse sur la demande de concept ou de page index du cours de l'agent pédagogique d'adaptation contenant les adresses des documents et les liens ordonnés, l'agent d'interface récupère les documents de la base de documents, génère la page puis l'envoie à l'apprenant.

2.2.3

Agent pédagogique d'adaptation

Le rôle de l'agent pédagogique d'adaptation est la structuration pédagogique de la page de concept ou la page index du cours selon les relations entre concepts dans le modèle du domaine, le modèle des activités pédagogiques et le niveau pédagogique de l'apprenant par requête à l'agent de modèle de l'appreant.

Suite à une demande de l'agent d'interface, il spécifie la structure pédagogique de page de cours (ou de la page index du cours) par la définition des tâches à utiliser selon le modèle des activités pédagogiques (par la spécification des concepts de page index et l'activité pédagogique de chacun d'eux).

Il demande de l'agent de modèle de l'apprenant le niveau de l'apprenant sur le(s) concept(s), puis il demande de l'agent de filtrage de filtrer les documents adéquats aux critères qu'il a déjà spécifiés, après la réponse de l'agent de filtrage, il crée la structure de page (séquence de documents et de liens) puis l'envoie à l'agent d'interface comme réponse à la damnde de page de concept (ou page index du cours).

2.2.4

Agent de filtrage

Le rôle de l'agent de filtarge est le fitrage de documents multimédias selon les critères spécifiés par l'agent pédagogique d'adaptation, puis il lui répond par l'envoi des adresses de ces documents.

Il applique deux types de filtres :

°

Filtrage de documents pour la génération de page d'un concept (la requête de demande de filtrage contient : concept, liste de tâches, activité pédagogique). ie. filtrage des tâches constituant le canevas de cours

°

Filtrage de documents pour la génération de page index (la requête de demande de filtrage contient une liste de (concept, activité pédagogique, tâche = « description générale »).

L'agent de filtrage lorsqu'il reçoit la demande de filtrage de documents de concept de l'agent pédagogique d'adaptation, il applique quatre filtres

1-

Pour filtrer les documents de concept choisi

2-

Pour filtrer, parmi l'ensemble résultat du 1er filtre, les documents satisfaisant le niveau cognitif (l'activité pédagogique à suivre)

3-

Pour filtrer les documents des tâches induites de l'activité pédagogique demandée

4-

Pour chaque tâche, il filtre le document adéquat au type physique de média préféré à l'apprenant.

2.2.5

Agent de modèle de l'apprenant

Le rôle de l'agent du modèle de l'apprenant est de créer, initialiser, mémoriser et traiter le modèle de l'apprenant.

Il ajoute le nouveau apprenant suite à une demande de l'agent d'interface et initialise son niveau par faible pour tous les concepts.

Il modifie le niveau de l'apprenant sur un concept après l'évaluation de réponse de l'apprenant sur les tests et l'envoi de nouveau niveau par l'agent d'interface

Il consulte le modèle d'un apprenant pour spécifier son niveau pour un ou plusieurs concepts, réponse à une demande de l'agent pédagogique d'adaptation.

Modèle du domaine

Agent Pédagogique .d'adaptation

Modèle de l'apprenant

Agent de filtrage

Communication entre agents

Relation entre modèles

La Figure 3.8 illustre l'architecture détaillée de système HEDAYA ; les modèles utilisés, les agents et les différents canaux de communication entre eux.

3

Communication entre agents

L'interaction entre agents définit par l'aptitude d'échanger des informations et des connaissances qui peuvent être mutuellement comprises. Comme l'interaction entre les personnes, l'interaction entre les agents a besoin d'un langage de communication commun, une capacité d'échanger les connaissances et une compréhension mutuelle des connaissances échangées [Barceinas at al 98].

Le ACL (Agent Communication Language) a été créé par ARPA pour assurer l'interopérabilité entre des agents autonomes et distribués. Le ACL a trois composants : un vocabulaire, un langage de communication entre agent appelé KQML (Knowledge and Query Manipulation Language) et un langage spécifiant le contenu appelé KIF (Knowledge Interchange Format). Un message de ACL est alors un message KQML contenant une directive de communication et un contenu sémantique dans KIF, exprimé en termes de vocabulaire.

KQML fournit la couche linguistique pour rendre la communication efficace en considérant le contexte des messages. Il a été conçu comme format de message et comme protocole qui permet l'identification, le raccordement et l'échange de l'information entre des programmes. Selon [Finin et al. 95], KQML est caractérisé par trois caractéristiques importantes :

1.

Les messages KQML sont opaques au contenu qu'ils transportent, ce qui implique que les messages KQML ne communiquent qu'avec des sentences en certain langage, mais aussi une attitude ou à une intention sur le contenu.

2.

Des primitifs s'appellent performatives indiquent les actions ou les opérations valides.

3.

Un environnement dans lequel les agents communiquent avec KQML peut être enrichi avec un genre spécial d'agents appelés les facilitateurs.

3.1

Le langage de communications utilisé dans HEDAYA

Le langage utilisé pour la communication entre les agents de système HEDAYA est KQML. On a utilisé parmi les performatifs standard de KQML un sous ensemble, permettant l'interaction entre les agents de notre système.

Les performatifs utilisés sont :

Acheive : l'émetteur demande au récepteur de rendre le contenu de message vrai dans son environnement (l'environnement de récepteur).C'est à dire de réaliser la tache qui rend le contenu de message vrai.

Tell : le contenu de message est vrai dans l'environnement de l'émetteur.

Ask-if : l'émetteur veut la sentence de récepteur qui assortit le contenu de message.

Reply : l'émetteur croit que le contenu de message est une réponse appropriée à une demande ou à une question précédente.

Ask-about : l'émetteur veut toutes les sentences qui assortissent le contenu de message.

Voici un exemple de message KQML

Paramètre

Valeur

Performatif

Sender

Reciever

Ontology

Language

Content

Achieve

AI (Agent d'interface)

APA (Agent pédagogique d'Adaptation)

MyOntology (vocabulaire utilisé)

Java

générerPageConcept(eczéma, 1)

Tableau 3.1 : Exemple de message KQML

Le massage de tableau ci-dessus est un message de l'agent d'interface (sender) vers l'agent pédagogique d'adaptation (receiver), le performatif de message est une demande de réalisation (acheive) de générerPageConcept(eczéma, 1), c'est-à-dire l'agent d'interface demande de l'agent pédagogique d'adaptation de générer la page de concept eczéma pour l'apprenant qui a l'identificateur 1.

Un autre moyen de communication est utilisé pour la communication entre l'apprenant (le navigateur Web) et l'agent d'interface, c'est le protocole HTTP qui fonctionne au mode requête réponse. Les méthodes utilisées sont GET et POST.

3.2

Implémentation de la communication entre les agents de HEDAYA

Pour implémenter la communication entre agents, plusieurs moyens existent : au niveau le plus bas, il existe les sockets qui permettent aux différents agents codés en Java de communiquer entre eux ; il existe aussi d'autres technologies (en Java notamment). On peut citer l'invocation de méthodes distantes (RMI Remote Method Invocation) et la technologie CORBA (Common Request Broker Architecture).

Une socket est une abstraction de programmation représentant les extrémités d'une connexion entre deux ordinateurs. Pour chaque connexion donnée, il existe une socket sur chaque machine, on peut imaginer un câble virtuel reliant les deux ordinateurs, chaque extrémité étant enfichée dans une socket. En Java, on crée un objet Socket pour établir une connexion vers une autre machine, puis on crée un InputStream et un OutputStream à partir de ce Socket, afin de traiter la connexion en tant qu'objet flux d'entrée/sortie.

Le principe de l'invocation de méthodes distantes et de permettre à un objet présent sur une autre machine de lui envoyer un message et l'on obtient le résultat comme si cet objet était instancié sur la machine locale. L'invocation de méthodes distantes exige de créer une interface distante (remote interface) sur la machine serveur ; ainsi, l'implémentation sous-jacente est masquée aux différents clients.

La norme CORBA fait partie du travail réalisé par l'OMG (Object Management Group) pour définir des standards d'interopérabilité des objets distribués et indépendants du langage. Elle fournit la possibilité de faire des appels à des méthodes distantes dans des objets Java et non Java, d'interfacer des systèmes existants sans se soucier de leur emplacement. CORBA dispose d'un langage de définition d'interface, IDL (Interface Definition Language), qui précise les types de données, les attributs, les opérations, les interfaces, etc.

Nous avons choisi de faire communiquer nos agents par les sockets Java, qui assure une communication en utilisant le protocole TCP/IP. Chaque agent lors de son fonctionnement ouvre son socket serveur et attend les messages des autres agents, si un message arrive il lance un thread pour le traiter, donc il n'y a pas de message en attente de traitement ; c'est-à-dire plusieurs messages peuvent être traités en parallèle (Figure 3.9).

Création de socket serveur

While (true){

Création de thread de traitement de requête

Lancement de thread(traite la requête et établit la réponse)

}

Un agent lorsqu'il a besoin de communiquer avec les autres agents il ouvre une communication avec un socket client, qui communique avec socket serveur de l'agent récepteur, en spécifiant l'adresse de la machine et le port puis il envoie le message (Figure 3.10).

Les messages KQML sont implémentés en définissant la classe Java KQMLmessage illustré dans la Figure 3.11.

La communication consiste à l'instanciation d'un objet de la classe KQMLmessage, la définition des ses attributs, puis l'envoi de cet objet. La classe KQMLmessage implémente l'interface Serializable, ce qui permet l'envoi et la réception des objets de cette classe par les sockets comme stream (flot).

Création de socket client (Nom Haute ou adresse IP, port)

Envoie de massage

...Attente de réponse ...

Réception de réponse

public class KQMLmessage implements Serializable {

private String performative;

private String sender;

private String receiver;

private String in_reply_to;

private String reply_with;

private String language;

private String ontology;

private Content content;

....

....

}

Figure 3.11:Classede message KQML

4

Sélection des liens et utilisation de technique d'annotation des liens

La génération de structure de page et la sélection des liens sont réalisées par l'agent pédagogique d'adaptation ; l'agent d'interface génère la page HTML et crée les liens selon la structure déjà définie.

La technique d'annotation des liens est utilisée dans notre système pour distinguer les concepts étudiés et non étudiés.

4.1

Sélection des liens hypertextes

Une fois qu'on a construit la structure d'une page, il faut déterminer les liens permettant à l'apprenant d'accéder à d'autre notions, en prenant en compte les relations du modèle du domaine et le modèle de l'apprenant. Donc on doit déterminer les types des liens hypertextes pour la page index du cours ou la page index des concepts prérequis et pour chaque relation dans le modèle du domaine, comme suit :

1.

Dans la page index du cours, on associe à chaque concept représenté par un méta document un lien vers le concept en spécifiant l'activité pédagogique, la de la section suivante illustre les liens dans la page index du cours.

2.

Dans le cas de pré-requis, on génère la page et les liens des concepts prérequis de la même façon que celle de la page index du cours. la de la section suivante illustre les liens dans la page de concepts prérequis.

3.

Dans le cas de relation d'analogie, on associe à chaque concept analogue un lien dans la zone haute de la page de concept.

4.

Dans le cas de relation disjonction, on génère une page index de concepts de disjonction de la même façon que celle de la page index du cours.

5.

Dans le cas de relation de conjonction, la page de ce concept contient les liens des concepts de conjonction. , la Figure 3.18 de la section suivante illustre les liens dans la page d'un concept conjonction.

Figure 3.14Figure 3.14: page index du cours

Figure 3.17Figure 3.17: page index des concepts prérequis

4.2

Annotation des liens

La technique d'annotation des liens est utilisée dans notre système pour distinguer les concepts étudiés et non étudiés dans la page index du cours et selon les relations entre concepts dans le modèle du domaine ; dans le cas des concepts conjonction d'un ensemble de sous concepts, disjonction d'un ensemble de sous concepts ou un concept qui a des analogues.

1.

Dans le cas de page index du cours ou page index de concept disjonction, les concepts étudiés pour tous les concepts sont annotés par « concept bien étudié ». La Figure 3.16 de la section suivante illustre les annotations dans la page index du cours.

2.

Dans le cas de relation d'analogie, les concepts analogues étudiés sont annotés par « concept étudié ».

3.

Dans le cas de relation de conjonction, chaque lien de sous concepts de conjonction étudié est annoté par « concept étudié », le concept en cours (affiché dans la page en cours) est annoté par « ** », i.e. concept courant. La de la section suivante illustre les annotations dans la page d'un concept conjonction.

Nous verrons dans la section suivante comment s'organisent sur l'écran les différents liens et annotations.

4.3

Mode libre et mode guidé

On a defini deux modes d'apprentissage (ou navigation) ; mode guidé et mode libre. Le mode guidé est inspiré des systèmes tutoriels intelligents dont l'apprenant doit suivre l'organisation pédagogique des concepts définis par les relations entre concept dans le modèle du domaine. Le mode libre est inspiré des hypermédias classiques, il permet de garder les avantages des hypermédias classiques surtout la liberté de navigation

Un apprenant lorsqu'il inscrit de la première fois pour suivre un cours, il choisit le mode d'apprentissage.

Figure 3.18Figure 3.18: page deconcept conjonction

5

Scénarios d'utilisation de HEDAYA et protocoles d'interaction entre agents

Pour démontrer le comportement du système multi-agents ; la présentation adaptative du cours et la génération dynamique des pages du cours hypermédia, on a utilisé un cours sur la dermatologie spécifié pour deux activités pédagogiques « Familiariser » et « Clarifier » ; en définissant le modèle du domaine (), les documents méta concepts (Figure 3.5) pour générer la page index du cours et les documents multimédias (Figure 3.4) pour générer la page de concept.

Nous illustrons, dans la suite, le fonctionnement du système par les scénarios possibles pendant les sessions d'apprentissage, en associant à chaque scénario les différents messages envoyés entre les agents, qui définissent les différents protocoles d'interaction.

Notant que :

-

AI : Agent d'Interface

-

AMA: Agent de Modèle de l'Apprenant

-

APA: Agent Pédagogique d'Adaptation

-

AF: Agent de Filtrage

5.1

Scénario 1 : Connexion d'un apprenant

Lorsque un nouveau apprenant demande l'inscription pour apprendre le cours:

1.

Quand l'apprenant demande l'inscription l'agent d'interface affiche la page d'inscription (Figure 3.12).

2.

Après l'appui sur le bouton (« Inscription et connexion ») ; la demande d'inscription sera envoyée à l'agent d'interface (requête HTTP : POST: nom, password, mode d'apprentissage)

3.

L'agent d'interface envoie un message KQML à l'agent de modèle de l'apprenant demandant l'ajout d'un nouveau apprenant (Acheive : ajoutApprenant(nom, password, mode))

4.

L'agent de modèle de l'apprenant ajout un nouveau apprenant à la base de données et initialise son niveau avec faible pour tous les concepts, puis répond l'agent d'interface par (tell ; appreanantAjouter(idApprenant))

Si l'apprenant est déjà inscrit,

1.

Il demande la connexion pour suivre l'apprentissage, la requête HTTP (POST : nom, password) sera envoyé à l'agent d'interface.

2.

L'agent d'interface envoie un message à l'agent de modèle de l'apprenant demandant la vérification de l'apprenant (Ask-if : apprenantEstInscrit(nom, password))

3.

L'agent de modèle de l'apprenant vérifie puis répond l'agent d'interface par (reply : apprenatInscrit(idApprenant) ou apprenantNomInsrit())

Après la connexion la page index du cours sera affichée. La Figure 3.13 présente les différents protocoles d'interaction.

Nouveau apprenant

A.I

Apprenant

Achieve

A.I

Apprenant

POST

Ask-if

Figure 3.12: inscription d'un nouveau apprenant

5.2

Scénario 2 : génération et affichage de page Index du cours

1.

Suite à une requête de l'apprenant (GET : index, idApprenant, la requête HTTP de la forme http://url?index =oui&idapprenant=...)

2.

L'agent d'interface envoie un message KQML à l'agent pédagogique d'adaptation contenant (Acheive: génèreIndexePage(Idappreant))

3.

L'agent pédagogique d'adaptation demande pour chaque concept le niveau de l'apprenant (Ask-about: niveauApprenant(idApprenant, concepts))

4.

l'agent de modèle de l'apprenant répond par une liste contenant le niveau de l'apprenant pour chaque concept (reply: niveauApprenantEst(concpt/niveau))

5.

L'agent pédagogique d'adaptation demande de l'agent de filtrage de filtrer les documents constituants la page index du cours (Acheive: filtrerMetaDoc(concepts))

6.

L'agent de filtrage filtre les documents et envoie les adresses à l'agent pédagogique (tell : metaDocFiltré(concpts/adresses))

7.

L'agent pédagogique construit la structure de la page et ses liens et les envoie avec les adresses des documents à l'agent d'interface comme réponse à la demande de génération de page index du cours (tell: indexPageGénérer(structure, adresses))

8.

l'agent d'interface récupère les documents multimédias selon leurs adresses, puis génère la page et les liens selon la structure spécifiée par l'agent pédagogique d'adaptation, puis envoie la page à l'apprenant comme réponse à la requête GET.

La Figure 3.14(a) présente la page index du cours pour le niveau faible (activité pédagogique Familiariser) pour tous les concepts et la Figure 3.14(b) présente la page index du cours pour le niveau faible (activité pédagogique Familiariser) pour quelques concepts et moyen (activité pédagogique Clarifier) pour d'autres concepts.

Le protocole d'interaction dans le cas de génération et affichage de page index du cours est présenté dans la Figure 3.15.

(a) page index du cours pour le niveau faible pour tous les concepts

(b) page index du cours pour le niveau faible pour quelques concepts et moyen pour d'autres concepts

Achieve

A.I

S'il y a des concepts bien étudiés, les liens vers ces concepts sont annotés par : « Concept bien étudié » ; c'est-à-dire bien étudié pour toutes les activités pédagogiques. La Figure 3.16 présente la page index du cours dont le niveau est faible pour quelques concepts et moyen pour d'autres concepts avec des annotations pour les concepts « Histologie » et « infections ».

5.3

Scénario 3 : affichage de page de concept

1.

L'apprenant demande le concept (GET: concept, idApprenant).

2.

L'agent d'interface envoie un message KQML à l'agent pédagogique d'adaptation demandant la page de concept (acheive: génèrePageConcept(concept, idApprenant)).

3.

L'agent pédagogique consulte le modèle du domaine pour déterminer les concepts prérequis, et demande de l'agent du modèle de l'apprenant le niveau de l'apprenant sur ces concepts prérequis (Ask-about: niveauApprenant(idApprenant, concepts)).

4.

L'agent de modèle de l'apprenant répond par une liste contenant le niveau de l'apprenant pour chaque concept (reply: niveauApprenantEst(concept/niveau)).

5.

S'il y a des concepts prérequis non étudiés, il génère une page index des concepts prérequis de la même façon que celle de la page index du cours (Figure 3.17).

6.

S'il n'y a pas de concepts prérequis non étudiés, l'agent pédagogique d'adaptation consulte le modèle du domaine pour déterminer le type de concept ; conjonction de sous concepts, disjonction de sous concepts ou il a des concepts analogue. Dans ces cas, il applique les règles de paragraphe 4.1 ci-dessus. Dans notre démonstration, le modèle du domaine ne contient que la relation de conjonction.

Achieve

A.I

A.P.A

Tell

A.F

Achieve

Tell

Figure 3.15 : protocole d'interaction dans le cas de génération et affichage de page index du cours

GET

Apprenan

Figure 3.16 : page index du cours pour le niveau faible pour quelques concepts et moyen pour d'autres concepts avec des concepts annotés

POST

7.

Si le concept est une conjonction, on crée la page de ce concept, qui contient les liens des concepts de conjonction dont chaque lien est annoté par « concept étudié » ou « ** », « ** » indique le concept courant, et contient la page du premier sous concept non étudié. La Figure 3.18 présente la page de concept « Infections » qui est une conjonction des concepts « Erysipèle », « Impétigo » et « Acnés » dont le concept courant est « Impétigo », le concept « Erysipèle » est étudié, le concept « Acnés » est non étudié. Pour construire cette page, les mêmes messages de cas de concept simple de l'étape 8 sont envoyés entre les agents.

8.

Si le concept est simple, l'agent pédagogique d'adaptation consulte le modèle des activités pédagogiques pour extraire les tâches induites par l'activité pédagogique suivie, puis envoie un message à l'agent de filtrage en demandant le filtrage des documents associés aux tâches déjà spécifiées, (Acheive: filtrerTâchesDoc(concepts, tâches)).

9.

L'agent de filtrage filtre les documents et envoie les adresses à l'agent pédagogique (tell : tâchesDocFiltré (tâches/adresses)).

10.

L'agent pédagogique construit la structure de la page et ses liens et les envoie avec les adresses des documents à l'agent d'interface comme réponse à la demande de génération de page de concept (tell: conceptPageGénérer(structure, adresses)).

11.

l'agent d'interface récupère les documents multimédias selon leurs adresses, génère la page et les liens selon la structure spécifiée par l'agent pédagogique d'adaptation, puis envoie la page à l'apprenant comme réponse à la requête GET.

Tell

Le protocole d'interaction entre agents de scénario de génération de page de concept est présenté dans la Figure 3.19.

5.4

Scénario 4 : modification de modèle de l'apprenant

On associe à chaque concept pour chaque activité pédagogique, un document test d'évaluation sous forme d'un Applet contenant un ou plusieurs QCM (Questionnaire à choix multiple) permettant l'évaluation de l'apprenant sur le concept (Figure 3.20).

Le scénario d'évaluation et de mise à jour de modèle de l'apprenant est le suivant :

1.

L'apprenant après l'étude de concept, il doit demander le test par clique sur le bouton « Test d'évaluation » de l'Applet chargé avec la page. La boite de teste s'affiche (Figure 3.21), après la réponse, il clique sur le bouton « Valider ».

2.

Si la réponse est considérée suffisante, l'Applet envoie le résultat d'évaluation à l'agent d'interface par une requête HTTP, (POST: concept, act-pédag, idApprenant)

3.

l'agent d'interface formule un message KQML et l'envoie à l'agent du modèle de l'apprenant pour modifier le niveau de l'apprenant sur le concept spécifié (Achieve: modierNiveauApprenant(idApprenant, concept))

4.

l'agent du modèle de l'apprenant modifie le modèle de l'apprenant et envoie le message (tell : niveauApprenantModifié(concept, idApprenant)) à l'agent d'interface.

A.P.A

Tell

A.F

Achieve

Tell

Figure 3.19: protocole d'interaction de scénario de génération de page de concept

GET

Apprenant

Figure 3.20 : Applettest d'évaluation associé à chaque concept

Le protocole d'interaction entre agents du scénario de modification de modèle de l'apprenant est présenté dans la .

Figure 3.21 : Test d'évaluation associé au concept Eczéma

Figure 3.22Figure 3.22 : protocole d'interaction pour le scénario de modification de modèle de l'apprenant

SGBD

6

Architecture logicielle de HYDAYA

PourimplémenterlesystèmeHEDAYA,ondoitchoisirunlangagedeprogrammation,unoutild'implémentationdesagentsetdecommunicationentreagents(lacommunicationentreagentsestdétailléedanslasection3.23.2)etdesoutilsdereprésentationdesmodèlesutilisés.irunlangagedeprogrammation,unoutild'implémentationdesagentsetdecommunicationentreagents(lacommunicationentreagentsestdétailléedanslasection)etdesoutilsdereprésentationdesmodèlesutilisés.

6.1

Choix de langage de programmation 6.1 Choix de langage de programmation

Java fournit la portabilité de code sur plusieurs plateformes ; un programme Java s'exécute dans un environnement virtuel standardisé dénommé JVM (Java Virtual Machine) indépendant de toute plateforme telle que MacOS, Windows, Linux, Solaris, etc. Le compilateur Java permet de convertir un code source à une liste d'instructions proche au langage machine appelées pseudo-code, le JVM contient un interpréteur Java chargé d'exécuter le pseudo-code sur n'importe quel plateforme. Java fournit la portabilité de code sur plusieurs plateformes ; un programme Java s'exécute dans un environnement virtuel standardisé dénommé JVM (Java Virtual Machine) indépendant de toute plateforme telle que MacOS, Windows, Linux, Solaris, etc. Le compilateur Java permet de convertir un code source à une liste d'instructions proche au langage machine appelées pseudo-code, le JVM contient un interpréteur Java chargé d'exécuter le pseudo-code sur n'importe quel plateforme.

Java organise la mémoire ; il dispose d'un excellent mécanisme de la récupération automatique de la mémoire (garbage collector), qui constitue une fonction du système d'exécution du langage, restitue spontanément les zones de mémoire qui ne sont plus utilisés. Java organise la mémoire ; il dispose d'un excellent mécanisme de la récupération automatique de la mémoire (garbage collector), qui constitue une fonction du système d'exécution du langage, restitue spontanément les zones de mémoire qui ne sont plus utilisés.

Java est un langage orienté objet, largement accepté comme standard dans la programmation Internet (applet, servelt, etc.). Java est un langage orienté objet, largement accepté comme standard dans la programmation Internet (applet, servelt, etc.).

Beaucoup de technologies reliées aux agents sont étroitement associées à Java ; comme, par exemple, JADE et JATLite décrits dans la section suivante. Beaucoup de technologies reliées aux agents sont étroitement associées à Java ; comme, par exemple, JADE et JATLite décrits dans la section suivante.

A.I

AMA

Apprenant

Achieve

6.2

Choix de plateforme agent

Pour mettre en oeuvre l'implémentation multi-agents de notre système, dans un premier temps, nous avons envisagé les possibilités offertes par des plateformes multi-agents existantes et gratuites développées aux universités comme : JATLite (Java Agent Template, Lite) [Jeon et al 00] est une collection de packages Java conçus pour fournir un mécanisme de communication et d'interaction aux programmes distribués à travers l'Internet. JADE (Java Agent DEvelopment Framework) [Bellifemine et al. 99] est une plateforme Multi-agents développée en Java par CSELT (Groupe de recherche de Gruppo Telecom, Italie) qui a comme but la construction des systèmes Multi-agents et la réalisation d'applications conformes à la norme FIPA.

Ces plateformes sont très puissantes et génériques ; mais elles sont relativement trop complexes et offrent trop de fonctionnalités par rapport à une application comme la notre.

6.3

Architecture logicielle et outils de développement

Les agents de système HEDAYA sont implémentés en utilisant le langage de programmation Java. Chaque agent est défini par son nom, qui indique au module de communication () le nom de la machine (ou l'adresse IP) et le port de socket serveur

L'agent d'interface est implémenté en utilisant le servlet java. Un servlet est un programme java qui s'exécute dans un serveur Web, et qui peut interagir avec n'importe quel client et peut accéder le serveur par le biais de requêtes et de réponses, le serveur Web transmit les requêtes aux servlet et les réponses aux clients. L'interaction avec l'apprenant (le navigateur Web) se fait par les requêtes HTTP, par l'intermédiaire du serveur Web ; avec les autres agents par KQML en utilisant les sockets.

Les bases de données contenant les modèles des différents apprenants et les attributs des documents multimédias (méta données de documents multimédias) sont gérés par le SGBD Interbase, dont l'agent peut connecter la base de données par le JDBC (Java DataBase Connectivity).

Les documents multimédias sont des documents HTML dans le Web, ses adresses sont stockées dans la base de documents multimédias, l'agent d'interface génère la page par l'agencement des documents et la création des liens (la structure de la page est définie par l'agent pédagogique d'adaptation, les adresses des documents sont spécifiées par l'agent de filtrage).

Le modèle du domaine et le modèle des activités pédagogiques sont exprimés en XML (eXtensible Markup Language). XML est un langage de balises comme le HTML mais il est extensible, évolutif. Nous avons choisi XML par ce qu'il ne met aucune restriction sur le format d'information représentée. Aussi, il existe plusieurs outils permettant la manipulation des documents XML par un programme Java.

Dans notre système, on a utilisé BorlandXML pour la génération des classes Java pour la liaison avec le document XML à partir de DTD (Document Type Definition). Un DTD est l'ensemble des règles et des propriétés que le document XML doit les suivre. Ces règles définissent généralement le nom et le contenu de chaque balise et le contexte dans lequel elles doivent exister. La liaison de données permet d'accéder à des données et de les manipuler, Il consiste de lier des objets Java à un document XML par une structure de marshalling, qui effectue un dé-marshalling (lecture) et un marshalling (écriture) de données. La liaison de données est implémentée en générant des classes Java pour représenter les contraintes contenues dans DTD. Vous pouvez ensuite utiliser ces classes pour créer et lire des documents XML conformes au DTD, ainsi que valider des documents XML par rapport au DTD.

La figure suivante présente l'architecture logicielle de système HEDAYA

7

Conclusion Conclusion

Dû à la nature dynamique et modulaire d'agents, aux avantages qui les fournissent, ainsi son succès dans la vaste utilisation avec les systèmes hypermédias dans le Web, on a développé une architecture d'un hypermédia éducatif adaptatif dynamique basée agents HEDAYA. Cette architecture définit un système multi-agents couplés avec les composants des hypermédias adaptatifs dynamiques existant en introduisant les documents méta-concept et utilisant la technique d'annotation des liens. La génération de cours adaptative dynamiquement résulte de l'interaction entre les agents constituant le système. Dû à la nature dynamique et modulaire d'agents, aux avantages qui les fournissent, ainsi son succès dans la vaste utilisation avec les systèmes hypermédias dans le Web, on a développé une architecture d'un hypermédia éducatif adaptatif dynamique basée agents HEDAYA. Cette architecture définit un système multi-agents couplés avec les composants des hypermédias adaptatifs dynamiques existant en introduisant les documents méta-concept et utilisant la technique d'annotation des liens. La génération de cours adaptative dynamiquement résulte de l'interaction entre les agents constituant le système.

Cette architecture est démontrée en implémentant nos agents en utilisant le langage de programmation java, langage de communication entre agents KQML et le protocole HTTP pour la communication avec l'apprenant. La démonstration Cette architecture est démontrée en implémentant nos agents en utilisant le langage de programmation java, langage de communication entre agents KQML et le protocole HTTP pour la communication avec l'apprenant. La démonstration

Figure 3.23:Architecture logiciellede HEDAYA

Navigateur Web

Serveur HTTP

Requête HTTP

Agent d'interface (Servlet JAVA)

Documents Multimédias HTML

Agent d'Interface

Agent de Modèle de l'Apprenant

SGBD

Agent Pédagogique .d'Adaptation

Agent de Filtrage

Base de donnéesdes attribues des documents multimédias

Base de donnéescontenant les modèles des apprenants

M e s s a g e K Q M L

Modèle des activités pédagogiques

Modèle du domaine

Conclusion

Dû à la nature dynamique et modulaire d'agents, aux avantages qui les fournissent, ainsi son succès dans la vaste utilisation avec les systèmes hypermédias dans le Web, on a développé une architecture d'un hypermédia éducatif adaptatif dynamique basée agents HEDAYA. Cette architecture définit un système multi-agents couplés avec les composants des hypermédias adaptatifs dynamiques existant en introduisant les documents méta-concept et utilisant la technique d'annotation des liens, permettant deux mode d'apprentissage ; libre et guidé. La génération de cours adaptative dynamiquement résulte de l'interaction entre les agents constituant le système.

Afin de construire l'intérieur de nos agents, nous avons identifié un modèle d'architecture interne basée sur le modèle d'états mentaux BDI. Le lagage de communication entre agents utilisé est KQML. L'implémentation concrète des mécanismes de communication entre nos agents s'est faite en ayant recours à la programmation des sockets en Java.

Cette architecture est démontrée en implémentant nos agents en utilisant le langage de programmation java, langage de communication entre agents KQML et le protocole HTTP pour la communication avec l'apprenant. La démonstration présente un cours de la dermatologie spécifié pour deux activités pédagogiques, « familiariser » et « clarifier ».

Le système HEDAYA est un système générique ; on peut construire avec ce système n'importe quel cours adaptatif dynamique en spécifiant le modèle du domaine et les documents multimédias. Pour faciliter cette tâche, comme perspective, on va définir un système d'acquisition et de validation de modèle du domaine et de documents multimédias, en lui associant un agent de recherche de documents sur Internet pour aider les enseignants dans la tâche de construction de documents pédagogiques.

Une autre perspective de nos travaux est l'utilisation d'une infrastructure de communication de plus haut niveau que les sockets que nous avons utilisés pour l'implémentation de la communication entre nos agents, qui va permettre, malgré la complexité ajouté au système, l'interopérabilité de notre système multi-agents avec tout autre type d'agents utilisant la même infrastructure et leur offrir une interface de communication connu.

Ce système peut être utilisé comme un support de cours adaptatif dynamique sur Internet. Il peut être aussi intégré facilement dans un environnement d'apprentissage comme un support de cours adaptatif dynamique.

Bibliographie

[Aberg et al 99] Aberg J. and Shahmemehri N., Web Assistants: Towards an Intelligent and PersonalWeb Shop. Proceedings of the 2nd Workshop on Adaptive Systems and User Modeling on the WWW, 1999.

[Aïmeur et al. 00] Aïmeur, E., Frasson, C., et Dufort, H., Cooperative learning strategies for intelligent tutoring systems. Applied Artificial Intelligence, 2000.

[Albrecht et al 99] Albrecht F., Koch N. and Tiller T., SmexWeb: An Adaptive Web-based Hypermedia Teaching System. Journal of Interactive Learning Research, Special Issue on Intelligent Systems/Tools in Training and Lifelong Learning. Kommers P. & Mizoguchi R. (Eds.), 2000.

[Ardissono et al 99] Ardissono L. and Goy A., Tailoring the Interaction with Users in Electronic Shops. In User Modeling Conference, 1999.

[Armstrong et al 95] Armstrong R., Freitag D., Joachims T. and Mitchell T. WebWatcher: A Learning Apprentice for the World Wide Web. AAAI Spring Symposium on Information Gathering from Distributed Heterogeneous Environments. 1995

[Asnicar et al 97] Asnicar F. & Tasso C., ifWeb: A Prototype of User-Model-Based Intelligent Agent for Document Filtering and Navigation in the World Wide Web. Proceedings of the Workshop Adaptive Systems and User Modeling on the World Wide Web. User Modeling Conference'97. 1997.

[Baeijs 1998] Baeijs, C. Fonctionnalité Emergente dans une Société d'Agents Autonomes. Thèse de Doctorat INP Grenoble, Novembre 1998.

[Balla 04] Amar Balla, Un modèle générique d'environnement de développement des hypermédias adaptatifs et dynamiques générant des activités pédagogiques, thèse doctorat, Institut national d'informatique, INI, Alger. Décembre 2004.

[Balla et al 03] Amar Balla, Med Tayeb Laskri, Soraya Laoudi, HYPERGAP: un hypermédia éducatif dynamique générant des activités pédagogiques, Document numérique Volume 7, pages 39 à 47, n° 1-2/2003

[Bailey 02] Christopher Paul Bailey, An agent-based framework to support adaptive hypermedia. PhD thesis of Southampton university, United Kingdom. December 2002.

[Barceinasatal98]AdolfoBarceinas,J.AlfredoSánchezandJohnSchnase,MICK:AKQMLInter-AgentCommunicationFrameworkinaDigitalLibrary

[Baron 94] Baron, M., EIAO, quelques repères. Technologie de l'information, culture et société, n°65, Editions Harmattan, 1994

[Bauer et al 00] B. Bauer, J. P. Muller, and J. Odell. An extension of UML by protocols for multiagent interaction. In International Conference on MultiAgent Systems (ICMAS'00), Boston, Massachussetts, july 2000.

[Beggas 04] Mounir Beggas, Modeling by a multi agent system an educational adaptive dynamic hypermedia system, Proceedings of the international arab conference on information technology ACIT 2004, Constantine, Algeria.

[Behaz et al 04] Behaz a. et Djoudi M., Modélisation et adaptation des documents pédagogiques hypermédias en enseignement à distance, Proceedings de 4ème séminaire national en informatique - Biskra, SNIB'04, 2004

[Bellifemine et al. 99] Bellifemine, F., Rimassa, G. & Poggi, A. (1999). JADE - A FIPA-Compliant Agent Framework. Proceedings of the Forth International Conference and Exhibition on the Practical Application of Intelligent Agents and Multi-Agents (PAAM '99), 1999.

[Bergia 01] Loris Bergia, Conception et réalisation d'une plate-forme multi-agents pour l'apprentissage et l'enseignement à distance, Mémoire présenté en vue d'obtenir le diplôme d'Ingénieur CNAM, Laboratoire Leibniz-IMAG, Grenoble, France, Février 2001

[Bertrand 01] Claude Bertrand; les enjeux pédagogiques des TICE : questions pour un usage raisonné ; IUFM Aix-Marseille, Septembre 2001.

[Bourdon 2001] François Bourdon, Systèmes multi-agents ; cours sur les systèmes multi-agents, université de Caen, 2001

[Brown et al. 98] Brown, S., Santos, E., et Banks, S., Utility theory-based user models for intelligent interface agents. In Canadian Conference on AI, pages 1998.

[Bruillard et al 94] Bruillard, E. et Vivet M., Concevoir des EIAO pour des situations scolaires, approche méthodologique. Didactique et Intelligence Artificielle. La Pensée Sauvage, éditions 1994.

[Brusilovsky et al 95] P. Brusilovsky and L. Pestin, Visual annotation of link in adaptive hypermedia, CHI 95, Denver, United States, 1995

[Brusilovsky, 96] Peter Brusilovsky, Methods and Techniques of Adaptive Hypermedia. International Journal of User Modeling and User-Adapted Interaction. Kluwer Academic Publishers, Vol 6, 2-3, 87-129. 1996

[Brusilovsky et al 96] Brusilovsky P., Schwarz E. and Weber G., A Tool for Developing Adaptive Electronic Textbooks on WWW, Proceeding of WebNet'96, World Conference of the Web Society, 64-69. 1996

[Brusilovsky 97] Peter Brusilovsky, Efficient Techniques for Adaptive Hypermedia. Intelligent Hypertext: Advanced Techniques for the World Wide Web. Nicholas C. & Mayfield J. (Eds.), Springer Verlag, 12-30. 1997

[Brusilovsky 98] Peter Brusilovsky, Methods and techniques of adaptive hypermedia. In: P. Brusilovsky, A. Kobsa and J. Vassileva (eds.): Adaptive Hypertext and Hypermedia. Dordrecht: Kluwer Academic Publishers. 1998.

[Brusilovsky 99] Peter Brusilovsky, Adaptive Hypermedia: From Intelligent Tutoring Systems to Web-Based Education, Carnegie Technology Education and HCI Institute, Carnegie Mellon University, 1999.

[Brusilovsky 03] Peter Brusilovsky, Developing adaptive educational hypermedia systems: from design models to authoring tools, School of Information Sciences University of Pittsburgh Pittsburgh PA 15260, USA 2003

[Burg 00] Burg, B., Toward the deployment of an open agent world. In JFIADSMA'00, 2000.

[Chaib 99] Brahim Chaib-draa, Agents et systèmes multiagents, Notes de cours, Département d'informatique, Faculté des sciences et de gnie, Université Laval, Québec, Novembre 1999

[Capuano et al 01] Nicola Capuano, Massimo De Santo, Marco Marsella, Mario Molinara, Saverio Salerno, A Multi-Agent Architecture for Intelligent Tutoring, CRMPA, Salerno, Italy ; DIIIE - Università di Salerno, Italy 2001

[Carro et al 99] Rosa María Carro, Estrella Pulido, Pilar Rodríguez , Designing Adaptive Web-based Courses with TANGOW. 7th International Conference on Computers in Education, ICCE'99. November 4 - 7, 1999.

[Chen et al 03] Bo Chen and Samira Sadaoui, A Generic Formal Framework for Multi-agent Interaction Protocols, Department of Computer Science, University of Regina 3737 Waskana Parkway, Regina SK, Canada, S4S 0A2, 2003

[Danius et al 01] Danius T. Michaelides, David E. Millard, Mark J. Weal, David De Roure Auld Leaky: A Contextual Open Hypermedia Link Server. Intelligence, Agents, Multimedia, Dept. of Electronics and Computer Science, University of Southampton, U. K. 2001

[De Bra et al 98] De Bra P. & Calvi L. AHA: A Generic Adaptive Hypermedia System. Proceeding of the 2nd Workshop on Adaptive Hypertext and Hypermedia, HYPERTEXT'98, 1998.

[De Bra 99] De Bra P. Design Issues in Adaptive Web-Site Development. Proceedings of the 2nd Workshop on Adaptive Systems and User Modeling on the WWW. 1999

[Delestre 00] Nicolas Deletstre, METADYNE, un hypermédia adaptatif dynamique pour l'enseignement, Thèse doctorat de l'université de Rouen, janvier 2000

[Encarnaçao 97] Encarnaçao M., Concept and Realization of Intelligent Support in Interactive Graphics Applications. Ph.D. Thesis.

[Erceau 91] Erceau, J., Feber, J. L'Intelligence Artificielle Distribuée. La recherche, Volume 22, juin 1991.

[Fenton et al 98] : Fenton-Kerr, T., Clark, S., Chenzy, G., Koppi, T., et Chaloipka, M., Multi-agent design in flexible learning environments. In ASCILITE 98, 1998.

[Ferber 95] Jacques Ferber, Les systèmes mutli-agents, vers une intelligence collective, interedition Paris 1995.

[Finin et al. 95] Finin, T., Labrou, Y., and Mayfield, J. 1995. KQML as an agent communication language. Technical Report. Computer Science Department. Maryland Baltimore County University. Baltimore, MD, 1995.

[Frasson et al. 97] Frasson, C., Mengelle, T., et Aimeur, E., Using pedagogical agents in a multi-strategic intelligent tutoring system. In Proceedings of the AI-ED '97 Workshop on Pedagogical Agents, 1997.

[Garlatti et al 99] Garlatti S., Iksal S. and Kervella P., Adaptive On-line Information System by Means of a Task Model and Spatial Views. Second Workshop on Adaptive Systems and User Modeling on the WWW, 1999.

[Gleizes et al. 00] Gleizes, M. P. et Glize, P., ABROSE: Des systèemes multiagents pour le courtage adaptatif. In JFIADSMA'00, 2000.

[Höök 98] Höök K., Evaluating the Utility and Usability of an Adaptive Hypermedia System. Knowledge-Based Systems, Elsevier, 10, 311-319. 1998.

[Hospers et al 03] M. Hospers, E. Kroezen, A. Nijholt, R. op den Akker & D. Heylen, Developing a Generic Agent-based Intelligent Tutoring System, Center of Telematics and Information Technology University of Twente, Enschede, the Netherlands, 2003.

[Inverno et al 98] Mark d'Inverno, David Kinny, and Michael Luck. Interaction protocols in agentis. In Third International Conference on Multi-Agent Systems (ICMAS98), 1998.

[Jarras 02] Imed Jarras et Brahim Chaib-Draa, Aperçu sur les systèmes multi-agents, Série scientifique, 2002s-67. Montréal, Juillet 2002.

[Jennings et al 98] Jennings, N. R., Wooldridge M., Applications of Intelligent Agents in Agent Technology: Foundations, Applications, and Markets (eds. N. R. Jennings and M. Wooldridge) Springer-Verlag : Berlin, Germany. 1998.

[Jeon et al 00] Jeon, H., Petrie, C. & Cutkosky, M. R. JATLite: A Java Agent Infrastructure with Message Routing. IEEE Internet Computing, Mars 2000.

[Joël 03] Joël Quinqueton, Fondements des Systèmes Multi-Agents, LIRMM, EMA option Informatique, Janvier 2003.

[Koch 00] Nora Parcus de Koch, Software Engineering for Adaptive Hypermedia Systems, Reference Model, Modeling Techniques and Development Process. PhD thesis, Munich university, Germany. October 2000.

[Lafifi 00] Yacine Lafifi, Architecture d'un hypermédia éducatif et coopératif, mémoire de magister de l'université de Annaba, novembre 2000.

[Laoudi 02] Soraya Laoudi, Structure d'un hypermédia éducatif générant des activités pédagogiques, mémoire de magister, Institut National d'Informatique INI, 2002. Algérie.

[Lourdeaux 01] Lourdeaux, D., Réalité Virtuelle et Formation : Conception d'Environnements Virtuels Pédagogiques. Thèse doctorat, Ecole des Mines de Paris, 2001.

[Malone 94] T. W. Malone. Organizing information processing systems : parallels between human organizations and computer systems. In W. W. Zachary and S. P. Robertson, editors, Cognition, Computation and Cooperation, pages 56_83. Ablex, 1990.

[Mathé et al 1996]. Mathé N. and Chen J.. User-centered Indexing for Adaptive Information Access. User Modeling and User-Adapted Interaction, 6 (2-3), 225-261. 1996

[Mbala 03] Aloys Mbala Hikolo, Analyse, conception, spécification et développement d'un système multi-agents pour le soutien des activités en formation à distance, thèse doctorat de l'Université de Franche-Comté, France, 2003

[Mladenic 00] Mladenic D. http://www.cs.cmu.edu/afs/cs/project/theo4/text/-learning/www/pww/index.html

[Merlet 94] Jean François Merlet, Elaboration d'une méthode de conception orientée objet de systèmes de formation multimédia : COSYF ; thèse de doctorat d'informatique de l'université des sciences sociales Toulouse I, Avril 1994.

[Odell et al 00] Odell J., Van Dyke P. and Bauer B., Extending UML for Agents. Proceedings of the Agent-Oriented Information Systems. Workshop at the 17th National conference on Artificial Intelligence, Gerd Wagner, Yves Lesperance, and Eric Yu eds., Austin, TX, 2000.

[Parunak 96] H. V. D. Parunak. Applications of distributed artificial intelligence in industry. In G. M. P. O'Hare and N. R. Jennings, editors, Foundations of Distributed AI. John Wiley & Sons : Chichester, England, 1996.

[Pesty et al 01] Sylvie Pesty, Carine Webber et Nicolas Balacheff, Baghera : une architecture multi-agents pour l'apprentissage humain. Laboratoire Leibniz - IMAG 2001.

[Pietrie, 03] Pietrie, C. http://cdr.stanford.edu/ProcessLink/kqmlproposed.html.

[Querrec 2002] Ronan Querrec, Les Systèmes Multi-Agents pour les Environnements Virtuels de Formation, Application à la sécurité civile, thèse de doctorat Informatique, Laboratoire d'Informatique Industrielle (LI2/ENIB), Université de Bretagne Occidentale. Octobre 2002

[Ranwez 00] Sylvie Chabert-Ranwez, Composition Automatique de Documents Hypermédia Adaptatifs à partir d'Ontologies et de Requêtes Intentionnelles de l'Utilisateur. Thèse doctorat de l'université de Montpellier II, 2000

[Rao et al 95] Rao, A, Georgeff, M., BDI Agents : From Theory to Practice. In Proceedings of the First International Conference on Multi-Agents Systems (ICMAS-95), San Francisco, USA, June, 1995.

[Recker 95] M. Recker, Cognitive Media Types for Multimedia Information Access, Journal of Education Multimedia and Hypermedia, 1995.

[Richard 99] Richard, L., Un système Multi-agents pour la modélisation d'Environnements Interactifs d'Apprentissage avec Ordinateur basés sur la simulation. Application à la formation de personnels de maintenance aéronautique. Thèse doctorat, Université de Paul Sabatier, Toulouse III. 1999.

[Silveira et al 02] Ricardo Azambuja Silveira and Rosa Maria Vicari, Improving interactivity in e-learning with JADE - Java Agent framework for Distance learning Environments. International Conference on Engineering Education, August 18-21, 2002, Manchester, U.K.

[Vassileva 97] Vassileva J., Dynamic Course Generation on the WWW. Proceedings of Workshop Intelligent Educational Systems on the World Wide Web in AI-ED'97: Eighth World Conference on Artificial Intelligence in Education. 1997

[Wu 02] Hongjing Wu, A Reference Architecture for Adaptive Hypermedia Applications ; PhD thesis, Eindhoven, September 2002

[Zeghida 03] Djamel Zeguida, Une architecture multi-agents d'un système d'apprentissage avec compagnons, memoire de magister, Université de Annaba, 2003

[Zouaq et al. 00] Zouaq A., Frasson C., et Rouane K. The explanation agent. In International Conference in Intelligent Tutoring Systems, Lecture Notes in Computer Science, 2000

présente un cours de la dermatologie spécifié pour deux activités pédagogiques « Familiariser » et « Clarifier ».






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire