CLIPS | |
Date de première version | |
---|---|
Paradigme | orienté objet, système expert |
Auteur | NASA |
Dernière version | 6.4 () |
Influencé par | C |
Implémentations | C, Python |
Écrit en | C |
Système d'exploitation | Windows, Linux, macOS |
Site web | [1] |
modifier |
CLIPS (C Language Integrated Production System) est un environnement et un langage de programmation créés en 1985, faisant partie du paradigme des langages déclaratifs et logiques.
Il s'agit avant tout d'un outil de construction de systèmes experts à base de règles et d'objets.
Les origines de CLIPS se situent en 1984 au Johnson Space Center de la NASA. À cette époque, les outils de systèmes expert étaient développés en LISP, ce qui les rendait incompatibles avec les contraintes de la NASA. En effet, LISP n'était pas disponible pour toutes les architectures, ne s'intégrait pas bien avec les autres langages de programmation ; les coûts des outils LISP étaient élevés, et enfin le langage n'offrait pas les performances nécessaires en termes de rapidité d'exécution. Un langage tel que C semblait un bon candidat pour pallier ces problèmes. Malheureusement, le temps et le coût d'adaptation des outils existants annoncés par les fournisseurs étaient bien trop élevés. La section d'intelligence artificielle décida alors de développer son propre outil de système expert en C.
Un prototype de CLIPS apparut au printemps 1985, avec une syntaxe fortement inspirée de l'outil de système expert ART développé par Inference Corporation afin de le rendre compatible avec les autres outils existants. La version 1.0 de CLIPS prouva la faisabilité du projet, et seulement un an plus tard, en 1986, sortit la version 3.0 qui fut rendue disponible en dehors de la NASA.
Prenons tout d'abord les faits suivants :
Que nous traduisons en CLIPS :
(deffacts vérités (est homme mortel) (est Socrate homme) (est chien mortel) )
Et la règle suivante :
Qui se traduit en CLIPS par:
(defrule translation (est ?a ?b) (est ?b ?c) ⇒ (assert (est ?a ?c)) )
Avant la première exécution la base de faits contient donc ceci :
1- (est homme mortel) 2- (est Socrate homme) 3- (est chien mortel)
En lançant la résolution, la règle est appliquée une fois avec les faits 1 et 2 :
La base de fait contient maintenant ceci :
1- (est homme mortel) 2- (est Socrate homme) 3- (est chien mortel) 4- (est Socrate mortel)
La règle ne peut plus être appliquée à aucun fait, l'exécution s'arrête. Nous remarquons qu'un seul nouveau fait a été introduit dans la base de faits (Socrate est mortel). En effet, on ne peut pas en déduire que Socrate est un chien, comme dans le fameux sophisme[pas clair].
CLIPS et sa documentation sont dans le domaine public.
Plus précisément, les sources, les exécutables et la documentation téléchargée à partir de la page de téléchargement de CLIPS sont soumis à la présente licence :
« La permission est accordée, gratuitement, à tout personne obtenant une copie du logiciel et de sa documentation associée (le "Logiciel"), d'utiliser le Logiciel sans restriction, incluant sans aucune limitation, le droit d'utiliser, copier, modifier, inclure, publier, distribuer et/ou vendre des copies du Logiciel, et de permettre à ceux à qui le Logiciel est fourni d'en faire autant. »