introduction à l’environnement logiciel clips intelligence artificielle
TRANSCRIPT
Introduction à l’environnement logiciel Clips
Intelligence Artificielle
CLIPSC Langugae Integrated Production System
Version 6.2
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
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
ENVIRONNEMENT CLIPS
Fenêtre principale
Ligne de commandes Menus
Lancer des commandes
Bar
re d
’ou
tils
Rentrer des instructionsLancer des commandes
ENVIRONNEMENT CLIPS
Ligne de commandes
Ligne de commandes
Editeur Clips
ENVIRONNEMENT CLIPS
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
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
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
• 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)
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
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
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
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
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
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
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
Codage de systèmes à base de règles de production avec l’environnement logiciel CLIPS
La fonction assert
Les faits
Exemples Syntaxe 2
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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