Un syst`eme tutoriel intelligent `a base de syst`eme immunitaire

publicité
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 -
Téléchargement