Moteur d'inférence

Un article de Wikipédia, l'encyclopédie libre.

Un moteur d'inférence (du verbe "inférer" = déduire) est un logiciel correspondant à un algorithme de simulation des raisonnements déductifs.

Un moteur d'inférence permet aux systèmes experts de conduire des raisonnements logiques et de dériver des conclusions à partir d'une base de faits et d'une base de connaissances.

Les moteurs d'inférences peuvent implémenter :

  • une logique formelle d'ordre 0 (logique des propositions), 0+, 1 (logique des prédicats) ou d'ordre 2 avec
  • une gestion d'hypothèses monotone ou non monotone,
  • un chaînage avant, arrière ou mixte,
  • une complétude déductive ou non.

[modifier] Historique

Les premiers moteurs d'inférences sont nés dans les années 1960 dans la communauté des chercheurs en informatique, notamment lors du lancement du programme de recherche américain sur le GPS (General Problem Solving).

En France, le moteur Prolog II — inventé par Alain Colmerauer à Marseille dans les année 1970 — est un exemple mondialement connu de moteur d'inférence en logique formelle monotone d'ordre 1 en chaînage arrière non complet déductivement. Les Japonais avaient d'ailleurs décidé de fonder leur programme de recherche sur les ordinateurs dits de « 5e génération » sur le langage français Prolog.[réf. nécessaire]

[modifier] Exemples de moteurs d'inférence

  • moteur de MYCIN : système de diagnostic médical,
  • GOSSEYN : moteur d'ordre 1 en chaînage avant, développé en Fortran par Jean-Marc Fouet,
  • PROLOG II : moteur d'ordre 1 en chaînage arrière, développé par Alain Colmerauer,
  • Kadviser : moteur d'ordre 1 à propagation de contraintes, développé en C++ par la société KADETECH Industries puis la société NIMTOTH,
  • MACISTE moteur d'ordre 2, développé par Jacques Pitrat,
  • SMECI : développé en LISP par la société ILOG.
  • SNARK : développé par Jean-Louis Laurière (il existe également un démonstrateur de théorème du même nom, par Mark E. Stickel, qui n'a rien à voir).

[modifier] Voir aussi