Ecole Nationale d’Ingénieurs de Brest Rapport de stage de Master Recherche en Informatique Encadrant de stage : Pierre CHEVAILLIER Un système tutoriel intelligent à base de système immunitaire artificiel Frédéric FAVRE ARTIGUES Brest, le 2 Juin 2009 Sommaire 1 Avant propos 1 2 Introduction 1 3 Contexte 2 3.1 3.2 3.3 Mascaret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3.1.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3.1.2 Les méta-modèles VEHA et HAVE . . . . . . . . . . . . . . . . . . . 2 3.1.3 Le recueil des traces . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Les Systèmes Immunitaires Artificiels . . . . . . . . . . . . . . . . . . . . . . 4 3.2.1 La sélection négative . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2.2 La sélection clonale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.3 Le réseau immunitaire . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Les différents domaines d’application . . . . . . . . . . . . . . . . . . . . . . 8 4 La reconnaissance d’actions 4.1 9 Définition d’une action dans un EVAH . . . . . . . . . . . . . . . . . . . . . 10 4.1.1 L’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.2 L’entité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.3 Le moment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.4 La localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.5 L’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Les préconditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3 L’affinité appliquée à la reconnaissance d’actions . . . . . . . . . . . . . . . 17 5 Mise en œuvre de l’AIS 5.1 5.2 19 Modèle de l’AIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.1.1 Les propriétés des AIS pour la reconnaissance d’actions . . . . . . . 20 5.1.2 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1.3 Diagramme objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.2.1 Cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.2.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.3 Analyse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.4 Application à l’implantologie . . . . . . . . . . . . . . . . . . . . . . . . . . 35 6 Conclusion 38 Un système tutoriel intelligent à base de système immunitaire artificiel 1 Juin 2009 Avant propos Ce rapport s’inscrit dans le cadre d’un stage de Master Recherche Informatique au sein de l’équipe AReVi (réalité virtuelle et augmentée) du LISyC (Laboratoire d’Informatique des Systèmes Complexes). Ce stage a été réalisé au CERV (Centre Européen de Réalité Virtuelle). Un des principaux axes de recherche du laboratoire est le développement d’environnements immersifs pour la formation. Ces environnements utilisent les techniques de la réalité virtuelle et des systèmes de tuteurs autonomes. Ils sont plus couramment appelés Environnements de réalité Virtuelle pour l’Apprentissage Humain (EVAH). Ce stage s’intègre au projet MASCARET (Multi-Agent System for Collaborative Adaptative and Realistic Environment for Training) dont l’objectif est de concevoir les modèles nécessaires à la génération d’environnements de formation mettant l’apprenant dans une situation d’apprentissage en agissant dans un environnement similaire au réel. L’objectif de ce stage est de proposer un ITS dont le comportement des agents éducationnels est basé sur les systèmes immunitaires artifiels. 2 Introduction Les Environnements de réalité Virtuelle pour l’Apprentissage Humain ont comme principal objectif d’exploiter les technologies de la réalité virtuelle pour favoriser l’apprentissage de compétences dans un environnement contrôlé. Les utilisateurs de ces systèmes se trouvent immergés dans un monde virtuel dynamique dans lequel ils interagissent avec l’environnement par le biais de périphériques. Les EVAH intègrent un système tuteur autonome (ITS, Intelligent Tutoring System) destiné à suivre l’activité de l’apprenant et de lui fournir, ainsi qu’au formateur, des assistances pédagogiques appropriées au contexte courant. Pour réaliser le suivi du déroulement de l’activité, l’ITS doit avoir des connaissances sur le domaine de l’apprentissage, sur la démarche pédagogique et sur l’apprenant. Pour que les assistances pédagogiques soient efficaces, l’ITS doit également tenir compte de la représentation de ces connaissances et de la manière d’interagir avec l’utilisateur (cf figure 1). Fig. 1 – modèles composant un ITS (Buche et al., 2004). Rapport de stage de master recherche - page 1 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 L’ITS doit, de plus, disposer d’un mécanisme de mémorisation et d’apprentissage des interventions des agents pédagogiques. La réaction du système, à la suite d’une reconnaissance de l’action de l’utilisateur, doit être adaptative. Dans le cadre de ce stage, nous avons exploré la piste des systèmes immunitaires artificiels 1 car les propriétés de ces systèmes semblent pouvoir s’appliquer à la problématique des ITS. Dans la première partie, nous présentons les systèmes immunitaires artificiels, les processus qui les composent et les différents domaines d’application. La seconde partie de se rapport se consacre à la définition d’une action dans un EVAH. Puis la troisième, à la présentation d’un modèle générique et son implémentation avec un système tutoriel intelligent. Enfin ce rapport se conclue par un bilan de ces travaux et par les perspectives envisageables pour une tel système. 3 Contexte 3.1 3.1.1 Mascaret Généralités Les Environnements Virtuels d’Apprentissage Humain développés par le CERV utilisent la plate-forme MASCARET (Buche et al., 2004) (Multi-Agent System for Collaborative, Adaptive and Realistic Environment for Training) qui permet à des utilisateurs (encadrant et apprenants) d’agir individuellement ou en collaboration dans un environnement virtuel. Toutes les entités sont des agents capables de percevoir leur environnement, de décider des actions qu’ils vont mener et enfin d’agir. Les agents peuvent être de différentes natures. MASCARET repose sur deux méta-modèles VEHA et HAVE servant de support à la détection de traces d’utilisation (cf figure 2). Ces deux méta-modèles sont des extensions du méta-modèle UML. Dans un EIAH (Environnement Informatique pour l’Apprentissage Humain), la fonction pédagogique est assurée par un ITS (Intelligent Tutoring Systems). Dans MASCARET, elle est gérée par un système multi-agents, composé d’agents pédagogiques, c’est-à-dire ayant un rôle dans le processus enseignement-apprentissage : agents tuteur, assistant du formateur, compagnon de l’apprenant, observateur d’activité... Ce système est désigné par l’acronyme Mats : Multi-Agent Tutoring System. Le sous-système behave quant-à-lui, regroupe les modèles d’architecture des agents composant une application Mascaret : modules de perception (d’un monde VEHA), de planification, de sélection d’actions (décrites avec HAVE), de communication par messages... 3.1.2 Les méta-modèles VEHA et HAVE VEHA (Virtual Environment supporting Human Activities) est un méta-modèle d’environnement virtuel servant à la description du monde virtuel dans lequel les utilisateurs seront immergés (Chevaillier et al., 2009). En effet, ce modèle permet la modélisation des objets qui constitueront l’environnement physique en fournissant la définiton de sa composition et de ses comportements. Il offre donc une représentation à la fois statique et dynamique de l’environnement. 1 Artificial Immune System Rapport de stage de master recherche - page 2 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 2 – Schéma du framework MASCARET (Chevaillier, 2006) HAVE (Human Activities in a Virtual Environment) décrit les activités réalisées ou potentiellement réalisables par les utilisateurs dans un monde virtuel décrit avec VEHA. Il s’agit d’une extension du package CompleteActions d’UML et du package Activity de VEHA. Il reprend aussi les concepts de la première version du modèle organisationnel de MASCARET (Querrec et al., 2001). Une action de l’apprenant dans l’environnement est caractérisée par un changement d’état observable dans les machines à états décrivant le comportement des entités. Les activités sont definies sous forme d’enchaînements possibles d’actions par une structure organisationnelle pour atteindre un objectif. Une action est définie par des conditions de réalisation et des effets potentiels et éventuellement un comportement qui permet de la réaliser. Ces conditions sont des expressions logiques sur les entités VEHA. La réalisation d’une action est décrite comme une séquence d’opérations à réaliser. Ces dernières sont atomiques (Baudouin et al., 2007). 3.1.3 Le recueil des traces MASCARET dispose d’une fonction de suivi de l’activité des agents, assurée par l’agent pédagogique "observateur". Ce mécanisme est indépendant du domaine d’apprentissage et de la stratégie pédagogique. Cette section présente la manière dont sont enregistrées les traces au sein de l’ Environnement Virtuel d’Apprentissage Humain MASCARET. Les informations citées ci-après sont toutes extraites de l’article (Baudouin et al., 2007). Dans MASCARET, les communications entre les agents (apprenants, formateur, agents pédagogiques, personnages de l’environnement) se font par échange de messages observables par l’agent observateur. Ce dernier est en charge de l’interprétation des filtres de sélection d’évènements (éléments à tracer) qui lui seront nécessaires pour connaître les entités dont il doit notifier les occurrences d’évènements. Ceci est possible car dans MASCARET tous les éléments du modèle sont réifiés. Les traces issues de MASCARET sont enregistrées au format XML. L’exemple ci-dessous illustre le contenu d’une trace relevée lors d’une expérience. On y retrouve les informations suivantes : – l’identificateur de l’évènement, – la date de la trace, – le type d’action réalisée, Rapport de stage de master recherche - page 3 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 – le nom de l’agent ainsi que sa localisation avant l’action en cours, – l’entité sur laquelle l’agent interagit avec son nom, sa position avant puis après l’action. <e v e n t i d =843> <name>Take e n t i t y ( s t a r t Turn )</name> <d a t e>d10m09y2008_13 −00−54−0646</ d a t e> <t ype>t a k e</ type> <c o n t e n t>User s u j e t 1 3 grabbed t h e e n t i t y sphereRouge ( s t a r t Turn a c t i o n ) </ c o n t e n t> <a c t o r> <name>s u j e t 1 3</name> <l o c a t i o n B e f o r e><tx>1 . 9 7</ tx> <ty>−1.07</ ty> <t z>1 . 7 0</ t z> <rx>0 . 0 0</ rx > <ry>0 . 0 6</ ry> <r z>1 . 5 7</ r z></ l o c a t i o n B e f o r e> </ a c t o r> <t a r g e t> <name>sphereRouge</name> <l o c a t i o n B e f o r e><tx>2 . 4 0</ tx> <ty>1 . 4 4</ ty> <t z>1 . 0 0</ t z> <rx>−0.00</ rx > <ry>−0.00</ ry> <r z>−0.00</ r z></ l o c a t i o n B e f o r e> <l o c a t i o n A f t e r><tx>2 . 4 0</ tx> <ty>1 . 4 4</ ty> <t z>1 . 0 0</ t z> <rx>−0.00</ rx> <ry>−0.00</ ry> <r z>−0.00</ r z></ l o c a t i o n A f t e r> </ t a r g e t> </ e v e n t> Listing 1 – Exemple de trace dans MASCARET 3.2 Les Systèmes Immunitaires Artificiels Les Systèmes Immunitaires Artificiels sont des systèmes informatiques métaphoriques ou abstraits utilisant les idées, les théories et les composants du système immunitaire naturel (De Castro and Timmis, 2002). L’utilisation principale des AIS est la résolution de calculs complexes ou de problèmes d’ingénierie. A l’heure actuelle, on retrouve l’utilisation des systèmes immunitaires artificiels dans plusieurs domaines : la détection d’anomalies, la détection d’intrusions, la reconnaissance de formes, la classification... Avant de présenter les différents domaines d’application des AIS et leur adaptations pour la reconnaissance d’actions, nous présentons d’abord les différents procédés du système immunitaire des mammifères qui les ont inspiré. Le fonctionnement du système immunitaire naturel est réparti dans plusieurs organes. Chacun de ces organes a un rôle précis et complémentaire avec les autres. Si le système immunitaire est mis à contribution, c’est que les cellules qui le composent ont détecté la présence d’un antigène. Les immunologistes appellent un antigène, tout ce que le système immunitaire est capable de reconnaître. Les cellules du système étant inoffensives, sont qualifiées d’“antigènes du soi” ou “le soi”. Les autres, sont nommées “antigènes du nonsoi” ou “le non-soi”. La principale tâche du système immunitaire est de rechercher des cellules malfonctionnantes dans son corps (cancer, tumeur) et des éléments causant des maladies étrangères (virus, bactérie). Ce procédé de discrimination soi/non-soi est basé sur la reconnaissance de formes (voir figure 3 page 5). Le corps humain est notamment composé d’un organe nommé thymus. Celui-ci joue un rôle important dans l’évolution des cellules T (T pour thymus). Si au cours de son évolution, une cellule T reconnaît un antigène du soi, elle est exclue de la population des cellules T et détruite : c’est le procédé de la sélection négative. Rapport de stage de master recherche - page 4 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 3 – Schéma de l’affinité entre un anticorps et un antigène (De Castro and Timmis, 2002) Lorsqu’une cellule B (B pour Bone marrow ) 2 se lie à un antigène du non-soi avec une certaine affinité, elle est alors dupliquée. En parallèle, elle est également mémorisée si son affinité avec l’antigène est suffisamment élevée. Ellse sont alors appelées "cellules mémoires". C’est le processus de la sélection clonale. Lorsqu’un nouveau contact s’effectue avec l’antigène, ceci entraîne la réponse secondaire. Les cellules mémoires sont alors activées et la duplication des cellules est plus nombreuse. La réponse secondaire est donc plus rapide que la réponse primaire. Elle est également plus spécifique grâce à une sélection des cellules possédant des récepteurs ayant une forte affinité avec l’antigène. Les récepteurs des cellules B sont également capables de reconnaître et de se lier à d’autres cellules B. Elles forment alors un réseau immunitaire stable et auto-organisé. Lorsqu’une de ces cellules se lie à un antigène du non-soi, c’est l’ensemble du réseau qui réagit pour lutter contre cet intrus. C’est le procédé du réseau immunitaire. Les systèmes immunitaires artificiels sont inspirés de ces principes du système immunitaire naturel. Ils apportent donc, d’un point de vue informatique, des propriétés telles que la reconnaissance, la discrimination, la mémorisation, l’apprentissage, l’auto-organisation, l’adaptation, la robustesse et l’évolutivité (Timmis et al., 2008). Les trois sections suivantes présentent respectivement la sélection négative, la sélection clonale et le réseau immunitaire avec, pour chaque processus, les propriétés qu’ils apportent à la réalisation de l’ITS. 3.2.1 La sélection négative Dans les systèmes immunitaire artificiels, le processus de la sélection négative permet la génération de récepteurs capables de reconnaître le non-soi. Identiquement au thymus, seules les cellules ne présentant pas un antigène du non-soi et étant tolérantes envers celles du soi sont conservées. (Timmis et al., 2008; De Castro and Timmis, 2002) proposent un algorithme (algorithme 1 page 6) de la sélection négative basé sur la génération d’un ensemble de récepteurs et sur le calcul de l’affinité de chacun d’entre eux avec les récepteurs des éléments du soi. L’algorithme proposé est indépendant du domaine d’application, il est utilisé dans de nombreux domaines cités par (De Castro and Timmis, 2002) : détection d’anomalie, traitement d’image, tolérance aux fautes. 2 appelé aussi globule blanc ou anticorps Rapport de stage de master recherche - page 5 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 4 – Schéma de la sélection négative (De Castro and Timmis, 2003) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 début S = Un ensemble d’éléments du soi D = Un ensemble de détecteurs SeuilAff = seuil d’affinité tant que (i < nbDetecteurs) faire Générer un détecteur di de manière à ce qu’il n’ait pas d’affinité avec un élément de S si (affinite(di , Si ) > SeuilAff ) alors classer Si comme non-soi sinon classer Si comme soi fin fin retourner D Un ensemble de détecteurs fin Algorithme 1 : Sélection négative Cet algorithme de la sélection négative permet, dans le cadre de cette réalisation d’un ITS basé sur un AIS, la génération aléatoire de récepteurs capables de se lier aux actions effectuées par l’utilisateur (antigènes du non-soi) dans l’environnement sans que ceux-ci ne se lient aux actions souhaitées par l’expert (antigène du soi). La notion d’affinité abordée dans cet algorithme est récurrent dans un système immunitaire, sa mise en œuvre pour le développement de l’ITS est détaillée dans la section 4.3. La discrimination du soi/non-soi et le calcul de l’affinité entre deux récepteurs imposent une connaissance des paramètres des actions. Pour notre cas d’étude, une définition d’une action dans un EVAH est donnée dans la section 4. 3.2.2 La sélection clonale En complément du rôle de la sélection négative, la sélection clonale est une théorie utilisée pour expliquer comment une réponse immunitaire est activée lorsqu’une cellule B reconnaît la forme d’un antigène du non-soi. La sélection clonale a pour objectif de produire une population de cellules B. Ces dernières Rapport de stage de master recherche - page 6 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 sont composées, à leur surface, de récepteurs (anticorps). Seuls les anticorps obtenant une affinité supérieure à un seuil donné (mesure de la similarité entre deux récepteurs (Watkins et al., 2004)) suffisant avec un antigène sont dupliqués. C’est la phase d’expansion clonale. Elle permet de produire une population de cellules suffisamment conséquente pour lutter contre l’antigène. En parallèle de cette reproduction, les cellules sélectionnées seront soumises à un processus d’hyper mutation somatique afin que les récepteurs obtiennent une meilleure affinité avec l’antigène. Certaines des cellules ayant les plus grandes affinités avec l’antigène deviendront des cellules mémoire afin que, dans le cas où le système "rencontre" le même antigène, la création d’anticorps adaptés soit plus rapide. La figure 5 représente l’expansion clonale. Fig. 5 – Schéma de la sélection clonale (De Castro and Timmis, 2002) L’algorithme de sélection clonale est un algorithme d’optimisation : il fait évoluer une population d’individus vers un optimum global. Selon De Castro et Timmis dans l’article (De Castro and Timmis, 2002), CLONALG est l’algorithme qui satisfait le mieux les procédés de base de la sélection clonale. De plus, cet algorithme permet au système immunitaire artificiel de devenir de plus en plus performant dans la reconnaissance (De Castro and Timmis, 2002). L’algorithme 2 de la page 8 illustre les différentes étapes de la sélection clonale d’un point de vue informatique. Avec l’apport de la section clonale, l’ITS est doté d’un mécanisme de mémorisation, de duplication et d’optimisation. Le premier permet à l’ITS de mémoriser les actions pédagogiques qui ont été produites pour que, si l’utilisateur recommence la même action, l’ITS réponde plus spécifiquement que la première fois. La duplication des récepteurs va permettre à l’ITS d’augmenter les probabilités de détecter l’erreur pendant l’action de l’utilisateur. Ce mécanisme de duplication est introduit dans l’ITS car si l’utilisateur réalise une action erronée, il est plausible qu’il la refasse par la suite. Le dernier mécanisme mis en place dans l’algorithme de la sélection clonale est l’optimisation des récepteurs. Celui-ci est intéressant car il dote l’ITS d’un dispositif lui permettant d’améliorer la reconnaissance des actions de l’utilisateur et, par conséquent, permet aux agents pédagogiques dont les récepteurs ont été optimisés de répondre de manière plus pertinente à l’erreur. Comme pour l’algorithme de la sélection négative, le détail de la mise en place de cet algorithme au sein de l’ITS est décrite de façon plus détaillée dans la section 5.1. Rapport de stage de master recherche - page 7 - Un système tutoriel intelligent à base de système immunitaire artificiel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Juin 2009 début P = Un ensemble de formes à reconaître M = Population d’individus aléatoires tant que (Une forme minimale n’est pas reconnue) faire pour chaque (formes de Pi ) faire aff = affinite(Pi , Mi ) fin Sélectionner n1 éléments ayant la meilleure affinité avec les éléments de M Générer des copies de ces éléments proportionnellement à leur affinité avec l’antigène Muter toutes les copies proportionnellement avec leur affinité avec les formes de l’ensemble P (Plus l’affinité est élevée, plus la mutation est faible) Ajouter les individus mutés dans la population M Choisir n2 de ces éléments mutés (optimisés) comme mémoire fin fin Algorithme 2 : Sélection clonale 3.2.3 Le réseau immunitaire La sélection clonale est le moyen utilisé par le système immunitaire pour vaincre des antigènes du non-soi, tandis que la sélection négative lui permet de se protéger contre des antigènes du soi. Le réseau immunitaire quant-à-lui définit la façon dont les cellules réagissent entre elles dans le système immunitaire. Cette théorie du réseau immunitaire, a été proposée par Jerne en 1974. La formation du réseau immunitaire est un processus complexe. Avec le processus de la sélection négative, les cellules générées permettent la reconnaissance du non-soi. Cependant, il peut arriver que les cellules se lient également à d’autre cellules pour former un réseau. Cette formation du réseau est rendu possible par l’existence d’un second récepteur sur les anticorps (appelé idiotope) qui ne peut se lier qu’à un récepteur d’un anticorps (cf figure 6 page 9). Ce réseau est régulé en permanence. Lorsqu’il n’y a pas d’antigène, le réseau est dans un état stable. En revanche, lorsqu’un antigène est présent, ce n’est plus une seule cellule qui réagit, mais l’ensemble du réseau qui se retrouve mis à contribution. Lorsqu’une cellule du réseau se lie à un antigène, elle et ses voisines (notion des k nearest neighbor décrit dans (Watkins et al., 2004)) deviennent actives et réagissent vis-à-vis de l’antigène. La réaction des cellules est celle du processus de la sélection clonale. Ceci implique que les cellules ayant été dupliquées, sont à leur tour intégrées au réseau immunitaire à condition qu’elles puissent se lier. 3.3 Les différents domaines d’application Les applications basées sur les systèmes immunitaires artificiels sont très nombreuses et dans une grande variété de domaines. Cela va de l’apprentissage, jusqu’à la robotique en passant par la détection d’anomalies et la résolution de problèmes (Watkins et al., 2004). Comme le montre la liste d’applications reposant sur un AIS, tous les algorithmes (la sélection négative, la sélection clonale, le réseau immunitaire) ne sont pas obligatoirement implémentés dans une application. Chacun ayant un rôle bien défini, selon le domaine, un Rapport de stage de master recherche - page 8 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 6 – schéma du réseau immunitaire (De Castro and Timmis, 2003). algorithme sera plus adapté qu’un autre. Dans l’article (Watkins et al., 2004), les auteurs citent quelques exemples d’applications utilisant les AIS. – Dans le domaine de la détection d’anomalie, se sont les procédés de la sélection négative et de la sélection clonale qui sont largement présents. Dans ce domaine, de nombreuses recherches sont orientées vers la sécurité des ordinateurs et des réseaux informatiques. L’algorithme de la sélection négative est utilisé pour reconnaître un virus (non-soi) ou un utilisateur non-enregistré (non-soi). Celui de la sélection clonale améliore cette reconnaissance (grâce à sa fonctionnalité d’hyper mutation somatique) et permet un apprentissage des intrusions (cellules mémoires). – Un modèle de réseau immunitaire artificiel ayant pour but de regrouper des données et de filtrer les données redondantes. – La reconnaissance d’un ensemble de caractères binaires, en utilisant l’algorithme de la sélection clonale. – La sélection clonale a également inspiré un algorithme de réseaux de neurones booléen (ABNET : AntiBody NETwork). – On retrouve aussi le procédé de la sélection négative dans des applications de contrôles de pannes. Ceci, dans le but de concevoir des systèmes matériel donnant un important degré de fonctionnement, même en cas d’erreur. – La sélection négative est employée pour construire un ensemble de détecteurs pour détecter uniquement ce qui est utile. Ce procédé apparaît dans la reconnaissance de formes tout comme dans la segmentation d’images aériennes. – La théorie du réseau immunitaire est utilisée pour produire un système de reconnaissance et de classification de formes. – L’algorithme de la sélection clonale est également appliqué pour détecter des nouveautés dans des données de série chronologique. 4 La reconnaissance d’actions Pour préparer la réalisation d’un AIS, il faut tout d’abord définir ce qu’est le soi et le non-soi. D’après (De Castro and Timmis, 2002) et (Watkins et al., 2004) le non-soi correspond au composant que doit reconnaître un AIS. Il s’agit ici, dans le cadre de cette étude, d’une action de l’utilisateur dans un EVAH. Selon (De Castro and Timmis, 2002) et Carter, un récepteur peut être représenté par un vecteur s =< s1 , s2 , ..., sN > dans un shape Rapport de stage de master recherche - page 9 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 space de dimension N (voir figure 7 a). Dans la nature, les surfaces des récepteurs peuvent Fig. 7 – représentation d’un récepteur ayant huit paramètres (Carter). être de forme complexe comme le montre le schéma b de la figure 7 page 10. Les “sites” 6 et 7 sont relativement inaccessibles par les récepteurs des antigènes. Une telle configuration peut, dans le cadre d’une reconnaissance d’action, représenter une caractéristique ayant une faible importance dans l’action. Il est donc envisageable de pondérer l’importance des caractéristiques pour réaliser le calcul de l’affinité. Chaque attribut de ce vecteur représente une caractéristique du récepteur de la cellule. La première section de ce chapitre décrit les caractéristiques pour une action réalisée dans un EVAH. La seconde section présente le calcul de l’affinité et la troisième, les préconditions nécessaires pour la reconnaissance d’actions. 4.1 Définition d’une action dans un EVAH Au sein d’un environnement de formation, la réalisation d’une action peut être complexe. Elle peut nécessiter simultanément la présence de plusieurs agents, la manipulation de plusieurs entités et l’utilisation de plusieurs périphériques. Prenons l’exemple de l’action "porter une table", cette action nécessite l’intervention d’au moins deux agents utilisant chacun leurs deux mains et devant se trouver à des endroits bien précis de la table pour pouvoir la porter.Dans le cadre de cette étude, nous traitons uniquement les actions pouvant être réalisées par un utilisateur manipulant un seul outil et une seule ressource. Suite à cette restriction, et en se basant sur l’article (De Castro and Timmis, 2002) nous dégageons une définition de l’action dans un EVAH répartie en cinq grandes caractéristiques : – l’utilisateur : rassemble les paramètres définissant l’utilisateur dans la réalisation de l’action. – l’entité : décrit les propriétés de l’entité manipulée – le moment : regroupe les données relatives au moment et à la durée de la réalisation de l’action. Rapport de stage de master recherche - page 10 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 – la localisation : ensemble de paramètres représentant l’emplacement de l’entité et de l’utilisateur dans l’environnement. – l’utilisation : manière dont l’utilisateur a réalisé l’action. La configuration d’une application MASCARET peut nécessiter l’utilisation de six fichiers XML. – un fichier de configuration générale qui nomme les cinq autres fichiers et qui paramètre les différentes scènes, fenêtres et interacteurs. – un fichier de configuration du modèle représentant l’ensemble des packages, classes et procédures de l’application. – un fichier de configuration de l’environnement permettant d’associer chaque élément de l’environnement avec une position et une orientation. Il permet aussi d’initialiser les propriétés des différents objets. – un fichier de configuration des acteurs permettant d’ajouter, à l’environnement créé, les entités et les agents qui vont participer à la réalisation des procédures. – un fichier de configuration des organisations associant aux rôles et aux ressources, des procédures, une instance d’acteurs ou d’entités. – un fichier de configuration de scénario définissant le scénario, dans lequel est associé une date et une heure de début pour chaque procédure à réaliser. Les informations contenues dans ces fichiers sont nécessaires pour l’initialisation des différents paramètres composant une action. Les cinq sections suivantes décrivent les différentes caractéristiques d’une action dans un EVAH. 4.1.1 L’utilisateur Le contexte de l’utilisateur dans un EVAH est très importante. Dans MASCARET, les agents sont soit de type humain soit de type virtuel. Ils font partie d’une équipe, faisant elle même partie d’une organisation contenant plusieurs équipes. Lorsque l’expert du modèle définit l’action, il précise le rôle de l’agent dans l’organisation, si l’action doit être réalisée par un agent humain ou par un agent virtuel et dans quelle activité s’inscrit l’action. Si l’utilisateur réalisant une action ne respecte pas un de ces paramètres, cela signifie que l’action a été réalisée par un autre agent. C’est pour cela que les valeurs retournées par les paramètres énoncés dans le tableau 1 page 12 sont toutes de type booléen. Ceci oblige à ce que ce soit le bon agent de la bonne organisation ayant le bon rôle qui réalise cette action dans cette activité. 4.1.2 L’entité Le tableau 2 de la page 13 détaille les paramètres définissant l’entité manipulée par l’utilisateur au cours de l’action. Le type de l’objet permet à l’expert d’exiger la manipulation d’une entité ayant ce prototype. S’il combine cette information en précisant le nom de l’instance de l’objet, alors l’utilisateur n’a plus le choix. Par exemple si l’expert ne définit que la manipulation d’un interrupteur, l’utilisateur peux réaliser l’action avec n’importe quel interrupteur disponible dans l’environnement. Si au contraire, le nom de l’instance est précisé, l’utilisateur doit impérativement interagir avec cet interrupteur. Dans le paramètre état, l’expert y renseigne la valeur de l’état de l’objet à la fin de l’action. Si nous reprenons l’exemple de l’interrupteur, les états possibles sont "ON" et "OFF". Rapport de stage de master recherche - page 11 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Définition Paramètre Type Organisation : Chaîne de caracNom de l’organisa- tères : nom de l’ortion de l’agent. ganisation. Comparaison Type de retour Valeur de retour Booléen : l’agent – True : l’utilisateur doit absolument faire fait partie de l’orpartie de la bonne organisation. ganisation pour réali– False : l’utilisaser l’action. teur ne fait pas partie de l’organisation. Rôle : définit le rôle que doit avoir l’agent pour réaliser cette action. Chaîne de caractères : nom du rôle. Booléen : l’agent doit avoir absolument le bon rôle pour réaliser l’action. Type : type de l’agent devant réaliser l’action. Chaîne de caractères : nom du type de l’agent : "humain" ou "virtuel". Booléen : l’agent doit avoir le bon type pour réaliser l’action. Activité : activité dans laquelle se situe l’action. Chaîne de caractères : nom de l’activité. Booléen : l’agent doit effectuer la bonne activité. – True : l’utilisateur a le bon rôle. – False : l’utilisateur a un mauvais rôle. – True : l’utilisateur est du bon type. – False : l’utilisateur est du mauvais type. – True : l’action est dans la bonne activité. – False : l’action n’est pas dans la bonne activité. Tab. 1 – Définition de l’utilisateur Lorsqu’une entité est manipulée au cours d’une action, il se peut qu’elle se retrouve dans un endroit de l’environnement interdit. Pour cela, la caractéristique "entité" introduit le paramètre de zone d’utilisation qui rest défini dans VEHA par une géométrie 3D représentant la région autorisée de déplcement de l’objet. Lors du calcul de l’affinité de ce paramètre avec les valeurs de la position de l’objet, plus celui-ci se trouve éloigné de la zone plus la valeur tend vers 0 (cf section 4.3 sur l’affinité à la page 17). Pour comparer le type d’entité manipulé par l’utilisateur, l’article (Formica, 2006) propose de comparer la similarité entre deux concepts en tenant compte de leur ontologie. De cette manière, deux concepts sont similaires si tous leurs attributs sont identiques. Pour le cas de la comparaison du type de l’entité, nous raisonnons en plus sur le comportement des entités. C’est-à-dire en tenant compte à la fois des attributs mais aussi des opérations et de l’état des entités comparées. Une manière simple, présentée dans l’article, est d’effectuer un ratio entre le nombre d’attributs commun et le nombre d’attributs total de l’entité désirée. Rapport de stage de master recherche - page 12 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Définition Paramètre Type Type : type de Chaîne de caracl’entité que manipule tères : nom de la l’agent. classe de l’entité. Comparaison Type de retour Valeur de retour Réel : [0 ;1] critère – 0 : les attributs flou définissant l’entité manipulée n’ont aucun rapport avec celles attendues. – 1 : les attributs définissant l’entité manipulée sont tous identiques avec ceux de l’entité attendue. Instance : nom de l’instance de l’entité mise en jeu. Chaîne de caractères : nom de l’instance de l’entité. Booléen : l’entité manipulée doit être de la bonne instance. Etat : état de l’entité à la fin de l’action. Chaîne de caractères : nom de l’état actif de l’entité à la fin de l’action. Booléen : l’entité doit être dans le bon état. Zone d’utilisation : zone dans laquelle l’entité doit rester pendant la réalisation de l’action. Geometry : Zone géographique de l’entité. Réel : [0 ;1] critère flou. – True : l’entité est de la bonne instance. – False : l’entité est de la mauvaise instance. – True : l’entité est dans le bon état. – False : l’entité est dans le mauvais état. – 0 : l’entité est sortie de la zone. – 1 : l’entité n’a jamais dépassé la zone. Tab. 2 – Définition des entités mises en jeu dans l’action Le résultat de ce ratio est alors compris entre 0 et 1. – si ce ratio vaut 0 alors les attributs définissant l’entité manipulée n’ont aucun rapport avec ceux de l’entité attendue. L’utilisateur manipule donc une mauvaise entité. – si au contraire il vaut 1, les attributs de l’entité manipulée et celle attendue sont tous identiques. C’est la bonne entité qui est manipulée par l’utilisateur. Et si le résultat du ratio ne vaut pas 1, la comparaison est étendue à la zone géographique de l’entité (dans Geometry de VEHA). En effet, l’utilisateur a pu manipuler une entité proche géographiquement de l’entité nécessaire pour la réalisation de l’action. Pour cela, il faut définir un seuil pour la notion de proximité. Cette comparaison donne alors lieu à une valeur de retour booléenne : Rapport de stage de master recherche - page 13 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 – true : l’entité est comprise dans le seuil de proximité. L’entité manipulée par l’utilisateur est donc proche de celle qui aurait due être utilisée. – false : l’entité n’est pas comprise dans le seuil, cela signifie par conséquent que l’entité utilisée n’a aucun rapport avec celle désirée. L’utilisation d’un critére flou permet d’avoir en retour une valeur réelle comprise entre 0 et 1. La section 4.3 explique plus précisement le fonctionnement de ce mécanisme. 4.1.3 Le moment Dans un environnement virtuel de formation, l’utilisateur peut être amené à réaliser des actions à des moments bien précis, à différents intervalles de temps, pendant une certaine durée. Cette caractéristique "Moment" fixe l’espace temporel pour la réalisation de l’action. Le premier paramètre impose que l’action doit débuter dans un intervalle d’horaires précis après le début de la simulation. Tandis que le second paramètre correspond aux délais minimal et maximal d’attente avec l’action précédente. Définition Paramètre Type Horaire absolu : Entier : instant en heure du début de secondes. l’action. Comparaison Type de retour Valeur de retour Réel : [0 ;1] critère – 0 : l’action a déflou. buté trop tard. – 1 : l’action a commencé au même instant que celui défini. Horaire relatif : heure relative par rapport à l’action antérieure. Entier : instant en secondes. Réel : [0 ;1] critère flou. Temps de réalisation : durée de la réalisation de l’action. Entier : durée en secondes. Réel : [0 ;1] critère flou. – 0 : l’action a commencée trop tard. – 1 : l’action a commencé au même instant que celui défini. – 0 : l’action a duré trop longtemps. – 1 : l’action a été réalisée dans le temps imparti. Tab. 3 – Définition de l’instant du déroulement de l’action 4.1.4 La localisation Un EVAH peut offrir à l’apprenant une liberté de mouvements dans l’environnement ce qui lui permet d’obtenir une sensation d’immersion. Cependant l’utilisateur peut mal interpréter cette immersion et croire qu’il peut réaliser une action alors qu’il n’est pas au bon emplacement pour la réaliser. Par exemple, si l’action est de tourner un bouton en Rapport de stage de master recherche - page 14 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 cliquant avec la souris, de son point de vue, l’utilisateur aperçoit le bouton et donc réalise l’action. Sauf que dans la réalité il faut pouvoir atteindre le bouton. La caractéristique "Localisation" indique les positionnements que doivent occuper l’utilisateur et l’entité pour réaliser l’action. En complément de ces placements, la notion de distance permet de fixer un seuil d’éloignement entre le réalisateur de l’action et sa cible. Définition Paramètre Type Performer : loca- Zone + entier : lisation de l’agent Zone dans laquelle dans l’environne- doit se situer l’agent ment. et sa position relative dans la zone. Comparaison Type de retour Valeur de retour Réel : [0 ;1] critère – 0 : l’agent se situe flou. trop loin pour réaliser l’action. – 1 : l’agent se situe au bon endroit pour réaliser l’action. Distance : distance séparant l’agent de la cible (entité avec laquelle il interagit). Réel : distance entre l’agent et sa cible Réel : [0 ;1] critère flou. Entité : localisation de l’entité dans l’environnement pour réaliser l’action. Zone + entier : Zone dans laquelle doit se situer l’agent et sa position relative dans la zone. Réel : [0 ;1] critère flou. – 0 : l’agent est trop éloigné de sa cible. – 1 : l’agent est idéalement placé par rapport à la cible. – 0 : l’entité est trop loin par rapport à la position définie. – 1 : l’entité est au bon endroit pour réaliser l’action. Tab. 4 – Définition de l’endroit du déroulement de l’action 4.1.5 L’utilisation La dernière caractéristique définissant une action dans un EVAH est la manière de la réaliser. Les techniques apportées par la réalité virtuelle permettent d’obtenir un interfaçage sensori-moteur très naturel. Différents types de périphériques peuvent être utilisés pour le pointage et pour la manipulation. Cette caractéristique renseigne sur la façon dont l’utilisateur doit accomplir l’action. Obtenir une action en ayant accompli la distance exacte, avec la bonne force et la bonne vitesse étant quasiment impossible, il est préférable d’établir un intervalle pour assouplir la réalisation de l’action de l’utilisateur. Le tableau 5 de la page 16 détaille ces différents paramètres. 4.2 Les préconditions Avant de commencer à traiter une action, il faut auparavant vérifier certaines préconditions, notamment sur l’état du monde. Il faut pour cela débuter par une analyse de Rapport de stage de master recherche - page 15 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Définition Paramètre Type Périphérique : le Enumération : périphérique utilisé CLAVIER, SOURIS, pour réaliser l’action. SPACE MOUSE, WIIMOTE... Comparaison Type de retour Valeur de retour Booléen : l’utili– True : l’utilisateur sateur doit utiliser utilise le bon périle bon périphérique phérique. pour réaliser l’action. – False : l’utilisateur n’utilise pas le bon périphérique. Déplacement : intervalle de distances totales à parcourir pour réaliser l’action. Intervalle de valeurs réelles : distances minimale et maximale à parcourir. Réel : Critère flou. Nombre de déplacement : nombre de déplacements minimum et maximum autorisés pour réaliser l’action. Intervalle d’entiers : le nombre de déplacements minimals et maximals. Booléen : l’utilisateur doit respecter le nombre de déplacements . Vitesse : intervalle de vitesses autorisées pour réaliser l’action. Intervalle de valeurs réelles : vitesses minimale et maximale. Réel : [0 ;1] critère flou. Force : force appliquée par l’agent pour réaliser l’action. Intervalle de valeurs réelles : force minimale et maximale. Réel : [0 ;1] critère flou. – 0 : trop ou pas assez de distance parcourue. – 1 : bonne distance parcourue. – True : l’agent a réalisé l’action en respectant l’intervalle. – False : l’utilisateur a réalisé soit trop ou pas assez de déplacements. – 0 : vitesse trop lente ou trop rapide. – 1 : vitesse correcte. – 0 : force trop faible ou trop forte. – 1 : bonne force appliquée. Tab. 5 – Définition de la manière de réaliser l’action l’environnement puis une vérification de toutes les conditions nécessaires à la réalisation de l’action. Le travail réalisé par Thanh Hai Trinh (Trinh et al., 2009), lors de son stage de Master en 2008, sur la recherche des causes des actions erronées est utile car il permet de ressortir des erreurs de types "séquences". Bien que toutes les actions décrites par l’expert sont connues par l’ITS, celui-ci ne gère pas le séquencement des actions d’une activité. En effet, cette notion de séquencement n’est pas une propriété offerte par les AIS. Comme ces derniers sont issus des théories des systèmes immunitaires, il est improbable de connaître par avance quel antigène sera détecté après celui-ci. Il faut donc que l’ITS soit doté d’un disposif capable de gérer l’ordonnancement des actions. Les préconditions à vérifier avant Rapport de stage de master recherche - page 16 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 la réalisation ou avant la reconnaissance sont : – omission : l’utilisateur n’a pas réalisé l’action précédent celle qu’il vient de réaliser. – sauter en avant : l’utilisateur réalise cette action trop tôt. Il y a plusieurs actions à réaliser avant celle-ci. – sauter en arrière : l’utilisateur réalise cette action trop tard. Il aurait dû la réaliser avant. – répétition : l’utilisateur a déjà réalisé cette action auparavant. – inversion : l’utilisateur a inversé l’ordre de réalisation des deux dernières actions. La seconde précondition à vérifier avant de débuter l’action, est de s’assurer de la présence de toutes les entités nécessaires pour la réalisation de l’action. Celles-ci doivent exister dans l’environnement et doivent être correctement positionnées dans leur zone d’utilisation. C’est à la suite de ces vérifications que la reconnaissance de l’action peut débuter. 4.3 L’affinité appliquée à la reconnaissance d’actions L’affinité est une notion très présente au sein d’un AIS. En effet, elle apparaît à chaque fois qu’une reconnaissance d’actions est necessaire (pour la génération aléatoire de récepteurs, la reconnaissance d’antigènes, la formation du réseau immunitaire). Cette section détaille l’affinité mise en place dans le cadre de la reconnaissance d’actions. Selon (Watkins et al., 2004) et (De Castro and Timmis, 2003), les auteurs définissent l’affinité comme étant “une mesure de proximité ou de similarité entre deux cellules ou entre une cellule et un antigène”. En d’autres termes, l’affinité détermine le degré de correspondance entre la forme du récepteur de l’antigène et celui de la cellule. (Timmis et al., 2008) propose deux méthodes différentes pour calculer l’affinité. La première, nommée recognition ball, consiste à calculer la distance entre chaque épitope de l’antigène et les récepteurs qui les ont détectés. Si cette distance est comprise dans le rayon alors l’affinité est considérée comme suffisante pour générer une réponse immunitaire. Cette distance peut être obtenue en utilisant les distances Euclidienne, de Manhattan ou de Hamming. Soit x=(x1 , ..., xn ) les coordonnées de l’anticorps et y=(y1 , ..., yn ) celles de l’antigène. Distance Euclidienne : D(x, y) = pPn i=1 (xi Distance de Hamming : D(x, y) = Pn i=1 |xi − yi ) 2 − yi | ( Distance de Manhattan : D(x, y) = Pn i=1 δ où δ = 1 si xi 6= yi 0 sinon Recognition ball : B (x) = {y | D(x, y) < } La seconde méthode exposée dans (Timmis et al., 2008) est la correspondance rcontiguous c’est-à-dire que "deux éléments ont la même longueur de correspondance si au moins r caractères contigus sont identiques". Dans l’exemple qui suit, il y a deux vecteurs de huit paramètres dont leur valeur est soit 0 ou 1. Le calcul de l’affinité se fait en appliquant un ou exclusif entre les deux vecteurs. L’affinité entre ces deux vecteurs est de 4 car il y a quatre valeurs contigües à 1. 0 0 1 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 Fig. 8 – Affinité en nombre de bits contigus Rapport de stage de master recherche - page 17 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Comme décrit dans la section précédente, les caractérisques d’une action mélangent à la fois des valeurs entières, réelles et binaires. Il faut donc, pour cette étude, écrire un calcul d’affinité différent que ceux proposés par (Timmis et al., 2008) car la shape space utilisée n’est ni entièrement binaire ni entièrement réelle. Avant de décrire l’implémentation de l’affinité, le paragraphe suivant détaille la représentation d’un récepteur. Tous les paramètres de chaque caractéristique, hormis ceux étant des chaînes de caractères, sont représentés comme suit. Le paramètre est composé d’une borne inférieure (LB), d’une borne supérieure (UB) et d’une tolérance. Cette dernière est obtenue en multipliant l’intervalle [LB UB] par le pourcentage d’erreur que l’expert a fixé au début de l’exercice. L’agent éducationnel réagit lorsque les paramètres de l’action réalisée par ne sont pas comprises dans l’intervalle [LB UB] défini par l’expert. Plus l’action de l’utilisateur est éloignée de l’intervalle, plus la valeur de l’affinité tend vers 1 (cf schéma 11 page 19). Les figures 9 et 10 montrent respectivement la représentation d’un paramètre saisi par l’expert en début d’exercice et de l’utilisateur. Fig. 9 – Paramètre saisi par l’expert Fig. 10 – Paramètre d’une action réalisé par l’utilisateur Dans un AIS, la notion d’affinité est très présente, son calcul intervient lorsque deux récepteurs se détectent. Il peut s’agir d’un épitope (récepteur d’un antigène) cherchant à se lier à un paratope ou bien d’un idiotope (récepteur d’une cellule B) voulant se lier à un paratope. Pour réaliser le calcul de l’affinité et obtenir des valeurs réelles comprisent entre 0 et 1, il a été nécessaire de développer une classe Affinity réalisant une sorte de critère flou. Sur l’intervalle [LB, UB] cette affinité vaut 0, sur les intervalles [x0, LB] et [UB, x3] celle-ci est comprise entre 0 et 1 et en dehors 1 (cf schéma 7 page 10). Le calcul de l’affinité pour une caractéristique s’effectue en deux étapes : – première étape : pour chacun des paramètres de la caractéristique venant de se lier a une autre, un calcul d’affinité est réalisé avec le récepteur qui l’a détecté. – deuxième étape : l’affinité globale de la caractéristique est l’affinité maximale des paramètres. Rapport de stage de master recherche - page 18 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 11 – Représentation de l’affinité d’un paramètre Le fait que l’affinité globale corresponde à la plus grande valeur des affinités de tous les paramètres signifie que cette caractéristique de l’action est sensiblement correcte mais qu’un de ces paramètres est hors de l’intervalle de validité. La réaction pédagogique de l’agent est effective que dans le cas où le réseau immunitaire est perturbé par la présence d’un antigène. Cette réaction, décrite par l’expert, est différente selon le paramètre erroné. Prenons l’exemple de la caractéristique deviceFeature : Cette caractéristique est composée de cinq paramètres : device - displacement - displacement number - speed - strength. A l’aide du modèle pédagogique, nous initialisons les bornes inférieures (LB) et supérieures (UB) pour chaque paramètre. La tolérance donne une affinité comprise entre 0 et 1 dans les intervalles [x0 LB] et [UB x3]. Lorsqu’il y a une liaison entre un agent traitant ce type de caractéristique et une caractéristique d’une action réalisée par l’utilisateur (ou un autre agent pédagogique), l’affinité est alors calculée à partir de la valeur de cette dernière. Lorsque toutes les affinités de la caractéristique sont calculées, celle ayant la valeur maximale donnera l’affinité entre les deux cellules. Supposons que le paramètre ayant la plus faible affinité (valeur la plus élevée) soit la vitesse. Une des réaction pédagogique de l’agent peut être par exemple : – entre 0 et x0 : l’affinité est égale à 1 donc la vitesse est beaucoup trop lente, c’est faux ! Il faut aller plus vite. – Entre x0 et LB : l’affinité est comprise entre 0 et 1 donc la vitesse est trop lente, il faut aller un peu plus vite. – Entre UB et x3 : l’affinité comprise entre 0 et 1 donc la vitesse est trop rapide, il faut aller un peu moins vite. – Entre x3 et inf : l’affinité est égale à 1 donc la vitesse est beaucoup trop rapide, c’est faux ! Il faut aller moins vite. Maintenant que les actions que l’utilisateur doit réaliser ont été définies et que les calculs de la similarité entre les actions expertes et celles de l’utilisateur ont été détaillées. La section suivante explique l’implémentation du système immunitaire artifiel. 5 5.1 Mise en œuvre de l’AIS Modèle de l’AIS Cette section présente dans tout d’abord les propriétés apportées par un AIS pour la reconnaissance d’actions puis dans un second temps, le descriptif des différentes classes formant le modèle générique du système immnunitaire artificiel. Enfin, celui-ci se termine par une explication de l’utilisation de ce modèle pour une reconnaissance d’actions. Rapport de stage de master recherche - page 19 - Un système tutoriel intelligent à base de système immunitaire artificiel 5.1.1 Juin 2009 Les propriétés des AIS pour la reconnaissance d’actions Le réseau immunitaire : D’un point de vue informatique, la création du réseau immunitaire a pour objectif de former un graphe dont les sommets sont les cellules, et les arcs l’affinité entre deux cellules. Pour que deux cellules puissent se lier entre elles, il faut que la plus grande affinité des paramètres d’une caractéristique d’une action soit supérieure au seuil fixé. Sur le principe enoncé dans la section 3.2.3, les cellules se lient entre elles par l’intermédiaire des idiotopes (ici, des actions utilisateurs) et des paratopes (intervalles de valeurs attendues pour ne pas faire réagir l’agent éducationnel). 2 1 1 0.58 1 1 4 1 5 1 1 3 1 1 6 Fig. 12 – Exemple de graphe immunitaire Par exemple si les récepteurs ont trois paramètres, il y a trois affinités {aff1, aff2, aff3}. Si aff2 est l’affinité maximale (le paramètre le plus éloigné de celui défini par l’expert) des trois et qu’elle est supérieure au seuil de l’affinité du réseau alors elle détermine l’affinité entre les deux cellules. Si l’affinité n’est pas égale à 0 cela veut dire que l’action de l’utilisateur n’est pas correctement réalisée, il a commis une ou plusieurs erreurs lors de l’accomplissement de celle-ci. L’ensemble des affinités des paramètres sont sauvegardées car elles vont être utiles pour la réaction pédagogique des agents lorsqu’ils seront activés. Dans le cadre de cette étude, chaque cellule est un agent éducationnel et le réseau représente le modèle organisationnel du système multi-agent en charge de l’ITS. L’affinité existante entre deux agents éducationnels x et y représente la probabilité que la réaction pédagogique de y soit réalisée si x est exécutée. Dans le cas où plusieurs récepteurs sont susceptibles de pouvoir se lier avec un autre récepteur en ayant la même affinité, un choix aléatoire est effectué parmis les prétendants. Ceci, dans le but de ne pas favoriser la réaction d’une celulle plutôt qu’une autre. Activation : Lorsqu’il se trouve lié avec un antigène, ou activé par une autre cellule, le récepteur effectue un calcul d’affinité. Si cette affinité est supérieure à un seuil, les deux récepteurs se lient. Et si cette valeur est aussi supérieure au seuil d’activation de la cellule qui a détecté l’antigène ou la cellule, alors elle devient active. Une cellule active a pour conséquence sa duplication. En parallèle, elle effectue une mutation de ses clones, une réaction face à l’antigène et une activation de ses voisines (voir paragraphe Comportement du réseau). Rapport de stage de master recherche - page 20 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Clonage : Une cellule est active lorsqu’elle a détecté un antigène, ou parce qu’une de ses cellules voisines est activée. Cloner les cellules actives après la détection d’un antigène permet d’augmenter la probabilité de détecter le même antigène une prochaine fois. Mais avant d’être clonés, les récepteurs de cette cellule sont mutés. Dans cette étude, ils subissent une modification de la tolérance (cf algo 3 de mutation page 21). La réduction de la tolérance oblige ainsi l’utilisateur à améliorer sa réalisation de l’action. Mutation : ce processus, appelé également procédé d’hyper-mutation somatique, intervient en parallèle de la duplication de la cellule. Il a pour but de “modifier” les récepteurs afin d’optimiser la détection d’antigènes semblables et ainsi obtenir une réaction plus appropriée. L’implémentation de ce processus est inspirée de l’algorithme présenté dans (Watkins et al., 2004) et reporté ci-dessous. 1 2 3 4 5 6 7 8 9 10 11 12 début stim = stimulation(Ag, CellCandidate) nbClones = taux_hyper_mutation * taux_clonage * stim tant que (i < nbClones) faire //la cellule clonée va elle-meme modifier ses recepteurs. change = random(0,1) changeto = random(0,1) si (change < taux_mutation) alors CellClone.Tolerance = CellClone.Tolerance * changeto fin fin fin Algorithme 3 : Hyper mutation somatique – cellCandidate : cellule s’étant activée au contact de l’antigène Ag. – stimulation : niveau de stimulation entre les deux récepteurs. Dans l’article (Watkins et al., 2004) il est défini comme étant égal à 1 moins l’affinité entre les récepteurs. Cependant, dans notre cas, l’affinité et la stimulation sont confondues (voir section 4.3 à la page 17). – Taux_hyper_mutation : valeur entière utilisée pour déterminer le nombre de cellules clonées donnant lieu à une cellule mémoire autorisée à être injectée dans le réseau immunitaire. – Taux_clonage : valeur entière utilisée pour déterminer le nombre de clones à produire. – Taux_mutation : valeur comprise entre 0 et 1 indiquant la probabilité de mutation de chaque récepteur d’une cellule. Réaction : Une cellule réagit lorsqu’elle a détecté un antigène ou lorsqu’une de ses voisines est active. Dans notre cas, la réaction d’une cellule correspond à la réaction pédagogique d’un agent éducationnel à une action de l’apprenant. Celui-ci est défini, dans le domaine de l’expert, pour donner une assistance précise à l’utilisateur dans un cas d’erreur donné. Dans cette étude, la réaction des agents éducationnels est diiférente selon l’intervalle dans lequel se situe l’affinité entre l’action de l’apprenant et celle définie dans le modèle pédagogique. Il peut exister un intervalle encourageant l’utilisateur à s’améliorer ou à recommencer son action (voir le modèle de l’implantologie, section 5.4 page 35). Rapport de stage de master recherche - page 21 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Comportement du réseau : Ce paragraphe explique brièvement le fonctionnement du réseau immunitaire. Une description plus détaillée et appliquée au cas d’étude est donnée dans la section 5.2 à la page 26. Lorsqu’un antigène est présent dans le réseau immunitaire, celui-ci vient perturber l’état courant du réseau. Il va alors parcourir le réseau immunitaire en cherchant à se lier à un récepteur d’une cellule capable de le reconnaître avec une affinité suffisante. Une fois cette détection effectuée, la cellule qui se trouve sollicitée devient active et va alors réagir. Parallèlement, la cellule est dupliquée et ses récepteurs sont mutés. Dans le même temps, ses voisines sont activées en fonction du degré de stimulation existant entre elles. Les clones des cellules activées intégrent le graphe du réseau immunitaire. Ag 2 1 1 1 0.6 0.58 1 1 5 1 4 0.78 1 1 3 1 1 6 Fig. 13 – Exemple d’activation des agents éducationnels Sur le graphe de la figure 13, les sommets grisés représentent les cellules actives. Dans cet exemple, le seuil d’activation des cellules est fixé à 0.7 ce qui signifie que les cellules ne peuvent devenir actives que si leur affinité est supérieure à ce seuil. Le graphe 14 de la page 23 montre le réseau immunitaire modifié avec l’apparition des clones (10 et 21 dans ce cas) des cellules actives. 5.1.2 Diagramme de classes La conception de ce modèle s’appuie sur les travaux réalisés par Yamamoto et Suzuki (Suzuki et al., 1999). L’une des principales contraintes dans le cadre du développement de cet AIS est d’être générique afin qu’il puisse être utilisé avec l’ensemble des EVAHs développés avec MASCARET et éventuellement étendu à d’autres domaines d’applications. C’est pourquoi, la classe Receptor est abstraite car elle représente le type des éléments manipulés. Les méthodes réalisant les fonctions principales comme la mutation, le calcul de l’affinité et la réaction sont également abstraites puisqu’elles sont dépendantes du type de récepteur. Cela permet au développeur souhaitant utiliser un ITS basé sur cet AIS, de définir lui-même la manière de muter les récepteurs et de les comparer et la façon dont doit réagir une cellule B. La suite de cette section donne une définition des différentes classes présentes dans le modèle de l’AIS (cf figure 15 page 25). La classe ImmuneNetwork. Elle implémente les méthodes comportementales d’un réseau immunitaire composé de cellules B (BCell) et d’antigènes (Antigen). Elle intègre notamRapport de stage de master recherche - page 22 - Un système tutoriel intelligent à base de système immunitaire artificiel 5 2 1 1 0.6 1 1 Juin 2009 0.58 1 1 0.78 2 0 0.58 1 4 1 1 1 10 1 3 0.86 1 6 Fig. 14 – Exemple de clones dans le graphe immunitaire ment les méthodes suivantes. – createNetwork : Elle a pour objectif, à partir des BCell créées par l’expert, de réaliser un graphe de BCell en les liant avec l’affinité de leurs récepteurs. Cette méthode est appelée uniquement lors de l’initialisation. – negativeSelection : C’est une méthode basée sur l’algorithme présenté à la section 3.2.1 page 5. Elle génére un ensemble de détecteurs capables de détecter uniquement les antigènes. Pour cela, la méthode génère un ensemble de récepteurs (Receptor) aléatoire et tous ceux dont le lien est possible avec un récepteur du soi sont supprimés. Seuls ceux ne pouvant pas reconnaître le soi sont ajoutés dans l’ensemble des celllules B faisant partie du réseau immunitaire. – regulateNetwork : Elle est fondamentale dans l’AIS. En effet, c’est cette méthode qui traite l’apparition d’un antigène dans le réseau et le maintient du réseau lorsque de nouvelles cellules B sont ajoutées. – memorisationBCell : Cette méthode réalise la mémorisation des clones des cellules B actives et dont les affinités avec les antigènes sont les plus élevées. – multiplicationBCell : Cette méthode implémente l’algorithme de multiplication des cellules B présenté à la section 5.1.1 de la page 21. La méthode memorisationBCell et celle-ci sont éxécutées à chaque fois qu’une cellule B est active. – diminuateBCellsLife : A chaque régulation du réseau immunitaire, la durée de vie des BCell est décrémentée. La classe ImmuneNetwork possède un attribut nommé netAffinityThreshold. Pour que deux Receptor puissent se lier, il faut que leur affinité soit supérieure à ce seuil. Comme indiqué sur la figure 15, la classe ImmuneNetwork est un singleton, cela autorise l’utilisation d’un seul réseau immunitaire par application. La classe Antigen. Elle représente les éléments qui sont détectés par les Receptor des BCell. Elle est composée des plusieurs Réceptor jouant le rôle d’épitopes. Dans le cadre de cette étude, les actions que réalise l’apprenant sont considérées comme des Antigen. Lorsque tous les épitopes de Antigen sont détectés, celui-ci est détruit et n’est plus présent dans le réseau immunitaire. Rapport de stage de master recherche - page 23 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 La classe BCell. C’est une classe importante dans l’AIS car c’est elle qui fournie les méthodes d’activation, de réaction, de mutation et de clonage. Cette classe dispose des attributs suivants dont la plupart sont issus de l’article (Watkins et al., 2004) : – hyperClonalRate : pourcentage de clones devenant des cellules mémoires. – activateBy : Receptor qui a rendu actif la BCell. – activityThreshold : seuil que doit dépasser l’affinité entre deux récepteurs pour que la cellule passe dans l’état actif. – nbAntibody : nombre d’anticorps dont dispose la cellule B. Cet attribut détermine le nombre d’idiotopes et de paratopes composant la cellule. – nbClone : nombre de fois que la cellule a été clonée. – mutationRate : probabilité donnée pour que les récepteurs de la cellule puissent être clonés. – activeState : booléen passant à vrai lorsque la cellule passe dans l’état actif. – lifeTime : durée de vie de la cellule, elle est décrémentée à chaque régulation du réseau. Les méthodes mutate, clone et react sont abstraites car le type de récepteur n’est pas défini. Il est donc impossible d’implémenter ces méthodes dans le système immunitaire artificiel. C’est donc au developpeur métant en place l’application que revient la tâche d’écrire les méthodes de mutation, de clonage et de réaction correspondantes à son application. La classe Receptor. Cette classe représente à la fois les épitopes pour la classe Antigen, les idiotopes et les paratopes pour la classe BCell. Le rôle principal de celle-ci est de détecter d’autres récepteurs et, le cas échéant, se lier. Pour pouvoir détecter ou se lier avec un Réceptor, il faut que les informations à comparer soient connues. Or, ces paramètres sont dépendant de l’application. Les méthodes de détection (bind ), de comparaison(computeSimilarity) et de clonage (clone) sont donc abstraites. Cela respecte donc la généricité de l’ITS. La classe Receptor est constituée d’un lien sur elle-même ce qui a pour but de connaître le Receptor qui lui est lié. Enfin, elle dispose également des attributs affinity et stimulationLevel. Le premier correspond à l’affinité entre le récepteur qu’il a détecté et lui-même. stimulationLevel est inversement proportionnel à l’affinité. Il intervient dans le calcul du nombre de clone. Plus celui-ci est élevé plus il y aura de clones. En plus des opérations abstraites, la classe possède une méthode linkReceptorTo qui a pour but de lier deux récepteurs. Utilisation du package AIS pour l’ITS : Maintenant que le modèle de l’AIS est présenté, ce paragraphe présente le diagramme de classes mis en place pour réaliser un système de reconnaissance d’actions basé sur un AIS. Les actions de l’utilisateurs sont les antigènes tandis que les différentes caractéristiques, présentées dans la section 4, représentent les récepteurs des agents éducationnels qui sont une spécialisation de BCell. Classe Action. Elle correspond aux actions réalisées par l’utilisateur pendant la simulation. Elle est composée des Feature représentant les différentes caractéristiques présentées dans la secton 4. Elle hérite de la classe Antigen afin que, dans le réseau immunitaire, les actions soit perçues comme des antigènes. Classe Feature. Cette classe définit le type de récepteurs manipulés dans la cadre de notre étude. Elle n’implémente pas les méthodes bind et computeSimilarity car elle est encore une notion trop abstraite. A ce stade, il est impossible de définir précisément comment Rapport de stage de master recherche - page 24 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 15 – Diagramme de classes de l’AIS détecter et comparer un paramètre. Pour cela, chaque caractéristique présentée dans la section 4 sont des spécialisations de la classe Feature. Les cinq caractéristiques sont représentées par les classes DeviceFeature, SpatialFeature, TemporalFeature, UserFeature, EntityFeature implémentant toutes les méthodes abstraites précédentes. Classe UserFeature. Elle représente la caractéristique de “l’utilisateur” qui réalise l’action. Elle dispose des attributs organisation, role, type et activity qui sont de type chaîne de caractères et définissent respectivement le nom de l’organisation de l’utilisateur, son rôle, s’il s’agit d’un agent humain ou virtuel et enfin dans quelle activité doit se dérouler l’action. Classe EntityFeature. Elle détermine les attributs de la caractéristique “entité”. Elle est notamment constituée des attributs suivants : – type : de type chaîne de caractères, elle précise le type de l’objet utilisé pour réaliser l’action. – instance : si cette chaîne est vide, cela signifit que l’utilisateur peut utiliser n’importe quel objet de type type. Lorsque l’apprenant réalise une action, il manipule toujours une instance. L’expert peut quant-à-lui ne définir que le type de d’objet que l’apprannant doit manipuler. – state : décrit l’état de l’objet après la réalisation de l’action de l’utilisateur. – useArea : vecteur de trois triplets au minimum et d’une hauteur. Rapport de stage de master recherche - page 25 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Classe TemporalFeature. regroupe les données liées au temps. Les trois paramètres sont des vecteurs contenant deux valeurs entières représentant l’intervalle de temps absolu, relatif et la réalisation de l’action. La première valeur est le temps minimal autorisé tandis que le second est le temps maximal. Classe SpatialFeature. Cette classe possède les attributs de la localisation de l’utilisateur (performer) et de l’entité (entity). Elle dispose également de la distance séparant ces deux localisations. Les localisations sont de type vecteur de trois valeurs réelles, ce qui permet de placer l’entité et l’ulilisateur dans l’espace. Le paramètre de la distance est quant-à-lui un vecteur de deux réels, il représente l’intervalle (valeur minimale et valeur maximale) des distances autorisées entre l’utilisateur et l’entité pour pouvoir réaliser l’action. Classe DeviceFeature. Elle représente la caractéristique “utilisation”, elle est dotée des attributs : – device : nom du périphérique utilisé. – displacement : distance parcourue au cours de l’action. – displacementNumber : nombre de déplacements effectués. – speed : vitesse moyenne à laquelle est réalisée l’action. – strenght : force appliquée pour réaliser l’action (optionnel, uniquement en cas d’utilisation d’un dipositif haptique). Classe AISActionBehavior. Elle hérite de la classe BCell. La responsabilité de cette classe est de réaliser le comportement d’un agent éducationnel (EducationalActionAgent). Grâce à la structure de l’AIS, cette classe dispose de récepteurs de type Feature. Du fait que la classe soit composée de récepteurs concrets de type DeviceFeature, SpacialFeature, TemporalFeature, UserFeature ou EntityFeature, le réseau immunitaire devient un graphe d’AISActionBehavior, chacun lié à un EducationalActionAgent et composé d’un des types de récepteurs précédemment cités. Pour réaliser le comportement de l’agent éducationnel, la classe implémente les méthodes de mutation (mutate), de clonage (clone), de réaction (react) et de génération de récepteurs aléatoires (randomReceptorGenerator ) Classe EducationalActionAgent. Elle définit l’agent éducationnel qui est indépendant du système de reconnaisance d’action. Dans le cadre de cette étude, il est composé d’un comportement de reconnaissance d’actions basé sur un AIS mais il peut, dans une autre étude, disposer d’un autre comportement. 5.1.3 5.2 Diagramme objets Résultats La section précédente a présenté la stratégie de l’implémentation de l’AIS. Celle-ci présente un cas d’étude simple dont l’objectif est de montrer le fonctionnement de l’AIS dans le cadre d’une reconnaissance d’action. La première partie énonce le cas d’étude mis en place tandis que la seconde présente les résultats expérimentaux de l’utilisation de l’AIS. Rapport de stage de master recherche - page 26 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 16 – Diagramme de classe de l’ITS 5.2.1 Cas d’étude Pour expérimenter le modèle de l’AIS établi dans la section 5.1.2 de la page 22, seule la caractéristique "utilisation" est implémentée ; ceci dans le but de privilégier l’analyse des propriétés de l’AIS plutôt que son application. Comme indiqué sur le schéma 16, la caractéristique DeviceFeature correspond aux récepteurs de l’action (l’antigène) et aux récepteurs de l’agent éducationnel (la cellule). Afin de montrer la réaction des agents éducationnels, la méthode react affiche la phrase suivante : “Réaction pédagogique de la cellule id ” dans une zone de texte. La méthode de clonage reproduit l’agent éducationnel à l’identique sauf que sa durée de vie est au maximum et l’identifiant de l’agent cloné est dix fois supérieur à l’original. Dans le cadre de la reconnaissance d’actions, la methode mutate réalise une modification aléatoire de la tolérance de chaque paramètre des récepteurs de l’agent éducationnel aux actions de l’apprenant. La figure 17 montre l’application déve- Rapport de stage de master recherche - page 27 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 loppée pour tester le fonctionnement des propriétés de l’AIS. La figure 18 est l’IHM qui permet de simuler la réalisation d’une action de l’utilisateur en saisissant directement les informations. Fig. 17 – Application de test pour l’AIS – Le bouton Initialisation network initialise le réseau immunitaire en créant un graphe d’agents éducationnels liés entre eux par une affinité. – La liste de gauche montre les agents éducationnels faisant partie du graphe. – La liste au centre indique l’ensemble des agents éducationnels liés à celui sélectionné dans la liste de gauche. Cette liste précise également l’affinité entre l’agent sélectionné et ses voisins. – La liste de droite montre les agents mémoires. – les zones de texte en haut au centre et à droite donnent respectivement des informations sur l’agent éducationnel et son récepteur désigné dans la liste de gauche. – la zone de texte en bas au centre permet l’affichage des réactions pédagogiques des agents éducationnels, de la régulation du réseau, du nombre de clones qui ont été créés par un agent devenu actif. – Le bouton Generate an action fait apparaître la boîte de dialogue de la figure 18 dans laquelle il est possible de saisir les informations suivantes : – l’identifiant de l’action. – le nom du périphérique utilisé pour réaliser l’action. – la distance totale parcourue par l’utilisateur pendant l’action. – le nombre de déplacements effectués. – la vitesse d’exécution de l’action. – la force appliquée par l’utilisateur. Cette intégration, permet d’expérimenter les propriétés de l’AIS dans un cas simple. Car si ces propriétés répondent aux besoins, l’implémentation des autres récepteurs et des autres réactions pédagogiques sont semblables. La section suivante présente les résultats obtenus. Rapport de stage de master recherche - page 28 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 18 – Fenêtre de saisie des informations 5.2.2 Résultats Après avoir présenté le cas d’étude dans la section précédente, celle-ci détaille les résultats obtenus après la réalisation de plusieurs tests permettant la mise evidence des différentes propriétés de l’AIS présentées dans la section 5.1.1 à la page 20. Une analyse détaillée sur l’apport de ces propriétés dans le cadre cette étude est donnée dans la section suivante. Initialisation : L’initialisation du réseau a pour but de réaliser un graphe orienté dont les sommets sont les agents éducationnels et dont les arcs sont pondérés par l’affinité entre les deux sommets. Pour cette expérimentation, la formation du réseau n’est pas aléatoire, les valeurs des récepteurs ont été choisies de manière à obtenir le graphe 12 de la page 20. Ce graphe permet de traiter les différents cas envisageables dans le comportement du réseau. Comme le présente la figure 19, les agents qui composent le réseau immunitaire apparaissent dans la liste de gauche. Lorsqu’un de ces agents est sélectionné, les agents auxquels il est lié sont listés dans le tableau du centre. Dans ce tableau, se trouve également la valeur de l’affinité entre les deux agents. Par exemple sur la figure 19, avec un seuil d’affinité fixé à 0.3, pour le cas de l’agent éducationnel no 6, celui-ci est lié à l’agent no 1 par une affinité de 1 et avec l’agent no 5 par une affinité de 0.416. Ceci signifie que, lorsque la réaction pédagogique de 6 est réalisée, dans 100% des cas l’agent éducationnel no 1 réagit et dans 41,6% des cas il y aussi la réaction pédagogique de l’agent no 1. Le graphe immunitaire correspondant, avec le seuil d’affinité défini à 0.3 est celui présenté sur le schéma de la figure 12 à la page 20. Si à présent, le souhait de l’expert est d’avoir dans le réseau immunitaire uniquement des affinités supèrieures à 0.6, le graphe est alors différent du précedent (voir figure 20). Les liens entre les agents éducationnels 2 et 4 et entre 6 et 5 n’existent plus. Cette modification du seuil d’affinité affecte donc les réactions pédagogiques. En effet, si l’agent éducationnel 2 détecte une action de l’utilisateur, dans le premier cas il y a une réaction de la part de l’agent 2 et de l’agent 4, et dans le deuxième cas il y une réaction uniquement de la part de l’agent 2. Réaction : La réaction pédagogique d’un agent éducationnel intervient lorsque celuici se trouve activé parce qu’il est lié à une action réalisée par l’utilisateur ou parce que l’un de ses voisins l’a rendu actif. Lorsqu’une action est capable de se lier à plusieurs Rapport de stage de master recherche - page 29 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 19 – Initialisation du réseau d’agents éducationnels 2 1 5 1 1 1 4 1 1 1 3 1 6 Fig. 20 – Exemple de graphe immunitaire agents éducationnels, il y a un choix aléatoire qui permet de sélectionner celui avec lequel l’action se lie. L’action de l’utilisateur est traitée dans une activité ayant lieu toutes les deux secondes. C’est donc à la prochaine activité de régulation du réseau que la réalisation de l’action de l’utilisateur est traitée. En réalisant l’action présentée à la figure 21, il y a plusieurs agents éducationnels ayant la possibilité de se lier avec elle. Un tirage aléatoire donne l’agent pédagogique no 1 comme réagissant à l’action. Etant donné que l’agent 1 est aussi lié à l’agent no 2, celui-ci va aussi réagir car affinite(1, Ag) * affinite(1, 2) est supérieure au seuil d’activation fixé à 0.6. En testant le réseau immunitaire avec une action ayant les valeurs suivantes : – displacement = 12.0 – displacementNUmber = 7 Rapport de stage de master recherche - page 30 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 – speed = 5.5 l’agent pédagogique no 6 réagit. Bien que cet agent soit lié aux agents no 1 et no 5, ceux-ci ne réagissent pas. En effet, le calcul effectué pour leur activation ( affinite(6, Ag) * affinite(6, 1) et affinite(6, Ag) * affinite(6, 5)) est inférieur au seuil d’activation (0.6). Au final, sur les trois agents éducationnels susceptibles de réagir à cette action, il n’y a que celui qui a détecté l’action qui réagit. Fig. 21 – Action de l’utilisateur Fig. 22 – Réaction pédagogique des agents éducationnels Lorsque la même action de l’utilisateur est détectée trois fois (valeur fixée dans la réaction pédagogique) par le même agent éducationnel, l’ITS affiche le message "Vous avez répété trop de fois la même erreur, vous ne pouvez pas continuer l’activité" et stoppe l’application. Cette réaction est écrite uniquement dans le cadre de ce test, ce n’est en rien figé pour toutes les réactions. Cette valeur de détection est en réalité le nombre de fois que l’agent pédagogique a subi une duplication. Rapport de stage de master recherche - page 31 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Clonage : Le clonage d’un agent éducationnel se produit lorsque celui-ci est actif. En gardant le graphe immunitaire présenté dans le paragraphe de l’initialisation du réseau et en reprenant l’action réalisée pour l’expérimentation dans le paragraphe précédent, ce test permet de mettre en évidence la duplication des agents éducationnels. Les agents actifs sont toujours le no 1 et le no 2. Comme présenté dans la section 5.1.1, le nombre de clones d’un agent est dépendant du taux d’hyper mutation, du taux de clonage et de l’affinité entre les deux récepteurs. Pour cette expérimentation, le taux d’hyper mutation est fixé à 1.0, le taux de clonage à 3. L’affinité entre l’action de l’utilisateur et l’agent éducationnel no 1 est de 1, celui-ci est alors cloné trois fois. L’agent éducationnel no 2 est également cloné trois fois. Sur la figure 23, dans la liste de gauche sont apparus six agents supplémentaires. Les agents numéro 10, 11 et 12 sont les clones du numéro 1 alors que les numéros 20, 21, 22 sont ceux du numéro 2. Leur présence dans le réseau intervient lors de la prochaine réalisation de l’activité de régulation du réseau. S’ils ne peuvent pas se lier à un agent éducationnel présent dans le réseau, celui-ci n’apparait pas la liste. Au cours de la simulation, il peut Fig. 23 – Clonage des agents éducationnels arriver que plusieurs agents éducationnels aient le même identifiant. Cela est dû au fait qu’ils sont issus du même agent original. Mutation : Intervenant parallèlement au processus de duplication, la mutation des agents éducationnels a pour but, dans ce test, de modifier la tolérance des paramètres. Cette mutation est réalisée de manière aléatoire, il n’y a donc aucune garantie sur l’optimisation du récepteur. La tolérance peut-être, soit plus grande, dans ce cas, l’agent éducationnel est plus laxiste, soit plus petite, et dans ce cas, l’agent éducationnel est plus strict. Mémorisation : La mémorisation permet au système de se souvenir de la manière dont il a réagit à une action de l’utilisateur. De cette façon, lorsqu’il détecte de nouveau cette même action, le système réagit plus rapidement car avant de rechercher un agent éducationnel du réseau pouvant détecter l’action, une recherche est effectuée dans la mémoire. En revanche, Rapport de stage de master recherche - page 32 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 les agents éducationnels mémoires sont indépendants les uns des autres. Ils ne forment pas un réseau. Le nombre d’agents mémoires représente un pourcentage du nombre de clones. Ce pourcentage est défini par la variable hyperClonalRate. Dans ce test, cette mémoire est vide au début de chaque simulation. En réalisant l’action de la figure 21, les agents pédagogiques no 1 et no 2 ont réagi. Ils ont été dupliqués trois fois. Parmis ces trois clones, seul un a été sélectionné pour devenir un agent éducationnel mémoire. Fig. 24 – Mémorisation des agents éducationnels Enregistrement des réactions pédagogiques : Cette application est dotée d’un mécanisme de log permettant la sauvegarde des actions pédagogiques selon l’action réalisée par l’utilisateur. Le listing 2 représente une partie du fichier de log. A l’interieur de ce fichier se trouve des informations sur les actions réalisées par l’utilisateur avec les valeurs de chaque paramètres et les agents éducationnels qui ont réagi à chacune des actions. Pour chaque paramètre des récepteurs d’un agent, la valeur de l’affinité est sauvegardée. Ces traces permettront au formateur de réaliser une analyse à posteriori de l’ensemble des actions de l’utilisateur et des réactions pédagogiques. Ceci lui permet d’avoir un retour sur la pertinence des réactions et de la réalisation de l’activité. De cette manière, il peut, pour la prochaine simulation, modifier le comportement des agents ou modéliser un autre graphe d’agents éducationnels pour améliorer et rendre les assistances plus adaptées aux erreurs ou modifier le scénario pédagogique. <A c t i o n s> <A c t i o n i d=" 0 "> <d a t e >2038186450</ d a t e > <u s e r> <d e v i c e F e a t u r e> <d e v i c e v a l u e=" keyboard " /> <d i s p l a c e m e n t v a l u e=" 7 . 6 8 " /> <displacementNumber v a l u e=" 2 " /> <s p e e d v a l u e=" 1 " /> <s t r e n g t h v a l u e=" 0 " /> Rapport de stage de master recherche - page 33 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 </ d e v i c e F e a t u r e> </ u s e r> <p e d a g o g i c a l A g e n t i d=" 1 "> <d e v i c e F e a t u r e a f f i n i t y=" 1 "> <d i s p l a c e m e n t LB=" 9 . 2 " UB=" 12 " a f f i n i t y=" 0 . 3 5 7 1 4 2 8 5 7 1 4 3 " /> <displacementNumber LB=" 3 " UB=" 6 " a f f i n i t y=" 0 " /> <s p e e d LB=" 5 " UB=" 6 " a f f i n i t y=" 1 " /> <s t r e n g t h LB=" 0 " UB=" 0 " a f f i n i t y=" 0 " /> </ d e v i c e F e a t u r e> <r e a c t i o n>R e a c t i o n p é d a g o g i q u e de 1 ! ! </ r e a c t i o n> </ p e d a g o g i c a l A g e n t> <p e d a g o g i c a l A g e n t i d=" 2 "> <d e v i c e F e a t u r e a f f i n i t y=" 1 "> <d i s p l a c e m e n t LB=" 7 " UB=" 9 . 2 " a f f i n i t y=" 1 " /> <displacementNumber LB=" 3 " UB=" 6 " a f f i n i t y=" 1 " /> <s p e e d LB=" 4 " UB=" 7 " a f f i n i t y=" 0 " /> <s t r e n g t h LB=" 0 " UB=" 0 " a f f i n i t y=" 0 " /> </ d e v i c e F e a t u r e> <r e a c t i o n>R e a c t i o n p é d a g o g i q u e de 2 ! ! </ r e a c t i o n> </ p e d a g o g i c a l A g e n t> </ A c t i on> </ A c t i o n s> Listing 2 – Exemple de traces. Ces différents tests ont également permis de mettre en évidence la robustesse de l’AIS. En effet, quelque soit l’action réalisée par l’utilisateur, il y a toujours au moins un agent éducationnel qui est capable de la détecter et de réagir. Le système ne se trouve donc pas pertubé par l’arrivée d’une action inattendue. 5.3 Analyse des résultats Les résultats de la section précédente montrent que, lorsque l’utilisateur réalise une action n’étant pas exactement celle décrite dans le modèle de l’expert, au moins un des agents éducationnels présent dans le réseau immunitaire est capable de la détecter et de proposer une assistance pédagogique adaptée. La réaction des agents éducationnels étant liée au degré de l’erreur commise, celle-ci offre une réponse adaptée. En plus, avec la présence d’un réseau d’agents éducationnels, l’utilisateur peut disposer de plusieurs assistances pédagogiques lui permettant de s’améliorer et de réussir à effectuer l’action sans erreur. Cette succession de réactions est équivalente à l’annonce des différentes étapes que fournit un enseignant à son étudiant pour qu’il puisse réussir l’exercice. Les différentes expérimentations qui ont été faites dans la section précédente, montrent que le réseau d’agents éducationnels est en permanence mis à jour, soit en réagissant à l’apparition d’une action de l’utilisateur, soit en modifiant son organisation à cause de la présence d’agents clonés. La duplication des agents éducationnels permet d’augmenter la probabilité de détecter la même erreur de l’utilisateur. Le nombre de fois qu’un agent a été cloné peut être vu comme une mise en garde pour l’enseignant de la difficulté de la réalisation de l’action. Sauvegarder un pourcentage des clones d’un agent éducationnel a pour but de mémoriser la manière dont a été assisté l’apprenant lors de l’action qu’il vient de réaliser. Avec la mémorisation des actions pédagogiques, il est possible de répondre plus rapidement à l’apprenant sans que le réseau soit de nouveau pertubé. La mutation des agents éducationnels introduit une modification de la tolérance de l’erreur. Ce qui, d’un point de vue de l’apprenant, peut créer un effet de surprise car il Rapport de stage de master recherche - page 34 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 peut s’attendre à ce que le tuteur réagisse toujours de la même manière. Or, la mutation de la tolérance étant aléatoire, le tuteur peut être, soit plus souple, soit plus strict. Dans le cas réel, cela revient à avoir soit un enseignant n’acceptant pas que l’étudiant s’écarte de la consigne soit un enseignant acceptant que l’étudiant puisse s’y dérouter. Pour conclure, ces test unitaires ont permis de mettre en avant les propriétés de l’AIS en les appliquant a des agents éducationnels réagissant aux actions de l’apprenant. L’impémentation de toutes ces propriétes font que le tuteur obtenu, à la fin de cette étude, est robuste, il n’est pas pertubé par les différentes actions réalisées par l’apprenant. Cependant, cette robustesse influe sur l’adaptation car si un apprenant réalise une action n’ayant aucun sens, le système réagira. Mais cette réaction n’a éventuellement aucun rapport avec l’action. Il faut que l’expert définisse des réactions pédagogiques neutres, de façon à masquer le manque d’adaptation dans ce cas particulier. En dotant un ITS d’un AIS pour gérer le comportement des agents éducationnels, celui-ci est également auto-régulé, c’est-à-dire capable de régler son comportement en permanence. Le système de reconnaissance d’actions retrouve son comportement initial après qu’il ait dû réagir à une action de l’utilisteur. Ce système est aussi adaptatif car il offre des assistances différentes en fonction du paramètre erroné dans l’action et du nombre de fois que cette erreur est apparue. Par contre, l’AIS n’offre pas la possibilité à notre ITS d’évaluer l’efficacité de la réaction pédagogique fournie à l’apprenant. La seule façon dont l’ITS peut savoir que la réaction a été efficace, c’est que le réseau immunitaire ne rencontre plus la même action. Cependant, il ne peut pas savoir si cette assistance à réellement apportée à l’utlisateur ou si c’est par hazard qu’il a réussi a produire la bonne action après avoir observé la réaction du tuteur. 5.4 Application à l’implantologie Cette section présente le modèle d’un tuteur autonome basé sur un AIS destiné à une application d’implantologie (étude est menée dans le cadre de la thése de Jérémy Cormier) dont l’objectif est de former à la pose d’implants dentaires à l’aide d’un dispositif haptique. Plus précisement, cette section présente la phase de préparation de la pose c’est-à-dire l’activité de forage de la dent. Fig. 25 – Application VirTeaSy (source : http ://www.didhaptic.com) Rapport de stage de master recherche - page 35 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 L’application serait doté d’un ITS dont les comportements des agents éducationnels sont basés sur le modèle de l’AIS vu à la section 5.1 page 19. Ces agents doivent réagir sur les critères de la zone à opérer, de la précision du forage par rapport au centre de la dent, de l’angulation, de distance du trou par rapport au nerf et de l’ovalisation du trou. Ils disposent de trois sortes de réactions pédagogiques de manière à fournir à l’apprenant des réponses graduelles selon l’erreur commise ou le nombre de fois que cette erreur est intervenue. Les aides fournies par les agents éducationnels sont décontextualisées, c’està-dire que l’apprenant va travailler le point faible détecté dans une situation différente de l’activité principale. Les assistances apportées dans ces situations sont graduelles en fonction l’erreur. – le pas à pas : l’utilisateur est assisté en continu. – le contrôle : l’utilisateur a un retour sur ce qu’il vient de réaliser. – le réaliste : l’utilisateur pratique uniquement le point décellé dans un environnement identique à celui de l’activité principale. L’expert définit au préalable les actions pédagogiques qu’il souhaite mettre en place dans la simulation. Ensuite, il associe ces actions à des agents éducationnels et en forme un réseau dont il définit la valeur des récepteurs des agents éducationnels ainsi que l’affinité les liant entre eux. La réalisation d’une action de l’utilisateur vient alors perturber le réseau immunitaire mis en place par l’expert. Pour cette application, un récepteur est composé des paramètres suivants : – numéro de la dent : entier représentant la dent à traiter. – précision : écart en dixième de millimètre entre le lieu du forage et le centre de la dent. – angulation : angle du forage en degré par rapport à la normale. – profondeur : distance par rapport au nerf situé sous la machoire. Il existe un dernier paramètre représentant l’ovalisation du trou. Il n’est pas pris en compte dans le cadre cette présentation. Les schémas suivant présentent la configuration des récepteurs Fig. 26 – Schématisation des récepteurs pour l’implantologie. La figure 27 montre une représentation partiel de l’organisation des agents éducationnels dans le graphe. Le rectangle de gauche représente l’action réalisée par l’apprenant alors que les deux autres sont des représentations du comportement d’agents éducationnels faisant parti du réseau. Sur le schéma, il est possible d’observer que l’agent éducationnel no 1 Rapport de stage de master recherche - page 36 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Fig. 27 – Schéma partiel du graphe d’agents éducationnels pour l’implantologie. détecte une action de forage. Pour que le calcul de l’affinité entre les différents paramètres (précision, angulation, profondeur) puisse se faire, il faut impérativement que l’utitilisateur ait éffectué cette action sur la bonne dent. Autrement dit, si l’utilisateur s’est trompé de dent, il est immédiatement repris et ne peut pas poursuivre l’activité. Selon les affinités obtenues (voir calcul de l’affinité à la section 4.3 page 17), l’agent éducationnel va réagir différemment. En effet, s’il s’avère que c’est pour la profondeur du trou que l’affinité est la plus faible, la réaction de l’agent va alors être de stopper la simulation courante pour amener l’utilisateur à travailler uniquement la profondeur des trous (ceci correspond à la reaction immuntaire dans le système immunitaire humain). Dans cette activité, l’utilisateur ne perce pas que des dents, il peut se retrouver à percer du bois, du plâtre... Ce changement de matériaux intervient dans le cadre de la mutation (processus intervenant dans la sélection clonale) du paramètre profondeur car la densité des os n’est pas uniforme et n’est pas identique chez toutes les personnes. Il faut donc faire travailler l’apprenant sur des densités différentes. Grâce aux propriétes apportées par l’AIS, comme la mémorisation, il est possible de connaître le nombre de fois que l’utlisateur a commis la même erreur et également l’assitance pédagogique présentée à l’utilisateur. A l’aide de ceci, il est possible , pour un agent éducationnel de réagir diffremment en fonction de la répétition de l’erreur et de la réponse fournie. Par exemple, si c’est le paramètre profondeur qui a la plus mauvaise affinité parmi l’ensemble des paramèters et si c’est la première fois que l’utilisateur se trompe, l’agent pédagogique lui propose de perfectionner la profondeur du percage en disposant d’une vue de profil dans laquelle il peut suivre la descente du foret jusqu’à la consigne (c’est le mode pas à pas). Supposons que l’apprenant réalise de nouveau la même action mais cette fois en s’améliorant sur la profondeur mais que celle-ci ne soit toujours pas idéale et que d’autres paramètres soient toujours éronés mais meilleurs que la profondeur, la réaction de l’agent éducationnel est de considèrer que la faute de profondeur du trou est dû aux autres erreurs dans les autres paramètres. Par exemple, dans la figure 27 l’angulation est mauvaise, l’agent éducationnel no 1 va alors stopper l’activité courante pour passer à celle où l’appreRapport de stage de master recherche - page 37 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 nant doit réaliser le trou en respectant le bon angle et en ne tenant pas compte des autres paramètres. Lorsque l’activité proposée par l’agent éducationnel est terminée, l’activité de forage est reprise dans l’état qui précédait sa suspension. Du point de vue de l’AIS, l’agent éducationnel et ses voisins qui avaient réagi à l’action ont été clonés, la réaction mémorisée et le réseau modifié pour prendre en compte les clones (cf section 5.1.1 à la page 20). 6 Conclusion L’objectif de cette étude a été de proposer un modèle d’ITS capable de s’adapter aux actions de l’utilisateur en lui fournissant des assistances quasi-personnalisées. Pour cela nous avons exploré la piste des AIS. Suite aux propriétés qu’un tel système apporte (robustesse, adaptivité, mémorisation, apprentissage, autorégulation...), nous avons élaboré un modèle générique capable d’être utilisé par n’importe quelle application générée sous MASCARET. Une fois ce modèle implémenté, de différentes expérimentations ont été réalisées afin de mettre en évidence ces propriétés dans le cadre d’un réseau d’agents éducationnels. Les résultats obtenus ont permis d’en venir à la conclusion que, l’implémentation d’un ITS utilisant un système immunitaire artificiel pour gérer le comportement de ces agents éducationnels, offre à l’apprenant une diversité dans son accompagnement pour la réalisation de son activité. L’évolution possible de ce travail est de doter l’ITS d’un mécanisme d’évaluation de l’efficacité des réactions pédagogiques, il possédera alors un processus d’apprentissage ce qui lui permettra de modifier lui-même le réseau d’agents pédagogiques et d’obtenir un meilleur compromis entre le modèle défini par l’expert et les réactions pédagogiques. Le second mécanisme à ajouter serait un ordonnanceur d’actions, afin que le tuteur puisse gérer leurs séquencements. A la suite de l’ajout de ces mécanismes, l’ITS devra être implémenté dans un EVAH réalisé avec MASCARET afin que le formateur et les apprenants puissent valider son fonctionnement. L’étape suivante cette évaluation sera d’enrichir le dispositif de reconnaissance d’actions afin que celui-ci soit capable de gérer des actions collaboratives. Rapport de stage de master recherche - page 38 - Un système tutoriel intelligent à base de système immunitaire artificiel Juin 2009 Références Baudouin, C., Beney, M., Chevaillier, P., Le Pallec, A., 2007. Recueil de traces pour le suivi de l’activité d’apprenants en travaux pratiques dans un environnement de réalité virtuelle. Revue STICEF Volume 14, édition numérique. Buche, C., Querrec, R., De Loor, P., Chevaillier, P., 2004. MASCARET : A pedagogical multi-agent system for virtual environment for training. Journal of Distance Education Technologies Volume 2, 41–61. Carter, J. H., 2000. The immune system as a model for pattern recognition and classification. GJournal of the American Medical Informatics Association Volume 7, 28–41. Chevaillier, P., 2006. Les systèmes multi-agents pour les environnements virtuels de formation. Chevaillier, P., Septseault, C., Querrec, R., 2009. VEHA : un méta-modèle d’environnement virtuel structuré et informé. TSI Volume 28, à paraître. De Castro, L. N., Timmis, J., 2002. Artificial immune systems : A novel paradigm to pattern recognition. University of Paisley, 67–84. De Castro, L. N., Timmis, J., 2003. Artificial Immune Systems as a Novel Soft Computing Paradigm. Soft Computing Volume 7, 526–544. Dimitracopoulou, A., 2006. State of the art of interaction analysis for metacognitive support and diagnosis. Tech. rep., Kaleidoscope Network of Excellence. Dimitracopoulou, A., Bruillard, E., 2006. Enrichir les interfaces de forums par la visualisation d’analyses automatiques des interactions et du contenu. Revue STICEF Volume 13. Formica, A., 2006. Ontology-based concept similarity in formal concept analysis. Information Sciences 176, 2624–2641. Querrec, R., De Loor, P., Chevaillier, P., 12–14 Nov. 2001. Environnement virtuel pour la formation des officiers sapeurs-pompiers, 311–314. Suzuki, J., Yamamoto, Y., 2000. Building an artificial immune network for decentralized policy negotiation in a communication endsystem : Openwebserver/inexus study. In : in Proc. of the 4th World Conference on Systemics, Cybernetics and Informatics, (SCI 2000). Suzuki, J., Yamamoto, Y., Science, D. O. C., 1999. A decentralized policy coordination facility in openwebserver. GJournal of the American Medical Informatics Association. Timmis, J., Hone, A., Stibor, T., Clark, E., 2008. Theoretical advances in artificial immune systems. Volume 403, 11–32. Trinh, T. H., Buche, C., Querrec, R., Tisseau, J., 2009. Modeling of errors realized by a human learner in virtual environment for training. Int. Journal of Computers, Communications & Control 4, 73–81. Watkins, A., Timmis, J., Boggess, L., 2004. Artificial immune recognition system (AIRS) : An immune-inspired supervised machine learning algorithm. Genetic Programming and Evolvable Machines Volume 5, 291–317. Rapport de stage de master recherche - page 39 -