Moteur d'inférence
Un moteur d'inférence (du verbe « inférer » qui signifie « déduire ») est un progiciel 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érence peuvent implémenter :
- une logique formelle d'ordre 0 (logique des propositions), d'ordre 0+, d'ordre 1 (logique des prédicats) ou d'ordre 2 avec
- une gestion d'hypothèses monotone ou non monotone,
- un chaînage avant, chaînage arrière ou mixte,
- une complétude déductive ou non.
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 Solver).
En France, le moteur Prolog — inventé par Alain Colmerauer à Grenoble en 1965 et développé à Marseille Luminy dans les années 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[1].
Exemples de moteurs d'inférence
- CLIPS : Chaînage avant, Contrôle irrévocable, Moteur d'ordre 1, Logique non monotone, Monde fermé
- Moteur de MYCIN : système de diagnostic médical,
- GEOMETRIX : moteur d'ordre 1, chaînage avant, chaînage arrière, aide à la démonstration en Géométrie euclidienne, développé en Prolog par Jacques Gressier.
- GOSSEYN : moteur d'ordre 1 en chaînage avant, développé en Fortran par Jean-Marc Fouet,
- PROLOG : moteur d'ordre 1 en chaînage arrière, développé par Alain Colmerauer,
- PROLOG II : moteur d'ordre 1 en chaînage arrière, développé par Michel Van Caneghem,
- Kadviser : moteur d'ordre 1 à propagation de contraintes, créé en 1988 par la société KADE-TECH et développé aujourd'hui par 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).
- Limule, moteur d'inférence propulsant le jeu Akinator : Le Génie du web
- COGNIPRO : moteur d'inférence développé pour l'apprentissage des concepts de ce domaine, chaînage avant & arrière développé par Patrick Milot.
Notes et références
- Jean-Gabriel Ganascia, L’Intelligence artificielle, Paris, Le Cavalier Bleu, coll. « Idées reçues », 2007 (ISBN 978-2-84670-165-5)