vignette|Machine « Symbolics 3640 lisp » exécutant le système d'exploitation Genera dans l'exposition de la Retro-Computing Society of RI au Vintage Computer Festival East 1.0 les 28 et 29 juillet 2001.
Un système expert est un outil simulant ou visant à imiter le jugement ou comportement d'un humain disposant d'une expertise dans un domaine particulier. Il s'agit de l'une des voies visant l'intelligence artificielle.
Plus précisément, un système expert est un logiciel capable de répondre à des questions. En effectuant un raisonnement logique à partir de faits et de règles préétablies, il peut servir notamment comme outil d'aide à la décision. Dendral, premier système expert, permettait d'identifier les constituants chimiques.
Historique Le premier système expert, Dendral, est créé en 1965 par les informaticiens Edward Feigenbaum, Bruce Buchanan, le médecin Joshua Lederberg et le chimiste Carl Djerassi. Il permet d'identifier les constituants chimiques d'un matériau à partir des techniques de spectrométrie de masse et de résonance magnétique nucléaire, mais ses règles sont mélangées au moteur. Il est par la suite modifié pour en extraire le moteur de système expert nommé Meta-Dendral.
En 1972-73 est créé , un système expert de diagnostic de maladies du sang et de prescription de médicaments, avec un vrai moteur et une vraie base de règles. Ses règles sont affectées de coefficients de vraisemblance affectant chacune d'entre elles d'un poids relatif aux autres. Le moteur produit un chaînage avant simple tout en calculant les probabilités (au sens bayésien) de chaque déduction, ce qui rend difficile d'expliquer la logique de son fonctionnement et encore plus d'en détecter les contradictions. Quant aux experts, ils sont obligés de trouver des poids de vraisemblance pour chacune de leurs inférences, démarche complexe, peu naturelle et éloignée de leur mode de raisonnement, en tout cas conscient.
Opérationnel dans les années 1990, le projet Sachem (système d'aide à la conduite des hauts fourneaux en marche, chez Arcelor) est conçu pour piloter des hauts fourneaux en analysant les données fournies en temps réel par un millier de capteurs. Le projet a coûté, entre 1991 et 1998, environ d'euros., et le système économise environ par tonne de métal.
Fonctionnement Composition Un système expert se compose de trois parties : une base de faits ; une base de règles ; un moteur d'inférence.
Le moteur d'inférence est capable d'utiliser faits et règles pour produire de nouveaux faits, jusqu'à parvenir à la réponse à la question experte posée.
La plupart des systèmes experts existants reposent sur des mécanismes de logique formelle et utilisent le raisonnement déductif. Pour l'essentiel, ils utilisent des règles d'inférence de la forme suivante (syllogisme) : Si P est vrai (fait ou prémisse) et si on sait que P implique Q (règle), alors Q est vrai (nouveau fait ou conclusion).
Les plus simples des systèmes experts s'appuient sur la logique des propositions (dite aussi « logique d'ordre 0 »). Dans cette logique, on n'utilise que des propositions, qui sont vraies, ou fausses. D'autres systèmes s'appuient sur la logique des prédicats du premier ordre (dite aussi « logique d'ordre 1 »), que des algorithmes permettent de manipuler aisément.
Il faut maintenir une certaine cohérence de l'ensemble des règles : Incompatibilité (R1 : si A et B alors C ; R2 : Si A et B alors D). Redondance (R1 : si A alors B ; R2 : si C alors B ; sauf si on applique des coefficients de certitude différents). Bouclage (R1 : si A alors B ; R2 : si B alors C ; R3 : si C alors A).
Enfin, pour faciliter la description de problèmes réels sous forme de règles logiques, on a recours à des opérateurs ou des valeurs supplémentaires (notions de nécessité/possibilité, coefficients de plausibilité).
Moteurs d'inférence
Il existe de nombreux types de moteurs, capables de traiter différentes formes de règles logiques pour déduire de nouveaux faits à partir de la base de connaissance.
On distingue souvent trois catégories, basées sur la manière dont les problèmes sont résolus : les moteurs dits à « chaînage avant », qui partent des faits et règles de la base de connaissance, et tentent de s'approcher des faits recherchés par le problème ; les moteurs dits à « chaînage arrière », qui partent des faits recherchés par le problème, et tentent par l'intermédiaire des règles, de « remonter » à des faits connus ; les moteurs dits à « chaînage mixte », qui utilisent une combinaison des deux approches (chaînage avant et chaînage arrière).
peuvent être partiellement pilotés ou contrôlés par des méta-règles qui modifient leur fonctionnement et leurs modalités de raisonnement.
Pour répondre à des objectifs spécifiques, ces moteurs d'inférence peuvent être doublés dans certains systèmes experts dits « inverses » ou « bimoteurs », ou encore être complétés par d'autres systèmes d'analyse pour constituer des systèmes experts dits « hybrides »..
Acquisition des connaissances Si les algorithmes de manipulation de faits et de règles sont nombreux et connus, la détermination de l'ensemble des faits et règles qui vont composer la base de connaissances est un problème délicat. Comment décrire le comportement d'un expert face à un problème particulier, et sa manière de le résoudre, là est la question. Car ce que l'on souhaite obtenir n'est ni plus ni moins que l'expérience, la connaissance pratique de l'expert, et non la théorie que l'on peut trouver dans les livres ni exclusivement les règles logiques d'inférence. Équivalents des méthodes d'analyse de l'informatique traditionnelle, des méthodes d'acquisition des connaissances sont développées.
Les systèmes d'apprentissage automatique constituent une voie nouvelle d'acquisition des connaissances.
Complexité et contrôle des systèmes experts
L'intelligence artificielle devrait permettre de résoudre le problème de la complexité, mais avec le risque d'une perte de contrôle des systèmes dits « intelligents »..
Applications Les systèmes experts sont utilisés dans des domaines tels que : les moteurs de recherche sur Internet, qui permettent à partir d'une requête, de trouver les pages web correspondantes ; les outils d'aide au diagnostic médical ; les outils d'aide au diagnostic des pannes automobiles ; les outils spécialisés pour aider un ingénieur à concevoir un produit. Les premiers, développés par l'IBM, sont Dendral, puis Mycin ; les programmes destinés aux joueurs d'échecs ou de go (comme le programme Deep Blue), qui peuvent analyser les positions du jeu et proposer le meilleur coup possible pour le joueur ou l'ordinateur« Deep Blue, le champion du monde d'échecs » sur ibm.com. ; au bridge, la problématique a pu être résolue par Will-Bridge grâce à un système expert couplé à un moteur de simulation créant ainsi le concept d’IA hybride, l’invention d’un système expert inverse ou bimoteur ayant par ailleurs permis de résoudre le problème de l'« explication négative »« Système Expert bimoteur » sur will-bridge.com. ; les outils d'aide à la décision pour les entreprises ; les systèmes de recommandation (pour les achats en ligne par exemple) utilisant la logique floue et un chaînage arrièreVoir Tom Sawyer Software. ; les systèmes de reconnaissance vocale ; les systèmes de traduction automatique ; les systèmes de traitement du langage naturel.
Autre exemple, le logiciel OpenCogPrime, projet open source visant à construire une intelligence artificielle générale, dont la partie principale est basée sur un système expert hétérogène, utilise différents types de moteurs d'inférenceOpenCogPrime: General Artificial Intelligence Framework - Open Source Project.AGIR (Artificiel, Gestion de l’Information et Raisonnement) : logiciel d'aide à la décision. ;
Notes et références
Voir aussi Bibliographie — Édition en anglais : Alain Bonnet, Jean-Paul Haton, Jean-Michel Truong, Système experts : vers la maîtrise technique, InterÉditions, 1986. . Michel Le Seac'h, Développer un système expert, 1989, édiTests. James Ignizio, Introduction to Expert Systems, 1991 . Peter Jackson, Introduction to Expert Systems, 1998 . Joseph C. Giarratano, Gary Riley, Expert Systems, Principles and Programming, 2005 .
Articles connexes
Catégorie:Intelligence artificielle Expert