Système expert
Un système expert est un outil capable de reproduire les mécanismes cognitifs d'un expert, dans un domaine particulier. Il s'agit de l'une des voies tentant d'aboutir à l'intelligence artificielle.

Plus précisément, un système expert est un logiciel capable de répondre à des questions, en effectuant un raisonnement à partir de faits et de règles connues. Il peut servir notamment comme outil d'aide à la décision. Le premier système expert a été Dendral. Il permettait d'identifier les constituants chimiques.

Composition 
Un système expert se compose de 3 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 (logique aristotélicienne) et utilisent le raisonnement déductif. Pour l'essentiel, ils utilisent la règle d'inférence 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é, etc.).

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 de ces 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. Equivalents 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 permettra peut-être de résoudre le problème de la complexité, mais avec le risque d'une perte de contrôle des systèmes dits "intelligents" .

Historique 
Le premier système expert fut Dendral en 1965, créé par les informaticiens Edward Feigenbaum, Bruce Buchanan, le médecin Joshua Lederberg et le chimiste Carl Djerassi. Il permettait d'identifier les constituants chimiques d'un matériau à partir de spectrométrie de masse et de résonance magnétique nucléaire, mais ses règles étaient mélangées au moteur. Il fut par la suite modifié pour en extraire le moteur de système expert nommé Meta-Dendral.

En 1972-73 fut 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 étaient affectées de coefficients de vraisemblance affectant chacune d'entre elles d'un poids relatif aux autres. Le moteur produisait un chaînage avant simple tout en calculant les probabilités (au sens bayésien) de chaque déduction, ce qui rendait difficile d'expliquer la logique de son fonctionnement et encore plus d'en détecter les contradictions. Quant aux experts, ils étaient 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) était 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 couté entre 1991 et 1998 environ 30 millions d'euros, et le système économise environ  par tonne de métal.

Exemples 
Les systèmes experts sont courants, notamment dans la finance  et le secteur médical .

Parmi les systèmes grand public, on peut citer Akinator : Le Génie du web.

Notes et références

Annexes

Voir aussi 
 Heuristique
 Intelligence artificielle
 Moteur d'inférence
 Sciences cognitives
 Système de classeurs

Bibliographie 
 James Ignizio, Introduction to Expert Systems (1991), .
 Joseph C. Giarratano, Gary Riley, Expert Systems, Principles and Programming (2005), .
 Peter Jackson Introduction to Expert Systems (1998), .
 Développer un système expert de Michel Le Seac'h, 1989, édiTests.
 Système experts : vers la maîtrise technique, Alain Bonnet, Jean-Paul Haton, Jean-Michel Truong. InterÉditions, 1986.
 .

Intelligence artificielle
Expert