Aller au contenu

Système expert

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 18 janvier 2006 à 12:36 et modifiée en dernier par Nataraja (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

D'une manière générale, un système expert est un outil capable de reproduire les mécanismes cognitifs d'un expert, dans un domaine particulier.

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 connus. Il peut servir notamment comme outil d'aide à la décision.


Un système expert se compose de deux parties, une base de connaissances, et un moteur d'inférence. La base de connaissances elle-même est composée d'une base de faits, et d'une base de règles. Le moteur d'inférence est capable d'utiliser faits et règles pour produire de nouveaux faits, jusqu'à parvenir à la question posée.

Mécanismes de raisonnement

La plupart des systèmes experts existants reposent sur des mécanismes de logique, et utilisent le raisonnement déductif. Pour l'essentiel, ils utilisent la règle suivante :

si P est vrai (fait), et si on sait que P implique Q (règle), alors, Q est vrai (nouveau fait).

Les plus simples des systèmes experts s'appuient sur la logique des propositions. 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, que des algorithmes permettent de manipuler aisément. 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. On distingue souvent trois catégories, basées sur la manière dont les problèmes sont résolus. Certains moteurs partent des faits et règles de la base de connaissance, et tentent de s'approcher des faits recherchés par le problème. D'autres partent des faits du problème, et tentent par l'intermédiaire des règles, de « remonter » à des faits connus. Enfin, certains moteurs utilisent une combinaison de ces deux approches.

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. Equivalents des méthodes d'analyse de l'informatique traditionnelle, des méthodes d'acquistion des connaissances sont développées.

Historique

Les premiers systèmes experts voient le jour aux USA dans les années 1970. MYCIN, qui manipulait de l'expertise dans le domaine médical, est l'un des plus connus. Ils ont eu leur heure de gloire dans les années 1980, où on a trop rapidement pensé qu'ils pourraient se développer massivement. En pratique, le développement de ce genre d'application est très lourd car, à partir d'une centaine de règles simples, on a énormément de mal à comprendre comment le système expert « raisonne » (manipule faits et règles en temps réel), et donc à en assurer la mise au point finale puis la maintenance. Le projet SACHEM (pilotage de haut-fourneau chez Arcelor), opérationnel dans les années 1990, est l'un des derniers projets « système expert » issu de la recherche à avoir vu le jour. Aujourd'hui, de multiples petits systèmes experts sont opérationnels dans l'industrie et dans les services sans qu'on en parle. On préfère avouer utiliser des bases de connaissances comme celle que Microsoft met en ligne pour ses produits.


Voir aussi

Liens externes

  • [1] Système expert JESS (Java Expert System Shell)
  • [2] Système expert CLIPS