• Aucun résultat trouvé

Nous considérons que l'agent commence sa vie avec les exemples ci-dessous. Par conséquent, n'ayant observé aucune séance de conception auparavant, au départ, sa mémoire sera vide mise à part les quatre noeuds Artifact,

Function, Behavior et Structure. Dans les exemples qui suivent, nous avons le constant de prudence k = 10 (voir chapitre 7) de manière à ce que l'agent attribue des valeurs de vérités relativement basses aux conclusions d’inférences. Par ailleurs, la vitesse de répétition d’un cycle de fonctionnement de l'agent a été réduite pour éviter d’avoir un nombre d’inférence très élevés et difficile à suivre pour le lecteur.

9.2.1 Exemple d’utilisation du logiciel

Présentons comment fonctionne DesigNAR lors de la conception d'un aspirateur. Le concept correspond à celui d'un aspirateur dont le fonctionnement est basé sur le vacuum créé par un moteur. La poussière aspirée par le vacuum est retenue par un sac qui sert de filtre ce qui permet de séparer l'air de la poussière.

Après avoir sélectionné « New concept » dans le menu « File », l'utilisateur peut créer l'artéfact A: Aspirateur. La boite de dialogue qui s'ouvre permet d'entrer le nom de l'artéfact et une description de celle-ci; la date de création du projet est générée automatiquement; Figure 9.4. Ceci revient à créer un noeud de type Artéfact pour le graphe FBS. Cliquer sur OK, ajoute ce noeud dans la base de donnée, initialise le DesigNAR et lui donne le lien

: :

(a)

(b)

(c)

(d)

Figure 9.5 Les étapes de la création du concept d’aspirateur

L'utilisateur peut désormais continuer à développer son concept en ajoutant des fonctions, puis des comportements et finalement des structures. La Figure 9.5 illustre les étapes pour créer les schémas et les instances nécessaires pour construire le concept correspondant à un aspirateur. L’utilisateur détermine comme fonction primaire d’un aspirateur, séparer l’air aspiré de la poussière qu’il contient. Un schéma F: Separation est donc créé (Figure 9.5a) à partir duquel l’instance F: Separation_1 est construite (Figure 9.5b).

Figure 9.6 Les liens observés (Les valeurs de vérités sont omises pour raison de clarté)

L’utilisateur alors décompose la fonction F: Separation_1 par les comportements B : Vacuum_1 et B : Filtration_1 qui sont créés à partir des schémas correspondants; Figure 9.5b et Figure 9.5c. Finalement, l’utilisateur ajoute S : Moteur_1 et S : Sac_1 dans le but de décrire les éléments qui vont réaliser les deux comportements B : Vacuum_1 et

B : Filtration_1 respectivement; Figure 9.5c et Figure 9.5d. A ce stade, si aucune inférence n’avait été réalisée, le graphe de connaissances de l’agent aurait eu la structure illustrée dans la Figure 9.6.

9.2.2 La réception de l’information et la mémoire du DesigNAR

DesigNAR « se réveille » lorsque le concept d’aspirateur est créé. Suivant le mode de fonctionnement, il peut immédiatement commencer son cycle d’inférence ou il peut surveiller l’environnement et enregistrer les changements jusqu’à ce que l’utilisateur lui demande de faire des inférences.

Figure 9.7 Le fichier d’output du DesigNAR ; les valeurs entre les crochets sont les valeurs d’urgence et de durabilité ; les valeurs entre les parenthèses sont les valeurs de fréquence et

de confiance ; Q est le symbole utilisé par le système pour le point d’interrogation.

Dans tous les cas, il crée un fichier d’output ayant le nom de l’artéfact et les spécifications du projet. Dans ce fichier est reporté toutes les informations que DesigNAR reçoit de son environnement et les inférences qu’il effectue à partir de ces informations. La Figure 9.7 présente un extrait de ce fichier dans le cadre de l’exemple du concept Aspirateur. Les chiffres entre les crochets [ ] sont respectivement l’urgence et la durabilité. Les chiffres entres parenthèses ( ) sont respectivement la fréquence et la confiance.

Comme nous le voyons DesigNAR reçoit d’abord les informations sur

A : Aspirateur. Il observe « Aspirateur est un Artéfact » et se pose la question « Qu’est-il lié à un Aspirateur ?». De la même manière, il constate un schéma de fonction, nommé Separation, et il crée la tâche « Qu’est il la

Separation ? ». Puis, Separation_1, une instance de Separation et cette instance est associée à Aspirateur. Finalement l’agent se demande « Qu’est-ce que c’est Separation_1 ? ».

Lorsque DesigNAR reçoit une information, il la recopie dans certaines des quatre listes Tâches, Intension, Extensions et Similarité (voir chapitre Chapitre 8). Si un terme figurant dans l’information n’est pas connu, alors un nouveau concept est créé avec ces quatre listes et dont le nom correspond au terme observé. Pour notre exemple, comme l’agent ne connaît aucun des termes observés, il va créer tous les concepts correspondants. Les concepts

Aspirateur, Separation et Separation_1 sont donc créés comme il s’agit de la première expérience de conception pour le système. Les informations observées peuvent alors être recopiés dans les listes appropriées. Les questions sont recopiées uniquement dans la liste Tâche correspondant au concept considéré. Les jugements sont recopiés à la fois dans les listes Tâche et dans la liste de jugements correspondante (voir chapitre 8). Ainsi, pour Aspirateur, des deux liens suivants

[0,99;0,90] (0;0) [0, 8;0,99] (0,7;0,7) Q Aspirateur Aspirateur Artifact → →

le premier est ajouté dans la liste Tâche, le deuxième est ajouté à la fois dans la liste Tâche et dans la liste Intension de l’aspirateur.

Notons que les informations qui sont captées de l’environnement sont admises par DesigNAR sans aucune remise en question (de la crédibilité de l’utilisateur). Elles sont recopiées comme telles dans la mémoire. Aucune incertitude n’est considérée en ce qui concerne l’information, même si l’information peut indiquer de l’incertitude sur une relation (e.g.

Aspirateur →Artifact avec un niveau de confiance de 0.7 » n’implique pas que cette information est incertaine, mais que le fait qu’un aspirateur soit un artéfact n’est certain que de 70%). L’information Aspirateur →Artifact est ainsi directement recopiée dans la liste Intension du concept Aspirateur. Cependant, le fait que les informations soient recopiées sans remise en question ne veut pas dire pour autant que l’agent ne va pas essayer de situer ces connaissances par rapport à d’autres connaissances. Ainsi, cette même information va être recopiée dans la liste Tâche (ce qui augmentera l’activation du concept correspondant, et donc, la probabilité qu’il sera sélectionné pour une inférence). De cette manière, lors de l’inférence, elle peut être sélectionnée, et donc, interagir avec d’autres connaissances (qui se

trouvent dans l’intension, l’extension ou la similarité du concept). Ceci va donner lieu à la création d’autres connaissances à partir de celle-ci et donc établir la relation du concept en question avec d’autres concepts. Par contraste aux jugements, les questions de type Q →A Aspirateur: ou Q →F Separation: _1 ne vont interagir avec d’autres connaissances que pour trouver une réponse ou, à défaut, pour créer une autre question. Pour l’exemple, n’ayant aucune autre connaissance de départ, soit DesigNAR va trouver des réponses triviales (comme F Separation: _1→A Artifact: ), soit il n’en trouvera aucune (e.g., il n’est pas possible de répondre à

: _1

Q →F Separation pour l’instant.) Celles-ci ne seront pas reportées à l’utilisateur puisqu’elles n’ont aucune valeur comme suggestions. Cependant, elles seront importantes pour le raisonnement interne de l’agent. Comme tout résultat d’inférence, ils seront écrits dans la liste Tâche des concepts concernés augmentant leur niveau d’activation.

Aussi, faudrait-il rappeler qu’un jugement quelconque contient de l’information sur deux concepts à la fois. Prenons A Aspirateur: →

:

A Artifact. Dans quel concept devrons-nous la recopier ? Dans les deux concepts en question. Cependant, pas dans les mêmes listes : Pour le concept

A : Aspirateur, le concept A : Artifact sera copié dans la liste Intension puisque A : Artifact est dans l’intension de ce concept. Pour le concept

A : Artifact, le concept A : Aspirateur est dans l’extension de celui-ci et donc il sera copié dans la liste Extension.

9.2.3 Les premiers cycles ; la manque de connaissances

Reprenons l’exemple d’aspirateur et examinons à présent les premières itérations du cycle de fonctionnement du DesigNAR à l’aide de son fichier d’output. Une fois les informations acquises sont écrites dans la mémoire, DesigNAR commence à exécuter ses cycles d’inférences. Rappelons qu’un cycle d’inférence consiste à choisir un concept, une tâche à propos de ce concept, puis, un jugement (sauf si la tâche est une question au quel cas on cherche directement une réponse). Ensuite, une règle d’inférence sera appliquée à la tâche et au jugement pour générer une conclusion. Le fichier d’output reflète toutes ses étapes pour chaque cycle d’inférence.

Figure 9.8 Le fichier d’output du DesigNAR ; itérations 1-4

Ce que nous constatons dans les premiers cycles, c’est que DesigNAR ne dispose pas suffisamment de connaissances pour établir des relations entre des concepts. L’assistant continue son raisonnement malgré cela, en créant des questions et des tâches plutôt que des réponses ou de connaissances. A la première itération, le concept F : Separation est sélectionné aléatoirement parmi les concepts du DesigNAR. Puis, toujours aléatoirement, la tâche

:

Comme la tâche est une question, DesigNAR va utiliser sa procédure de choix pour essayer de donner une réponse. Puisqu’elle a été générée directement à partir d’un terme observé dans l’environnement, dans le cas où une réponse sera trouvée, DesigNAR va essayer de faire une suggestion à l’utilisateur. Mais, à ce point, la seule autre connaissance de l’agent sur le concept F : Separation, c’est F : Separation_1→F : Separation. A l’évidence, il n’y a aucune utilité à suggérer cette connaissance. L’utilisateur a déjà créé cette instance de F : Separation lui-même et il l’a déjà utilisé dans cette séance. Ce genre de suggestions redondantes n’est pas reporté à l’utilisateur. Après cette itération, comme nous pouvons le constater du fichier d’output, l’utilisateur entre un autre concept en élaborant le schéma de comportement

B : Vacuum. DesigNAR observe la connaissance B : Vacuum→B : Behavior. Nous voyons donc que l’agent continue ses inférences tout en surveillant l’environnement.

A l’itération 2, DesigNAR choisit le concept F : Separation_1 pour l’inférence. La tâche choisie est Q →F Separation: _1. Cependant, l’agent n’a aucune connaissance extensionnelle sur le concept F : Séparation_1 et donc il ne peut pas répondre à cette question. Dans ce genre de cas, plutôt que d’abandonner l’inférence, l’assistant choisit une connaissance intensionnelle et poursuit l’inférence par une inférence vers arrière. L’intérêt de l’inférence vers l’arrière consiste à activer les concepts reliés afin d’augmenter la chance d’obtenir une réponse, même si d’une manière indirecte, à la question de départ. Si l’assistant ne peut générer des connaissances, alors il génère des questions pour engendrer une réflexion ! Le système se pose des questions à partir desquelles il peut obtenir une réponse à la question de départ. En utilisant la connaissance

: _1 :

F Separation →A Aspirateur, de la question Q →F Separation: _1

est inférée la question A Aspirateur: →Q (ce qui correspond à la règle d’exemplification). Le lecteur pourra noter que le système aurait pu générer aussi la question Q →A Aspirateur: en utilisant la règle de déduction. Toutefois, comme expliqué dans le paragraphe 8.2, il peut y avoir plusieurs règles d’inférences qui peuvent être utilisées lors d’un cycle d’inférence et le système fait un choix aléatoire entre ces règles.

Figure 9.9 Le fichier d’output du DesigNAR ; itérations 5-9

Bien que les règles qui renvoient des conclusions plus sûres soient favorisées dans ce choix, il arrive parfois que d’autres règles soient choisies, comme nous en voyons l’exemple dans cette situation. Cette approche découle du caractère non-déterministe et contribue au comportement émergent du système.

Les itérations 3 et 4 ne mènent toujours pas à la production de nouvelles relations. Le système manquant toujours suffisamment de connaissances, il n’arrive par à créer de nouvelles relations. A la place, il crée des questions ou de nouvelles tâches. Ceci commence à changer à partir de l’itération 5 où commence à apparaître la création de nouveaux liens.

9.2.4 Inférences et graphe de connaissance

Après les étapes décrites précédemment, DesigNAR a suffisamment d’information sur l’environnement pour commencer à établir des relations entre différents concepts. A partir de l’itération 5, nous constatons que l’agent commence à effectuer des déductions, des inductions, des abductions, etc. Ainsi, dans l’itération 5, le concept choisi est Vacuum, et l’agent déduit que Vacuum_1 est un Behavior. Dans l’itération 7, il induit une relation entre Vacuum et Separation_1. A l’itération 8, il infère une relation entre

Vacuum_1 et Vacuum grâce à l’abduction. A l’itération 9, il induit une relation dans le sens opposé entre ces deux mêmes concepts. Graphiquement ces inférences peuvent être illustrés comme dans la Figure 9.10.

Il est possible d’observer que les valeurs de confiance se dégradent avec les inférences. Comme expliqué dans le chapitre 7, lorsqu’une conclusion est dérivée, sa confiance est plus basse que celle de ses parents (sauf pour la révision). Nous constatons que pour certaines règles (comme l’abduction ou l’induction), les valeurs de confiance obtenues sont déjà très faibles (0,0555 pour l’itération 7 et 0,0205 pour l’itération 8). La raison, c’est que les expressions calculant la valeur de la confiance pour ces règles font intervenir le constant de prudence dans le dénominateur. La valeur k = 10 que nous nous sommes fixées baisse les valeurs de confiances pour les conclusions générées. Pour k = 1 les deux valeurs de confiances auraient été respectivement 0,37 et 0,11). Avec une valeur de k élevée, DesigNAR ne devient pas immédiatement sûr de ses connaissances ; il lui faudrait ressentir les mêmes connaissances dans l’environnement plusieurs fois afin que celles-ci aient de valeurs de confiances de plus en plus élevées (grâce à la révision).

Figure 9.10 Illustrations des étapes d’inférences 5, 7 et 8 et l’état du graphe résultant

Observons que le lien créé dans l’itération 8 est un lien qui a déjà été observé dans l’environnement (et qui a été écrit dans la mémoire) avec une valeur de vérité différente. Ceci n’empêche pas DesigNAR de recréer ce lien sur la base des autres observations ou résultats d’inférences. Ce genre de situation est naturel pour notre système et l’ambiguïté est résolue par le système soit par une révision soit par un choix.

9.2.5 Apprentissage et ancrage des connaissances

Nous avons déjà eu un premier aperçu de l’apprentissage de l’agent grâce aux inférences dans le paragraphe précédent. Quel effet cet apprentissage a sur le

sens des concepts de l’agent ? Comment l’ancrage d’un concept a lieu ? L’ancrage d’un concept implique fonder les sens de celui-ci sur d’autres connaissances ; c'est-à-dire, de la situer par rapport à d’autres concepts observés ou formés en établissant des relations et de construire ainsi un sens pour le concept en question. Prenons le cas du concept Separation_1 pour voir comment il est ancré par l’assistant au cours de son évolution.

Figure 9.11 Quelques étapes d’inférences sur le concept Separation_1

Au moment de sa création par l’utilisateur, aucune connaissance n’est disponible sur celui-ci. L’agent acquiert ses premières connaissances à propos de ce concept à partir de l’environnement ; Separation_1→Aspirateur et

Separation_1→Separation. Lorsque l’agent continue son cycle, il commence à établir des liens entre ce concept et d’autres. Dans l’immédiat ce sont des concepts qui ont été observés avec celui-ci. Lorsque l’agent aura plus de connaissances et d’expériences, des liens avec des concepts acquis dans d’autres projets pourront être établis.

Figure 9.12 L’évolution du sens du concept Separation_1

La Figure 9.11 montre plusieurs étapes d’inférences dans lesquelles des liens entre Separation_1 et d’autres concepts sont établis. Ainsi, plus DesigNAR fait des inférences, plus de liens sont établis avec d’autres concepts (sujet à la capacité des listes) : le sens du concept s’enrichit et celui-ci est ancré sur d’autre concepts. Nous pouvons constater cela de la Figure 9.12 où les liens du Separation_1 augmentent considérablement lorsque le nombre de cycle d’inférence augmente.

En regardant ces figures, il est possible de penser que, étant donné un concept, DesigNAR finit par établir tous les liens possibles avec tous les autres concepts qu’il a. Ceci n’est pas le cas. La raison pour laquelle

Separation_1 est liés à la quasi-totalité des autres concepts, c’est que, pour l’instant l’agent connaît très peu de concepts qui sont tous activés (comme ils viennent d’être observés récemment). En tout cas, comme la taille des listes de la mémoire est limitée, indépendamment du nombre de conclusions générées, les relations les plus puissantes sont gardées.

Comme nous pouvons le constater dans les Figure 9.11 et Figure 9.13, les valeurs de vérité des liens construits ne sont pas proches du tout. Par exemple, les liens intensionnelles avec Function et avec Artifact sont relativement importants avec les valeurs de vérités respectifs (0,36; 0,3528) et (0,42; 0,2911).

Extension Intension Similarité (7) Vacuum (0,6;0,0555) (68) Filtration_1 (0,6;0,0033) (74) Function (0,6;0,0007) (79) Vacuum_1 (0,36;0,0198) (88) Moteur_1 (0,36;0,3528) (93) Filtration_1&Vacuum_1 __________(0,84;0,9801) (100) Aspirateur(0,7;0,0085) (127) Moteur (0,216;0,0009) (216) Filtration (0,36;0,0044) (283) Behavior(0,6;0,0124) (360) Sac_1 (0,36;0,3528) (16) Filtration (0,6;0,0555) (19) Function (0,36;0,3528) (33) Artifact(0,42;0,2911) (110) Vacuum (0,36;0,0045) (173) Behavior(0,36;0,0198) (185) Moteur (0,6;0,0124) (210) Vacuum (0,5830;0,0595) (335) Aspirateur (0,60;0,990) (363) Filtration_1(0,1561;0,0013) (387) Function(0,4286;0,0010)

Figure 9.13 Le contenu du concept Separation_1 (Après 400 itérations ; les valeurs d’activation et de durabilité sont omises)

Tandis que les liens extensionnels avec Engine ou Function sont assez faibles avec les valeurs de vérités respectifs (0,216 ; 0,0009) et (0,6; 0,0007). Du point de vue du système, la distance conceptuelle des deux derniers concepts sont plus élevés que les deux premiers par rapport au concept Separation_1. Plus le nombre d’itération qu’il faut pour établir la relation avec le concept de départ augmente, plus important devient la distance conceptuelle. Plus la distance conceptuelle augmente, moins est la contribution d’un concept au sens du concept du départ. La Figure 9.13 donne le contenu du sens du concept Separation_1 après les 400 premières itérations.

Nous avons vu dans le chapitre 8 que la sélection des éléments à traiter par le système est aléatoire, bien que la sélection soit biaisée fortement en faveur des éléments les plus forts (les concepts les plus actifs, les tâches les plus urgentes, les règles les plus sûres). Cette caractéristique non déterministe du système fait que, si nous répétions l’exemple que nous venons de voir plusieurs fois (avec les mêmes conditions de départ), la plupart des conclusions générées seront éventuellement retrouvées, mais l’ordre des inférences va très probablement être différent. Comme le système oublie les relations relativement faibles, les conclusions retrouvées correspondent aux relations les plus fortes (par exemple, pour Separation_1, les relations avec

Figure 9.14 Les deux termes composés crées par DesigNAR 9.2.6 Formation de termes composés et C/K/E

Comment les termes composés sont formés et leurs sens sont construits ? Dans les exemples précédents, nous avons vu des exemples d’utilisation de règles d’inférences comme la déduction, l’induction et l’abduction. Nous savons que les termes composés se forment par la règle de formation de termes composés (voir paragraphe 7.2.6). A priori, cette règle peut être appliquée à deux termes quelconques pour former un terme composé. En particulier, elle peut admettre comme argument des termes composés. De cette manière, il devient possible pour l’agent de construire une hiérarchie de termes élaborés à partir des éléments senti dans l’environnement. Cependant, dans notre système son usage est restreint par certaines contraintes : les deux arguments doivent appartenir à la même catégorie (c'est-à-dire, être tous les deux des fonctions ou des comportements ou des structures) et ils doivent être des instances et non pas des schémas. Ainsi, à partir des deux relations

: _1 :

F Separation →A Aspirateur et

: _1 : _1

B Vacuum →F Separation

il n’est pas possible de former un terme composé AspirateurVacuum_1. Toutefois, à partir des relations

: _1 : _1

B Filtration →F Separation et

: _1 : _1

B Vacuum →F Separation ,

il est possible de former un terme composé B Filtration: _1Vacuum_1. Il existe une raison simple pour cette restriction ; le but est d’avoir des groupes de termes homogènes qui peuvent être directement utilisés pour faire des suggestions.

Figure 9.15 Formation de termes composés: Une disjonction sémantique

Ainsi, tandis que le terme AspirateurVacuum_1 n’a pas de grande utilité étant donné la forme des suggestions du système, le terme

: _1 _1

B Filtration Vacuum peut être suggéré à partir d’une relation

: _1 _1 : _1

B Filtration Vacuum →F Separation , si cette relation est formée. Etant donnée ces restrictions, dans l’exemple de l’aspirateur, le système ne peut créer que deux termes composés ; Figure 9.14.

Par ailleurs, le système est configuré de telle manière que, lorsqu’il est possible de composer des termes, ils sont composés. Le but est d’obtenir le