FR 2607284 A1 19880527 FR 8711692 A 19870818 La présente invention concerne la représenta- tion graphique de la connectivité fonctionnelle existant entre les éléments de connaissances dans un système basé sur les connaissances ou le savoir ou le système dit "expert", permettant d'assister l'utilisateur dans la conception et la maintenance des applications utilisant les connaissances ou le savoir d'un expert, et elle concerne plus particulière- ment un mécanisme de balayage ou de lecture d'une base de connaissances. Le système utilisant les bases de connaissances ou système expert offre la possibilité de coder les connais- sances ou le savoir de manière déclarative dans un groupe d'éléments facilement modifiables qui sont traités par un programme central dans un domaine le plus général possible. Cette programmation évoluée permet d'implémenter des program- mes complexes (diagnostic, planification, conception, etc.). Cependant, les personnes à l'origine de la constitution des connaissances ou du savoir (les experts dans le domaine), doivent décomposer leurs connaissances afin de créer une base dite de connaissances. Cette décomposition ou "décompilation" se réfère au besoin de traduire les connaissances humaines en une collection d'éléments dans un format donné (parfois appelés règles, cadres, schémas, contextes, etc.). Il existe un nombre illimité de problèmes et de leursreprésentations et,par conséquent,desdites règles (élé- ments de connaissances constituant une tranche ou un palier de connaissances). Les liens existant entre ces règles constituent un aspect fondamental de la base de connaissances. Chaque règle peut être considérée comme appartenant à l'un des trois jeux suivants: (1) elle constitue,en partie ou entièrement,un argument d'une autre ou de plusieurs autres règles. En d'autres termes, son activation (définie comme étant son traitement à tout moment par le programme central) induit l'activation d'autres règles, conduisant à la progression du programme. (2) Elle comporte elle-même un certain nombre d'arguments, c'est-à-dire d'autres règles dont l'activation déclenchera sa propre activation par le programme central. (3) Elle est à la fois l'argument (non nécessai- rement unique) de l'une ou plusieurs autres règles et elle comporte un ou plusieurs arguments qui lui sont propres. Généralement, le fonctionnement des systèmes utilisant les bases de connaissances conduisent à une séquence de telles activations, orientée par l'information d'entrée et la nature desdites règles. On doit faire la distinction entre les liens possibles et les liens réels. Les liens possibles constituent le jeu de tous les liens qui peuvent être envisagés dans une base de connaissances donnée, tandis que les liens réels sont un sous-jeu du jeu précédemment cité qui correspond aux liens réellement uti- lisés pour résoudre un problème donné. La présente invention concerne l'un et l'autre des deux types de liens. Un facteur crucial dans le développement d'une base de connaissances ou d'un jeu de règles de connaissances permettant de résoudre un problème de nature quelconque, réside dans la possibilité de restructurer la carte des liens entre les différentes tranches de connaissancesou règles de manière à obtenir une vision globale de la base de connaissances. En réalité, il est plus facile de se référer à une carte de relations qu'à une liste de règles apparemment non reliées les unes aux autres. L'utilisation des éditeurs de textes pour visualiser les listes de règles nécessite l'écriture manuelle de ces relations. Dans certaines circonstances, il a été possible de visualiser sur un écran une liste de règles apparentées à une règle particulière. De telles listes peuvent être obtenues, mais ne peuvent être mises en relation davantage, ce qui ne permet pas d'obtenir une vue globale de la base de connaissances et nécessite un travail manuel supplémentaire. Dans certains cas, ce travail manuel a constitué la pierre d'achoppement, tant sur le plan financier qu'humain, empêchant le développement des applications avec de tels systèmes. La présente invention concerne une méthodologie graphique permettant d'afficher automatiquement (et ainsi mettre à portée de l'utilisateur) les différents liens exis- tant entre les éléments de connaissances ou règles, indépen- damment de la nature du problème à résoudre, de la représenta- tion des connaissances, du format des règles et de l'équipe- ment matériel utilisé. La présente invention remplace par un procédé automatique le travail manuel de mise en liaison des règles entre elles. Toute règle donnée peut être affichée sur un écran et différents modes de commande permettent à l'utili- sateur d'afficher l'un quelconque ou tous les liens existant entre une règle et les autres, de façon récursive si néces- saire. Les liens peuvent être d'ordres de précision variables et sont de types différents. Les ordres de précision relèvent de la notion selon laquelle on peut relier une règle à une autre sur le graphique résultant en spécifiant simplement cette relation générale. Dans d'autres cas, la représentation graphique du lien peut relier chaque règle par les éléments très précis de ces règles qui constituent cette relation (par exemple, un élément d'une règle peut être une action modifiant la valeur d'un autre élément qui est utilisé dans une autre règle qui,à son tour,sera activée si la première l'est). Le but de la présente invention est d'apporter un jeu d'outils graphiques permettant d'afficher, de vérifier et de maintenir les relations fonctionnelles existant entre les éléments de connaissances dans un système expert utili- sant les bases de connaissances. Le concept central de l'invention est la possibi- lité de sélectionner, à tout moment pendant l'utilisation du système, une partie de l'une des règles affichées (ou de la seule règle affichée) et d'exécuter une commande qui affiche automatiquement le ou les liens d'une certaine nature existant entre la règle choisie et les autres règles. Ces dernières sont ainsi dynamiquement ajoutées au dessin affiché. La même fonction peut être appliquée de façon récursive dans toute direction jusqu'à ce qu'il n'y ait plus d'autres règles de connaissances à afficher. Le dessin résultant peut être de plus grande dimension que l'écran de visualisation et les mécanismes de fenêtre graphique ou de défilement d'écran permettent à l'utilisateur de se déplacer d'une zone du graphique total à une autre. Une série de fonctions permet de retirer un lien et sa ou ses règles correspondantes de l'affichage, afin de créer un nouveau groupe de règles (un groupe étant défini comme un jeu de règles reliées les unes aux autres graphiquement), et de modifier les paramètres de l'affichage en fonction de la nature des liens (voir annexe), l'état actuel de chaque objet (règles et leurs éléments, liens) et l'état global du système au moment de l'affichage. Le principal obstacle consistant à établir manuellement sur le papier les liens existant entre les règles de connaissances est ainsi considérablement minimisé étant donné que cette tâche est automatisée. La reconstruc- tion automatique permet un balayage ou une lecture dynamique à travers toute la base de connaissances, reconstruisant la structure macroscopique des connaissances nécessaires à l'utilisateur pour établir les relations adéquates au système. L'impact de l'invention se situe dans la vitesse de développement (construction et élimination des erreurs (déboggage)) d'une base de connaissances donnée et dans la maintenance de cette dernière. De plus, étant donné que de tels dessins peuvent être imprimés, l'invention constitue un outil unique permettant la coopération de plu- sieurs experts dans la réalisation d'une base de connais- sances, ce qui constitue un facteur déterminant dans le développement des bases de connaissances ou sytème expert. En réalité, la visibilité résultante des connaissances réduit considérablement le temps d'apprentissage du système par les premiers utilisateurs et les suivants du fait que le fonctionnement interne est rendu très visible et, par conséquent, accessible pour les perfectionnements et les modifications. Le mécanisme debalayagedynamique ("DBM"), agit comme un outil puissant pour la phase connue sous le nom de phase d'acquisition des connaissances, qui constitue un point essentiel dans les systèmes intelligents d'aujourd'hui et à venir. Il facilite l'énoncé des connaissances. En conséquence, et de manière plus significative, le mécanisme de balayage dynamique rend l'outil utilisant le système de base de connaissances accessible à des utilisateurs non experts dans le domaine de l'intelligence artificielle. Par conséquent, un objet de la présente invention est de fournir une interface graphique interactive pour un système de base de connaissances contrôlée par ordinateur. Un autre objet de la présente invention consiste à offrir dans un système de base de connaissances commandé par un ordinateur, une structure de connaissances visible qui est automatiquement construite par le système. Un autre objet encore de la présente invention est de fournir un système de connaissances commandé par ordi- nateur qui permette à l'utilisateur de balayer une base de connaissances pour visualiser et effectuer si nécessaire des modifications aux règles de connaissances et aux liens existant entre elles. Les objectifs ci-dessus et d'autres encore, les caractéristiques et avantages de la présente invention, res- sortiront davantage de la description ci-après de certains modes de réalisation préférés de l'invention conjointement avec les dessins annexés à la présente demande de manière non limitative. Sur ces dessins - la figure 1 représente un diagramme d'un sys- tème de base de connaissances mises sur ordinateur selon l'invention, - la figure 2 est un diagramme de l'architecture générale d'une implémentation selon l'invention, - les figures 3A à 8 illustrent des affichages sur écran destinés à expliquer le fonctionnement de l'in- vention, - la figure 9 est un organigramme illustrant le fonctionnement de l'unité centrale de traitement du système de l'invention pendant une session interactive de travail d'un utilisateur, avec le mécanisme de balayage selon l'invention, et - les figures 1OA à 10J représentent des parties d'affichage sur écran destinées à expliquer le fonctionnement de l'invention. On a récemment mis au point des systèmes infor- matiques conçus de manière à exécuter des programmes imitant le raisonnement humain. Ces systèmes reconnaissent des schémas logiques qui sont similaires à ceux reconnus par les humains, et établissent des raisonnements conduisant à des performances proches du travail d'un expert. Pour saisir le raisonnement d'un expert, un procédé connu sous le nom de "modélisation des connaissances" est utilisé. Ce procédé implique d'avoir un module de connaissances, à savoir des structures déclaratives décrivant les connaissances d'un expert (ce module maintient le savoir de l'expert) et des moteurs d'inférence (qui imitent le raisonnement logique de l'expert). Le système selon l'invention utilise les règles "si... alors... faire..." pour représenter les con- naissances d'un expert dans un domaine donné. Le système selon l'art antérieur faisait appel à des ordinateurs centraux dits "gros systèmes", tandis que la présente invention est destinée à être mise en applica- tion sur un micro-ordinateur ou ordinateur personnel comme représenté sur la figure 1. En se référant plus particulièrement à la figure 1, une unité centrale de traitement 10 qui peut être consti- tuée par un ordinateur personnel comportant une mémoire interne 12 et une mémoire externe 14 traite des données et autres instructions qui sont entrées interactivement par l'intermédiaire d'un clavier 16 lequel peut intégrer un dispositif 18 du type souris. Divers affichages graphiques illustrant l'utilisation interactive de l'ordinateur par l'utilisateur sont assurés par un moniteur 20. Une imprimante 21 peut également être connectée à l'unité centrale de trai- tement 10 pour une sortie sur imprimante, en réponse aux instructions données par l'intermédiaire du clavier 16 ou de la souris 18, des éléments choisis des relations existant entre les règles de la base de connaissances, comme expliqué ci-après. La figure 2 représente plus particulièrement l'architecture aénérale de l'invention telle que mise en oeuvre. L'unité centrale de traitement 10 comporte un système d'exploitation 22 et un programme d'application expert cons- titué d'un noyau de système expert 24, d'un compilateur de règles 28, d'un moteur d'inférence 26, d'un dispositif de balayage dynamique 30, et des moyens de réglage 32. L'infor- mation provenant de l'utilisateur est fournie au système au moyen des dispositifs périphériques d'interface 16 et 18. Les figures 3A, 3B et 4 décrivent plus particu- lièrement le fond du système de connaissances selon l'inven- tion. Les figures 3A, 3B et 4 illustrent des affichages qui apparaissent sur le moniteur 20 pendant l'utilisation du système. La fonction de l'éditeur de règles du système est illustrée sur la figure 3A. Cette dernière montre les règles sur lesquelles le système de connaissances est basé et l'utilisateur peut choisir lesquelles des règles sont à utiliser pour exécuter l'opération. La fonction interactive du système est classique en ce que un nombre multiple de fenêtres apparalt simultanément sur l'écran d'affichage du moniteur 20 et l'opérateur manipule une icône 34 apparais- sant sur l'écran au moyen de la souris 18. Lorsque l'icône est sur une fonction particulière que l'utilisateur a choisie, l'utilisateur peut actionner un bouton 36 sur la souris 18 ("cliquer") de sorte que l'unité centrale de traitement 10 exécute la fonction affichée. L'utilisateur peut amener la souris 34 sur le recoin 37 et en cliquant sur le bouton 36 peut provoquer le basculement des pages-écran vers l'avant ou vers l'arrière. Les règles sont indexées alphabétiquement par hypothèse. Les "boutons" représentés à droite sur la figure 3B permettent un déplacement rapide sur la liste. La sélection d'une opération basée sur une règle est réalisée en cliquant sur le bouton 36 tandis que le curseur 34 se trouve sur l'une des icônes à la partie inférieuÉde l'éditeur de règles. Sur l'écran représenté sur la figure 3A, on est en présence des opérations suivantes (de gauche à droite): (1) créer une nouvelle règle, (2) modifier la règle actuelle, (3) créer une nouvelle règle en recopiant la règle actuelle, (4) supprimer la règle actuelle, et (5) enregistrer la base de connaissances. Une fois que l'utilisateur a choisi une opération, une nouvelle interface graphique (voir figure 4) apparaît, laquelle constitue l'interface de développement principal. L'utilisateur peut entrer et modifier toutes les règles à par- tir de cette interface. La seule nécessité est de remplir les conditions, l'hypothèse, et les actions par le biais des menus déroulants représentés sur la figure 4, en utilisant le curseur 34 et le bouton 36 de la souris. L'interface de développement principal de base comprend les fentes ou "cases" IF (SI), THEN (ALORS), AND DO (ET FAIRE), et les fentes CONTEXT (CONTEXTE). L'utilisateur peut provoquer le déroulement d'un menu approprié en cliquant sur le bouton 36 tandis que le curseur 34 se trouve sur une fente ou case particulière. Le menu se trouvant sur le côté gauche de l'écran montre tous les tests disponibles pour former les conditions de règles suivantes: Test de conditions CANCEL (SUPPRIMER) Ne rien faire CLEAR (EFFACER) Effacer la case test YES and NO (OUI et NON) Tester les booléens >, fichier externe au format SYLK. Le menu représenté dans la partie centrale de l'affichage représenté sur la figure 5, qui chevauche les menus précédemment décrits, est destiné à entrer des argu- ments et des équations. Les fonctions COPIER DONNEES et COPIER HYPOTHESES sont disponibles à partir de ce menu. Une fois que la règle a été entrée, le bouton "OK" s'assombrit si la règle a été structurée de façon :r:recte. Si cela n'est pas le cas, en cliquant sur le bouton CHECK (VERIFIER),on provoque l'illumination de la fente ou case annexe. Si un élément d'information a été utilisé de façon incorrecte, mais la règle correctement structurée, un message explicatif apparaîtra apres que l'on aura cliqué sur le bouton "OK". La description ci-dessus est destinée à montrer le contexte de la présente invention. Un problème quelconque peut être présenté de trois manières au système selon là présente invention: (1) la manière dite "orientée données", dans laquelle seulement quelques données sont connues concernant le problème. L'extraction de ces données initiales peut être automatisée en utilisant une formule d'entrée. L'infé- rence commencera par un chaînage avant ou déduction. (2) La manière dite "orientée hypothèses", dans laquelle l'utilisateur désire la confirmation ou l'argumen- tation sur une ou plusieurs hypothèses. L'inférence commen- cera alors par un chaînage arrière ou induction. (3) Une manière mixte combinant la manière "orientée données" et la manière "orientée hypothèses", dans laquelle l'utilisateur connaît un certain nombre de données et désire également vérifier une hypothèse. Le réseau ou tissu de relations existant entre les divers éléments de l'information connus et les règles qui les relient sont dénommés "réseau" et cette inter- relation est représentée graphiquement sur l'écran du moniteur 20 par une déclaration de données ou de règles et par des lignes tracées les reliant, comme illustré sur la figure 6. Cet écran peut être amené à apparaître par manipulation du curseur sur l'étiquette "Inspector" sur l'écran et par cliquage du bouton 36. Comme expliqué plus en détail ci-après, ce qui constitue une caractéris- tique principale de l'invention réside dans le fait que le réseau permet à l'utilisateur de balayer une base de connaissances de manière graphique à un degré visuel très élevé et, par conséquent,à voir clairement les relations existant entre les éléments de la base de connaissances. L'outil de balayage permet à la fois une navigation déduc- tive et évocative de la base de connaissances. Un système intelligent basé sur des règles doit raisonner à partir de faits (déductions ou chaînages avant) aussi bien qu'à partir d'objectifs (chaînages arrière ou inductions). La présente invention met en oeuvre ces deux types de raison- nement. Le procédé d'inférence basé sur des règles de connaissances utilisant la présente invention est amorcé par suggestion d'une hypothèse, la fourniture sponta- née d'une donnée, ou une combinaison des deux. Si une donnée quelconque est fournie spontanément, le système peut alors chaîner en avant (déduire) , enesayant d'établir autant d'hypothèses que possible. Ce chaînage avant peut être commandé par l'utilisateur en utilisant la fonction "Strategy" (figure 4). Si l'utilisateur ne suggère qu'une hypothèse, le système commence par chaîner en arrière (chaînage arrière ou induction) pour tenter de trouver suffisamment d'informations permettant de vérifier l'hypo- thèse. Cette information peut conduire le système à d'autres hypothèses à établir,lesquelles peuvent conduire à leur tour à d'autres hypothèses encore, et ainsi de suite. Afin d'avoir une vue globale de ces inter- relations, l'utilisateur positionne le curseur 34 sur la partie "Inspector" de l'écran d'affichage et clique sur le bouton 36 et choisit alors la fonction de vision globale. Il en résulte l'affichage représenté sur la figure 8. Pour obtenir une vue plus détaillée, l'utilisateur positionne le curseur 34 sur l'étiquette "Inspector", clique sur le bouton 36 et il en résulte l'affichage repré- senté sur la figure 6. En utilisant les icônes d'actionne- ment représentées sur la gauche de l'écran sur les figures 6 et 1OA à 10J, l'utilisateur peut se déplacer sur des ilôts de connaissances de la base de données. Les fonctions appelées par ces icônes autorisent une investigation dans des régions du graphique de connaissances qui ne présentent un intérêt que dans le contexte du moment. En se référant maintenant à la figure 6, l'icône 38 permet l'affichage d'un ilôt de connaissances unique ou multiple.L'icône 40 affiche les données qui convergent vers l'hypothèse courante. L'icône 42 affiche les hypothèses vers lesquelles cette donnée est orientée. L'icône 44 efface le lien courant. L'icône 46 focalise l'attention dusystème sur cette donnée ou hypothèse et l'icône 48 vérifie l'opportunité de cette donnée ou hypo- thèse. Le choix de ces icônes n'affecte que l'affichage et non pas le graphique de connaissances réelles de l'ensemble des règles. A partir de cette fenêtre, toutes les règles peuvent être vues par l'utilisateur et tous les liens existant entre ces règles peuvent être vérifiés. Ceci permet à la dynamique du procédé d'être contrôlée,en consti- tuant ainsi une aide au déboggage (suppression des erreurs) de la base de règles. En se reportant plus particulièrement à la figure 9, un organigramme des actions réalisées par l'unité centrale de traitement dans la mise en oeuvre de la naviga- tion ou du balayage des connaissances est représenté. En premier lieu, l'unité centrale de traitement 10 guette un cliquage du bouton 36 à l'étape 50. Il détecte l'endroit o le curseur 34 a été positionné dans la zone graphique et détermine à l'étape 52 si le bouton 36 a été cliqué une nouvelle fois tandis que le curseur 34 a été positionné par- dessus- une icône. Si la réponseest oui, l1 'unité centrale de traitement 10 guette un second cliquage à l'étape 54. Si ce cliquage n'a pas eu lieu, l'unité de traitement centrale poursuit jusqu'à l'étape 56 pour choisir une nouvelle icone pour affichage. Ensuite, l'unité centrale de traite- ment retourne à l'étape 50 pour observer un second cliquage sur le bouton 36 de la souris. En supposant qu'à l'étape 54 le bouton 36 de la souris a été cliqué une nouvelle fois, l'unité centrale de traitement poursuit jusqu'à l'étape 58 o il retourne le nombre de l'icône 38-48 sur laquelle le curseur 34 a été positionné. Après un double cliquage du bouton 36, l'unité centrale exécute les fonctions dictées par l'icône et met à jour le réseau à l'étape 62, après quoi l'unité centrale de traitement retourne de nouveau à L'étape 50. En supposant qu'à l'étape 52, il n'y ait pas eu de cliquage sur les icônes, l'unité centrale de traite- ment trouvera le descripteur de réseau à l'étape 64 et déterminera ensuite à l'étape 66 si l'opération appelée par ce descripteur est valide. Si elle ne l'est pas, l'unité centrale 10 retourne à l'étape 50. Si la réponse à l'étape 66 est affirmative, l'unité centrale 10 détermine à l'étape 68 si l'affichage doit changer. Si la réponse est non, l'unité centrale de traitement retourne à l'étape 50 et si la réponse est oui, l'unité centrale calcule les nouvelles règles de connaissancesou retire les anciennes à l'étape 70. A l'étape 72, l'unité centrale 10 trouve de nouvelles régions vides dans l'affichage ou en élimine certaines. A l'étape 74, l'unité centrale 10 remplit les zones par des tranches ou règles de connaissances. Le réseau est alors mis à jour à l'étape 62 et l'unité centrale 10 retourne à l'étape 50. Les figures 1OA-1OH illustrent les étapes par lesquelles le réseau de connaissances peut être rempli en utilisant le balayage à la fois dans les modes de chaînage arrière (figure 1OB) et chaînage avant (figure 10C). (Les termes "chaînage arrière" et "chainage avant" (induction et déduction) se réfèrent bien entendu au processus logique et non pas à une direction quelconque de l'affichage). Les figures 10A, 10B et 10C illustrent la façon dont l'utilisateur a exécuté à la fois des chaînages avant et arrière en positionnant le curseur sur la case "Yes valve-problem" (Oui problème de robinet) sur l'écran d'affichage du moniteur 20 après (par des séquences sépa- rées) avoir choisi les icônes 40 et 42. De manière similaire, les figures 10B et 10C illustrent comment l'utilisateur peut chaîner en avant en positionnant le curseur 34 sur la partie "current task is REF" (la tâche courante est REF) de l'affichage après avoir d'abord choisi l'icône 40. On trouvera sur les figures llA-llJ et 12A-12C le code source relatif à la caractéristique de balayage de connaissances selon l'invention, écrit en langage de program- mation Pascal. Il convient de noter que ledit programme renvoie à certains sous-programmes qui ne sont pas inclus dans l'annexe; cependant ces sous-programmes sont bien connus de l'homme de l'art et leui fonction et exécution, qui sont listées sur les figures llA-11J et 12A-12C, sont évidentes à la lecture de leurs titres. Il va de soi que la présente invention n'est pas limitée aux formes de réalisation décrites et représentées et est susceptible de diverses variantes sans sortir de son cadre. REVENDICATIONS 1. Système à base de connaissances, comprenant un ordinateur programmé, des moyens de mémorisation (14) pour emmagasiner une base de connaissances, cette base de connaissances comprenant à la fois des données et des règles reliant les données entre elles pour créer des hypothèses, ledit système étant caractérisé par un dispositif d'affi- chage (20) permettant de visualiser les inter-relations exis- tant entre les données et les hypothèses telles qu'elles sont emmagasinées dans le dispositif de mémoire, un dispo- sitif (16) permettant d'entrer les informations fournies par l'utilisateur et permettant à l'utilisateur du système d'entrer des données, des règles et de modifier ces données ou ces règles couramment (actuellement) emmagasinées dans le dispositif de mémorisation (12), etdes moyens permettant l'affichage interactif des inter-relations existant entre les éléments de la base de connaissances, de manière visuelle et interactive avec les modifications réalisées par l'utilisateur. 2. Système à base de connaissances selon la revendication 1, caractérisé en ce que le dispositif pour afficher visuellement de manière interactive les relations existant entre les éléments de la base de connais- sances comprend un moyen (16, 36) commandé par l'utilisateur pour choisir la quantité de relations ou liens du réseau de relations devant être affichée simultanément sur le dispositif d'affichage visuel (20). 3. Système à base de connaissances selon la revendication 1 ou 2, caractérisé en ce qu'il comprend de plus un, dispositif d'impression (21), le dispositif d'affi- chage interactif des inter-relations des éléments de la base de connaissances, comprenant un dispositif commandé par l'utilisateur pour déclencher l'impression par le dispositif d'impression d'un diagramme représentant les inter-relations de la base de connaissances choisies par l'utilisateur.