next up previous contents
Next: Perspectives Up: Bilan Previous: Avantages

Inconvénients

  Les inconvénients de l'architecture sont multiples, mais chacun d'entre eux est soit une contrepartie d'un de ses avantages, soit un problème dû à la jeunesse du système...

Sous-optimalité :
 les résultats fournis peuvent être qualifiés de sous-optimaux, c'est-à-dire que le résultat optimal n'est pas forcément fourni à chaque exécution (mais cela dépend grandement de l'application et de sa difficulté). C'est une contrepartie à la créativité et à la diversité des résultats fournis.
Indéterminisme :
toujours à cause de la variété des résultats, due à la gestion particulière du déterminisme, les résultats ne sont pas prévisibles, ils dépendent d'une série de choix aléatoires. Ce qui, comme nous l'avons dit dans la partie Avantages - Créativité est un inconvénient dans les applications où l'on cherche une solution optimale plutôt qu'une solution rapide.
Pas d'explication :
 le système est incapable de fournir une explication aux résultats fournis, tout comme un humain n'est pas forcément capable de dire comment il a reconnu un visage, ou d'expliquer une impression de déjà-vu. Une manière de faire serait de transcrire toutes les actions, et l'état du système (Réseau de Concepts et Blackboard) à chaque cycle, mais il faudrait encore les interpréter. BASCET n'est clairement pas ce qu'on appelle un « système expert ».
Beaucoup de paramètres différents :
 les paramètres à régler sont un frein à l'exploitation du système, parce qu'ils sont nombreux et ont une influence non négligeable sur son comportement. La difficulté principale du réglage de ces paramètres vient de leur forte inter-dépendance. En modifier un signifie aussi modifier l'influence des autres sur le comportement du système. Il est donc souhaitable d'étudier chaque paramètre séparément, en lançant une procédure de test pour chaque changement d'un seul paramètre. Nous n'avons pas pu prendre le temps d'effectuer ces tests séparés, car nous avons jugé plus urgent de construire d'abord un système qui fonctionne entièrement. Cette partie de réglage du modèle reste à faire...
Construction du Réseau de Concepts:
 la construction d'un modèle pour un système à base de connaissance est en général un problème difficile, qui réclame deux expertises : celle du système et celle du domaine. Ceci est vrai aussi pour BASCET. Il y est en général difficile de déterminer les poids des liens, les importances conceptuelles des noeuds, leurs taux de désactivation, ainsi que les taux d'urgence de leurs agents. On l'a vu plus haut, ces paramètres conditionnent le comportement du système. Mais il existe des applications dans lesquelles certaines de ces valeurs sont plus faciles à fixer : par exemple, lorsqu'on utilise des co-occurrences entre noeuds, on peut utiliser la formule d'influence d'un noeud sur l'autre.
Cohérence des agents (satisfaction) :
 une des principales difficultés de l'écriture (ou de la réutilisation) des agents est la cohérence de leurs interventions dans le Blackboard. En effet, lorsque des agents différents y construisent des objets en leur donnant une satisfaction , il faut faire attention à ce qu'un objet dont la valeur de satisfaction est plus élevée que celle d'un deuxième objet soit vraiment plus satisfaisant. En effet, c'est souvent cette valeur qui permet de décider, lorsqu'un agent veut remplacer un objet par un autre, s'il peut le faire ou non. Il est donc primordial que les échelles de satisfaction des différents agents soient très proches, sinon identiques.
Inhibition des agents :
 lorsqu'un noeud a été instancié, c'est qu'un agent de ce noeud en a construit une instance dans le Blackboard. Par conséquent, le noeud est activé, et se désactivera lentement (parce qu'il a au moins une instance). Or quand un noeud est activé, il poste ses agents dans le Réservoir d'Agents. Ce qui fait que cet agent aura une forte valeur d'urgence, et donc de fortes chances d'être exécuté -pour rien- très rapidement. Mais il se peut que les instances du noeud soient ensuite détruites pour diverses raisons par des agents d'autres noeuds. Il faut donc que les agents du noeud soient relancés pour voir si c'était une erreur, auquel cas, ils pourraient reconstruire l'objet. Nous avons donc introduit un mécanisme d'inhibition des agents : un agent peut s'inhiber pour un certain nombre de cycles. C'est ce nombre qu'il est difficile de déterminer (à estimer selon les applications et le Réseau de Concepts). De la même manière, il peut réactiver des agents inhibés s'il sait qu'après avoir construit un objet, la suite logique est la construction d'une instance d'un autre noeud. C'est une sorte de raccourci pour anticiper le comportement du Réseau de Concepts.

next up previous contents
Next: Perspectives Up: Bilan Previous: Avantages
Francois Parmentier
6/19/1998