CLIPS - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

CLIPS

Description:

ils seront ins r s suite l'instruction (reset) (deffacts scene1 'Exemple de scene' ... Premi re rencontre = affectation. Appariement. Appariement. Adressage ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 21
Provided by: pierred151
Category:

less

Transcript and Presenter's Notes

Title: CLIPS


1
CLIPS
  • Module Intelligence artificielle

2
Principes
  • Langage de description de S.E.
  • Faits et règles typés
  • Assertion et délétion
  • Chaînage avant
  • Hiérarchie des règle  salience 
  • Règles actives à un instant agenda
  • Réfraction
  • www.

3

4
Principe
Base de règles règles
Type de faits
réfraction
Agenda
activation
Règles  activables 
Faits
cycle
production
appariement
5
Mots clés CLIPS
Base de règles règles
defrule
deftemplate
Type de faits
assert/modify duplicate/retract/deffacts/reset
réfraction
refresh
Agenda
activation
Règles  activables 
Faits
runltngt
production
appariement
6
Types faits et règlesexemple 1
  • (deftemplate objet
  • (slot nom)
  • (slot position)
  • (slot couleur))
  • (deftemplate posseder
  • (slot objet))
  • (deftemplate liste-nombres (multislot values))
  • (defrule prendre (objet (nom ?unNom))
  • gt
  • (assert(posseder (objet ?unNom))

7
Types faits et règlesexemple 1
  • faits initiaux en ligne assert
  • (assert(objet (nom cafetiere)
  • (position 5-7)
  • (couleur bleue)))
  • faits initiaux en vrac deffacts
  • ils seront insérés suite à l'instruction
    (reset)
  • (deffacts scene1 "Exemple de scene"
  • (objet (nom theiere)
  • (position 4-4)
  • (couleur verte))
  • (objet (nom chaise)
  • (position 1-1)
  • (couleur jaune))
  • (objet (nom pomme)
  • (position 4-8)
  • (couleur rouge)))

8
Execution
  • (load ltfile-namegt)
  • (reset) assertion des deffacts
  • (run ltngt) lance n cycles
  • (agenda) visualise lagenda
  • les faits et règles sont numérotés
  • (assert ltfactgt)
  • (retract ltnb-factgt)
  • (refresh ltrulegt) ré-injection
  • (undef ltrulegt)

9
Exemple dexécutionexemple 1
  • deloor_at_deloor/enseignement/ia/CLIPS/EXAMPLES/pd
    l clips
  • CLIPS (V6.21 06/15/03)
  • CLIPSgt (load "coursExample1.CLP")
  • Defining deftemplate objet
  • Defining deftemplate posseder
  • Defining deftemplate liste-nombres
  • Defining defrule prendre j
  • Defining deffacts scene1
  • TRUE
  • CLIPSgt (assert (objet (nom cafetiere) (position
    1-2) (couleur bleue)))
  • ltFact-0gt
  • CLIPSgt (facts)
  • f-0 (objet (nom cafetiere) (position 1-2)
    (couleur bleue))
  • For a total of 1 fact.
  • CLIPSgt (agenda)
  • 0 prendre f-0
  • For a total of 1 activation.
  • CLIPSgt (run)
  • CLIPSgt (facts)

CLIPSgt (facts) f-0 (initial-fact) f-1
(objet (nom theiere) (position 4-4) (couleur
verte)) f-2 (objet (nom chaise) (position
1-1) (couleur jaune)) f-3 (objet (nom pomme)
(position 4-8) (couleur rouge)) For a total of 4
facts. CLIPSgt (agenda) 0 prendre f-3 0
prendre f-2 0 prendre f-1 For a total of 3
activations. CLIPSgt (run) CLIPSgt (facts) f-0
(initial-fact) f-1 (objet (nom theiere)
(position 4-4) (couleur verte)) f-2 (objet
(nom chaise) (position 1-1) (couleur jaune)) f-3
(objet (nom pomme) (position 4-8) (couleur
rouge)) f-4 (posseder (objet pomme)) f-5
(posseder (objet chaise)) f-6 (posseder
(objet theiere)) For a total of 7 facts. CLIPSgt
(agenda) CLIPSgt
10
Debug
  • Enumération (des constructeurs)
  • (list-defrules)
  • (list-deftemplate)
  • (liste-deffacts)
  • Inspection
  • (ppdefrule ltdefrule-namegt)
  • (ppdeftemplateltdeftemplate-namegt)
  • (ppdeffacts ltdeffacts-namegt)

11
Debug
  • Visualisation durant lexécution
  • (watch)
  • (watch all)
  • (watch rules)
  • (watch statistics)
  • (unwatch)

12
Appariement
  • Variables en tête de règle
  • Première rencontre affectation

13
Appariement
  • Adressage des faits

14
Exemple 2
  • deloor_at_deloor/enseignement/ia/CLIPS/EXAMPLES/pd
    l clips
  • CLIPS (V6.21 06/15/03)
  • CLIPSgt (load "coursExemple2.CLP")
  • Defining deftemplate vehicule
  • Defining defrule sortirParking j
  • TRUE
  • CLIPSgt (assert (vehicule (nom trotinette)
    (position parking) (vitesse 0)))
  • ltFact-0gt
  • CLIPSgt (assert (vehicule (nom kart) (position
    route) (vitesse 12km/h)))
  • ltFact-1gt
  • CLIPSgt (facts)
  • f-0 (vehicule (nom trotinette) (position
    parking) (vitesse 0))
  • f-1 (vehicule (nom kart) (position route)
    (vitesse 12km/h))
  • For a total of 2 facts.
  • CLIPSgt (agenda)
  • 0 sortirParking f-0
  • For a total of 1 activation.
  • CLIPSgt (run)
  • CLIPSgt (facts)

(deftemplate vehicule (slot nom) (slot
position) (slot vitesse)) (defrule
sortirParking ?f1 lt- (vehicule (position
parking)) gt (modify ?f1 (position route)
(vitesse 40km/heures)))
15
Exemple 3
  • Une variable référencée dans 2 faits en tête de
    règle
  • Une assertion/retraction -gt activation dautres
    règles.
  • Plusieurs règles activées au même moment

16
  • deloor_at_deloor/enseignement/ia/CLIPS/EXAMPLES/pd
    l clips
  • CLIPS (V6.21 06/15/03)
  • CLIPSgt (load "coursExemple2.CLP")
  • Defining deftemplate vehicule
  • Defining deftemplate surRoute
  • Defining defrule sortirParking j
  • TRUE
  • CLIPSgt (assert (vehicule (nom trotinette)
    (position parking) (vitesse 0)))
  • ltFact-0gt
  • CLIPSgt (assert (vehicule (nom kart) (position
    route) (vitesse 12km/h)))
  • ltFact-1gt
  • CLIPSgt (facts)
  • f-0 (vehicule (nom trotinette) (position
    parking) (vitesse 0))
  • f-1 (vehicule (nom kart) (position route)
    (vitesse 12km/h))
  • For a total of 2 facts.
  • CLIPSgt (agenda)
  • 0 sortirParking f-0
  • For a total of 1 activation.
  • CLIPSgt (run)

17
Suppression de constructeurs
  • (undefrule ltnom_de _reglegt)
  • (undeftemplate ltnom_de_templategt)
  • (undeffacts ltnom_de_liste_de_faitsgt)
  • On ne peut supprimer un élément utilisé par un
    autre qui nest pas supprimé

18
Debug
  • (set-break ltnom_de_reglegt)
  • (show-break)
  • (remove break ltnom_de_reglegt)

19
Execution
  • Une règle activée est mise dans lagenda
  • Lorsquelle est exécutée elle est retirée de
    lagenda  refraction 
  • Au prochain pas, elle ne sera pas réactivée
  • Sauf si cest par de nouveaux faits
  • Une régle peut être mise en plusieurs exemplaires
    dans lagenda si elle est activée par plusieurs
    faits
  • La fonction (refresh ltrèglegt) remet la règle dans
    lagenda comme si elle navait pas été activée

20
Types faits et règles
  • (deftemplate(objet
  • (slot usage)
  • (slot position)
  • (slot couleur))
  • (deftemplate(posseder
  • (multislot listeObjets))
Write a Comment
User Comments (0)
About PowerShow.com