Clips (langage)

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

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 CVoir et modifier les données sur Wikidata
Système d'exploitation Windows, Linux, macOS
Site web [1]

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.

Caractéristiques notables[modifier | modifier le code]

  • La gestion de trois paradigmes à la fois: programmation procédurale, programmation à objets, et programmation par règles.
  • Une grande flexibilité dans la représentation des connaissances, grâce à ces trois paradigmes.
  • Portabilité et rapidité: il est écrit en C
  • Intégration: Clips peut être "embarqué" dans des logiciels écrits dans d'autres langages.
  • Extensibilité: ces autres langages peuvent servir à étendre ses fonctionnalités, en respectant certains protocoles.
  • Interactivité avec l'interpréteur de commandes.
  • Fonctionnalités poussées de validation de systèmes experts, de vérification de contraintes.

Historique[modifier | modifier le code]

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.

Exemple[modifier | modifier le code]

Prenons tout d'abord les faits suivants :

  • Les hommes sont mortels
  • Socrate est un homme
  • Les chiens sont mortels

Que nous traduisons en CLIPS :

(deffacts vérités
    (est homme mortel)
    (est Socrate homme)
    (est chien mortel)
 )

Et la règle suivante :

  • si a est b et b est c, alors a est c

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 :

  • Socrate est un homme, or tout homme est mortel, donc Socrate est mortel.

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].

Licence[modifier | modifier le code]

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. »

Liens externes[modifier | modifier le code]

  1. « Download Latest Version clips_windows_projects_641.zip (1.6 MB) », (consulté le )