39
Introduction à l’environnement logiciel Clips Intelligence Artificielle

Introduction à l’environnement logiciel Clips Intelligence Artificielle

Embed Size (px)

Citation preview

Page 1: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Introduction à l’environnement logiciel Clips

Intelligence Artificielle

Page 2: Introduction à l’environnement logiciel Clips Intelligence Artificielle

CLIPSC Langugae Integrated Production System

Version 6.2

Page 3: Introduction à l’environnement logiciel Clips Intelligence Artificielle

PRESENTATION DE CLIPS

• Outil de représentation de connaissances

• Générateur de systèmes experts

• Logiciel du domaine public réalisé par la NASA

• Utilisateurs :

Gouvernement des USA Universités et sociétés privées NASA

Planifications de missionsDiagnostic de pannesContrôles de process

Page 4: Introduction à l’environnement logiciel Clips Intelligence Artificielle

PRESENTATION DE CLIPS

Caractéristiques

• Différents formalismes de représentation des connaissances:

Règles de productionObjetsProcédures

• Un mécanisme d’inférence intégré

• Un langage Puissant Portable Ouvert Extensible

Page 5: Introduction à l’environnement logiciel Clips Intelligence Artificielle

ENVIRONNEMENT CLIPS

Fenêtre principale

Ligne de commandes Menus

Lancer des commandes

Bar

re d

’ou

tils

Page 6: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Rentrer des instructionsLancer des commandes

ENVIRONNEMENT CLIPS

Ligne de commandes

Ligne de commandes

Page 7: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Editeur Clips

ENVIRONNEMENT CLIPS

Page 8: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Etape 1 : Ecrire et enregistrer le programme avec l’éditeur Clips

File/Save as extensions (.clp)(.bat)

Enregistrer le programme

ENVIRONNEMENT CLIPS

Mise en oeuvre de programmes

Code Clips

Page 9: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Etape 2 : Charger et exécuter le programme dans l’environnement Clips

File/Load (load "nom du fichier programme ")Charger le programme

ENVIRONNEMENT CLIPS

Mise en oeuvre de programmes

Etape 2 : Charger le programme avec Clips

Page 10: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Etape 2 : Charger et exécuter le programme dans l’environnement Clips

Execute/Run (run)Exécuter le programme

ENVIRONNEMENT CLIPS

Mise en oeuvre de programmes

Etape 3 : Exécuter le programme avec Clips

Page 11: Introduction à l’environnement logiciel Clips Intelligence Artificielle

• Les nombres (number)

Informations symboliques

Informations numériques

• Les symboles (symbol)• Les chaînes de caractères (string)

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Les informations manipulées dans Clips

Les entiers (integer) Les réels (float)

Page 12: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Les symboles, les strings et les nombres renvoient leur propre valeur

Constantes

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Les informations manipulées dans Clips

Page 13: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Formalismes

• Procédures

• Règles de production

• Objets

Représentation déclarative

Représentation procédurale

Représentation mixte

Page 14: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

• Faits

• Variables globales

• Règles

• Objets Concepts de l’univers du problème

Données initiales du problème ou déduites par inférence

Attributs (slot)

Méthodes (method)

Classes

Instanciation

Abstraction

Données communes à un ensemble de concepts

Formes de connaissances

Raisonnement et heuristiques pour résoudre le problème

Définis par les constructs

Page 15: Introduction à l’environnement logiciel Clips Intelligence Artificielle

LA Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

• Les faits (facts)

un objet

une structure : nom + suite de paire (attribut valeur)

une liste

une instance d’une classe

un template

(atome-1 atome-2 … atome-n)

symbole symbole, nombre, string

Relation entre atome-2 atome-3 … atome-nEnregistrement (Pascal, C)Relation (SGBDR)

Les faits

Page 16: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

(Grand-pere Philippe Bernard)(Est-parti Jacques "à" Paris)(Est-de altitude 10000 ¨mètres¨)

Exemples de faits de type liste

¨Philippe est le grand père de Bernard ¨

¨L’altitude est de 10000 mètres ¨

¨Jacques est parti à Paris¨

Affirmation des faits Fonction assert

Les faits

Page 17: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

La fonction assert

Syntaxes

1- (assert <un-fait>)2- (assert <une-liste-de-faits>)

Affirme un ou plusieurs fait(s)

<une-liste-de faits> : la liste des faits à affirmer

<un-fait> : fait à affirmer

Les faits

Action

Page 18: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Exemples Syntaxe 1

affichage du fait d’indice 0

indice du fait

Format d’affichage : <Fact-xxx>

rajout du fait d’indice 0 à la liste des faits

La fonction assert

Les faits

Page 19: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

La fonction assert

Les faits

Exemples Syntaxe 2

Page 20: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Définition et affirmation d’une collection de faits initiaux

Les faits

• Définir la collection des faits initiaux avec le constructeur deffacts

• Rajouter cette collection de faits initiaux à la base de faits avec la commande reset

Page 21: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

(deffacts <nom-deffacts> |<commentaires>|<fait-1><fait-2>….<fait-n>

)

Action

Définit une liste de faits initiaux

<nom-deffacts> : identificateur de la liste de faits|<commentaires>| : commentaires facultatifs commencant par un ;<fait-1> … <fait-n> : les faits initiaux à définir

Le construct deffacts

Les faits

Page 22: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

(reset)

Action

Rajoute à la base de faits une liste de faits initiaux définit par deffacts

La commande reset

Les faits

Page 23: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Exemple

affirmation

définition

affichage

fait initial rajouté automatiquement

Les faits

Définition par deffcats et affirmation par reset

taille de la liste des faits

Page 24: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

Exemples

(facts |<deb>| |<fin>| |<max>|)

Action

Identificateurs : <f-xxx>

indice du fait

Affiche la liste des faits (fact list)

Taille de la liste des faits

<deb> : indice du premier fait<fin> : indice du dernier fait<max> : maximum d ’affichage

La commande factsLes faits

Page 25: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

Exemple

(retract <un-indice>)

Action

Retire un fait de la liste des faits

Retire le fait d’indice 2

<un-indice> : indice du fait à retirer

La fonction retract

Les faits

Page 26: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

Exemple

(clear)

ActionRetire tous les faits de la base de faits et toutes les règles de la

base de règles

La commande clear

Les faits

Page 27: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Les templates

Les faits

• Des structures de données similaires à celles des enregistrements dans C et Pascal et des relations dans les bases de données

• Une structure est composé de :un nomdes champs (slots)

• Une structure permet de définir pour un slot :une valeur par défaut (default), une intervalle de valeurs possibles (range)une liste de valeurs possibles (allowed values)

Page 28: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

Action

Définit une structure

Le constructeur deftemplate

Les faits

(deftemplate <nom-template> |<commentaires>|<champ-1><champ-2>….<champ-n>

)<nom-template> : identificateur de la structure|<commentaires>| : commentaires facultatifs commencant par un ;<champ-1> … <champ-n> : les champs de la structure

Page 29: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le constructeur deftemplate

Les faits

(deftemplate Vol ; une relation d’une base de données (slot Numvol (type STRING) ; utilisée par une agence

(default "Vol Tun728")) ; de voyage marseillaise

(slot Prov (type STRING) ; spécialisée dans les

(default "Marseille")) ; voyages à destination du Maghreb

(slot Dest (type STRING)(allowed-values "Tunis" "Alger" "Casablanca")(default "Tunis"))(slot Durvol (type FLOAT)(range 0.00 15.00) (default 1.25))

)

Définition de la structure : exemple

Page 30: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le constructeur deftemplate

Les faits

(assert(Vol))(assert(Vol(Numvol "Vol Alg879") (Dest "Alger") (Durvol 2.25)))(assert(Vol (Numvol "Vol Cas235") (Dest "Casablanca") (Durvol 2.45)))

Affirmation de faits de type structure : exemple

Page 31: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le constructeur deftemplate

Les faits

Structure d’une base de faits de type template

Page 32: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

(assert(Vol

(Numvol "Vol Tun635")))

(defrule vols-pour-tunis(Vol (Numvol ?Numero) (Dest "Tunis"))

=>(printout t "Numéro de vol: " ?Numero crlf))

Le constructeur deftemplate

Les faits

Les templates et les règles

Page 33: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le constructeur deftemplate

Les faits

Les templates et les règles

Page 34: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

(defrule <nom-règle> |<commentaires>|<condition-1><condition-2>….<condition-n>

=><action-1><action-2> ….Action-n>

)

ActionDéfinit une règle

<nom-règle> : nom de la règle

<condition-1> … <condition-n> :partie gauche de la règle

<action-1> … <action-n> :partie droite de la règle

Le constructeur defrule

Les règles

Page 35: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le construct defrule

Représentation en Clips avec defrule : syntaxe 1

Exemple

Soit la règle : « si le patient a des crises de glycémie quand il est à jeun et si le patient est âgé de 0 à 10 ans alors il s ’agit d ’un diabète de type gestationnel »

(defrule type-de-diabete ; quel type de diabete (glycemie periode a-jeun) (age interval 0-10-ans)=> (assert(diabete type gestationnel)))

Les règles

Page 36: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Le construct defrule

Représentation en Clips avec defrule : syntaxe 2

Exemple

Soit la règle : « si le patient a des crises de glycémie quand il est à jeun et si le patient est âgé de 0 à 10 ans alors il s ’agit d ’un diabète de type gestationnel »

(defrule type-de-diabete ; quel type de diabete (and (glycemie periode a-jeun) (age interval 0-10-ans) )=> (assert(diabete type gestationnel)))

Les règles

Page 37: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

La commande rules

Syntaxe

(rules)

Action

Affiche la liste des règles

La commande ppdefrule

Syntaxe

(ppdefrule <nom-règle>)

Action

Affiche le contenu d’une règle

<nom-règle> : nom de la règle à afficher

Les règles

Page 38: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Exemple complet

Définition d’une règle

Affichage de la liste des règles

Affichage du contenu d’une règle

Les règles

Page 39: Introduction à l’environnement logiciel Clips Intelligence Artificielle

Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS

Syntaxe

Action

Affiche une expression à l ’écran

La fonction printout

Les fonctions d’E/S

(printout t <expression>))

<expression> : expression à afficher