Journal d'un terrien

Web log de Serge Boisse

On line depuis 1992 !

Recherche personnalisée

Les systèmes experts

Ah les systèmes experts ! Tarte à la crème de l’IA depuis les années 1970, et jusqu’à 1990 environ, ces logiciels ont pour but d’imiter le raisonnement d’un expert dans un domaine précis, qu’il s’agisse du diagnostic des infections sanguines, de la réparation d’une voiture, de la configuration d’un système d’ordinateurs interconnectés, ou du pilotage d’un haut fourneau.

Les systèmes experts sont en général basés sur la logique, c’est à dire qu’ils utilisent des règles de raisonnement comme le modus ponens ou le modus tollens, que nous avons déjà évoquées. On fournit au logiciel « nu », que l’on appelle le shell du système expert, un ensemble de connaissances sous formes de règles du genre :

Règle batterie-en-panne :

Si le moteur ne démarre pas
et si le démarreur ne tourne pas
et si les phares ne s’allument pas
Alors c’est probablement la batterie qui est en cause.

Les systèmes experts réels possèdent de quelques centaines à quelques milliers de règles de ce genre. Ces règles sont utilisées par ce que l’on appelle un moteur d’inférence, qui déduit de nouveaux faits à partir des faits connus et des règles applicables, ou bien qui demande à l’utilisateur lorsqu’il lui manque un certain fait pour pouvoir « déclencher » une règle spécifique qui pourrait conduire à la résolution du problème.

Lorsqu’il faut résoudre un problème spécifique, on lance le système expert. Celui pose alors des questions à l’utilisateur, questions qui deviendront de plus en plus précises avec le temps. Voici un exemple de dialogue :

SE : quel est votre problème ?
Utilisateur : le moteur ne démarre pas
SE : est-ce que le démarreur tourne ?
utilisateur : non
SE : est-ce que les phares s’allument ?
utilisateur : non
SE : alors c’est probablement la batterie qui est en cause.
utilisateur : pourquoi ?
SE : j’ai appliqué la règle « batterie-en-panne ». Voulez vous que je vous l’affiche ?
utilisateur : quelles sont les autres possibilités ?
SE : <quelles sont les autres règles applicables compte-tenu des réponses obtenues> Je ne connais pas d’autre règles applicables.

Cet exemple volontairement simpliste montre néanmoins que les systèmes experts sont intéressants parce qu’ils sont capables de garder la trace des règles qu’ils ont utilisées, et d’indiquer à l’utilisateur comment ils sont parvenus à tel ou telle conclusion. Notons que le système simplifié de notre exemple répond « c’est probablement la batterie » dans un premier temps, puis qu’il indique ensuite à l’utilisateur qu’il ne connaît pas d’autres règles, ce qui fait que c’est certainement la batterie, mais qu’il est incapable de s’en rendre compte parce que la règle dit seulement « probablement ». Notons aussi que, puisque toutes les connaissances lui sont fournies sous forme de règles, le système répond à la question « pourquoi » en citant la ou les règles qu’il a appliquées, mais qu’il est incapable de connaître le sens de la règle, c’est à dire qu’il ne sait pas si la règle est vraie dans tous les cas, ou seulement dans certains cas, ou même si elle est contradictoire avec une autre règle.

Lorsque les informaticiens ont voulu construire de grands systèmes experts, avec des milliers de règles, le problème de la cohérence et de la complétude du jeu de règle est devenu redoutablement ardu. La mise au point d’un tel système devient un cauchemar : que se passe-t-il si on ajoute ou supprime une règle, ou si on modifie ses prémisses ou sa conclusion ? Comment prouver qu’un système qui gère une centrale nucléaire, ou bien un système de contrôle aérien automatique,  saura réagir correctement dans tous les cas ? Lorsque, dans une aciérie, tel convoyeur à rouleaux est remplacé par un nouveau modèle, dont les capteurs sont différents, quelles sont les règles qu’il faut modifier ?

De plus, bien que les systèmes experts soient censés reproduire le raisonnement d’un expert, les experts ne raisonnent pas comme des SE. Un expert humain « sent » le résultat, et vérifie ensuite ses hypothèses en testant si elles sont compatibles avec les faits connus. Cela a donné lieu à un nouveau métier, celui d’ingénieurs de la connaissance, moitié psychologues et moitié informaticiens, dont le rôle consiste à interroger l’expert et à écrire les règles du SE. Mais en général les règles sont tellement spécifiques que l’expert, sans le contexte, ne peut valider le travail de l’ingénieur.

Une règle comme (pour le pilotage d’une centrale nucléaire) :

Si la pression au point K9 est supérieure à 100 bars
et si la pression en sortie du condenseur secondaire est inférieure à 80 bars
et si l’hypothèse d’une petite brèche dans le collecteur 12 est permise,
et si la règle qui a permis cette hypothèse ne fait pas appel à la mesure de pression au point Q11,
Alors l’hypothèse de la petite brèche dans le collecteur 12 est invalide.

ne veut probablement rien dire pour l’expert, qui doit réfléchir un long moment avant de retrouver (s’il y arrive !)  le cas de figure auquel il avait pensé pour que l’ingénieur de la connaissance crée cette règle, peut-être des années auparavant. Et si le capteur de pression K9 a été supprimé, que devient la  règle ?

Les systèmes experts manquent cruellement de souplesse, ils sont conçus pour résoudre un problème très complexe dans un environnement très spécifique, et lorsque le problème change un tant soit peu, personne ne sait, même pas l’expert humain, ce qu’il faut modifier ou pas, et parfois il faut tout reconcevoir depuis le début !

Pour toutes ces raisons, les systèmes experts sont retombés dans l’oubli, ou alors on n’utilise plus ce terme, mais celui de « base de connaissance », bien plus neutre ! Un exemple d’une telle base de connaissance est celle que Microsoft utilise dans le centre d’assistance de Windows.

Bien sûr, l’idée de système expert est séduisante, et nombre de chercheurs continuent à réfléchir sur les structures de contrôle, et à des stratégies pour faciliter la maintenance d’un SE, telle que la partition de la base de règles en plusieurs « mondes », etc. Personne ne dit plus qu’une intelligence artificielle générale devrait absolument comporter un ou plusieurs modules « systèmes experts », mais beaucoup de théoriciens de l’IA sont persuadés qu’une IA Vraie devrait au minimum comporter une base de connaissance reposant sur la logique et sur un moteur d’inférence logique.

Je crois qu’un système expert pourrait être utile à une intelligence artificielle déjà bien évoluée : une telle IA, qui saurait se modifier elle-même, pourrait créer un SE pour son propre compte, en sachant ce qu’elle fait, dans le but d’accélérer certains de ses propres raisonnements. L’IA pourrait considérer que le jeu vaut la chandelle dans certains cas. Mais ce n’est ni un SE, ni une base de connaissance, au sens ou on l’entend généralement, qui fourniront à notre IA la capacité de « savoir ce qu’elle fait ». Nous allons reparler plusieurs fois de ce sujet dans la suite de ce livre, en particulier à propos du système CYC et a propos de « l’IA Germe. »


NB: cette page est extraite de mon livre "L'esprit, l'IA et la SIngularité".

La suite >:Etaoin Shrdlu (si !)

 

Home Mes livres Mes tableaux Plan du site

Partagez / votez pour cette page :

Journal d'un terrien

Commentaires (0) :

Page :



Ajouter un commentaire (pas besoin de s'enregistrer)

Pseudo :
Message :


image de protection
En cliquant sur le bouton "Envoyer" vous acceptez les conditions suivantes : Ne pas poster de message injurieux, obscène ou contraire à la loi, ni de liens vers de tels sites. Respecter la "netiquette", ne pas usurper le pseudo d'une autre personne, respecter les posts fait par les autres. L'auteur du site se réserve le droit de supprimer un ou plusieurs posts à tout moment. Merci !
Ah oui : le html genre <a href=...>, <b>b etc. ne fonctionne pas dans les commentaires. C'est voulu.
< Retour en haut de la page