La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CLIPS Module Intelligence artificielle. Principes Langage de description de S.E. Faits et règles typés Assertion et délétion Chaînage avant Hiérarchie.

Présentations similaires


Présentation au sujet: "CLIPS Module Intelligence artificielle. Principes Langage de description de S.E. Faits et règles typés Assertion et délétion Chaînage avant Hiérarchie."— Transcription de la présentation:

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 Agenda Base de règles règles Type de faits appariement Règles « activables » Faits activation réfraction production cycle

5 Mots clés CLIPS Agenda Base de règles règles Type de faits assert/modify duplicate/retract/deffacts/reset appariement defrule run Règles « activables » Faits deftemplate activation réfraction refresh production

6 Types faits et règles exemple 1 (deftemplate objet (slot nom) (slot position) (slot couleur)) (deftemplate posseder (slot objet)) (deftemplate liste-nombres (multislot values)) (defrule prendre (objet (nom ?unNom)) => (assert(posseder (objet ?unNom))

7 Types faits et règles exemple 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 ) (reset) assertion des deffacts (run ) lance n cycles (agenda) visualise l’agenda les faits et règles sont numérotés (assert ) (retract ) (refresh ) ré-injection (undef )

9 Exemple d’exécution exemple 1 {deloor@deloor}~/enseignement/ia/CLIPS/EXAMPLES/pdl$ clips CLIPS (V6.21 06/15/03) CLIPS> (load "coursExample1.CLP") Defining deftemplate: objet Defining deftemplate: posseder Defining deftemplate: liste-nombres Defining defrule: prendre +j Defining deffacts: scene1 TRUE CLIPS> (assert (objet (nom cafetiere) (position 1-2) (couleur bleue))) CLIPS> (facts) f-0 (objet (nom cafetiere) (position 1-2) (couleur bleue)) For a total of 1 fact. CLIPS> (agenda) 0 prendre: f-0 For a total of 1 activation. CLIPS> (run) CLIPS> (facts) f-0 (objet (nom cafetiere) (position 1-2) (couleur bleue)) f-1 (posseder (objet cafetiere)) For a total of 2 facts. CLIPS> (agenda) CLIPS> (reset) CLIPS> (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. CLIPS> (agenda) 0 prendre: f-3 0 prendre: f-2 0 prendre: f-1 For a total of 3 activations. CLIPS> (run) CLIPS> (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. CLIPS> (agenda) 0 prendre: f-3 0 prendre: f-2 0 prendre: f-1 For a total of 3 activations. CLIPS> (run) CLIPS> (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. CLIPS> (agenda) CLIPS>

10 Debug Enumération (des constructeurs) (list-defrules) (list-deftemplate) (liste-deffacts) Inspection (ppdefrule ) (ppdeftemplate ) (ppdeffacts )

11 Debug Visualisation durant l’exécution (watch) (watch all) (watch rules) (watch statistics) (unwatch)

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

13 Appariement Adressage des faits

14 Exemple 2 (deftemplate vehicule (slot nom) (slot position) (slot vitesse)) (defrule sortirParking ?f1 <- (vehicule (position parking)) => (modify ?f1 (position route) (vitesse 40km/heures))) {deloor@deloor}~/enseignement/ia/CLIPS/EXAMPLES/pdl$ clips CLIPS (V6.21 06/15/03) CLIPS> (load "coursExemple2.CLP") Defining deftemplate: vehicule Defining defrule: sortirParking +j TRUE CLIPS> (assert (vehicule (nom trotinette) (position parking) (vitesse 0))) CLIPS> (assert (vehicule (nom kart) (position route) (vitesse 12km/h))) CLIPS> (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. CLIPS> (agenda) 0 sortirParking: f-0 For a total of 1 activation. CLIPS> (run) CLIPS> (facts) f-1 (vehicule (nom kart) (position route) (vitesse 12km/h)) f-2 (vehicule (nom trotinette) (position route) (vitesse 40km/heures)) For a total of 2 facts. CLIPS> (agenda) CLIPS>

15 Exemple 3 Une variable référencée dans 2 faits en tête de règle Une assertion/retraction -> activation d’autres règles. Plusieurs règles activées au même moment

16 {deloor@deloor}~/enseignement/ia/CLIPS/EXAMPLES/pdl$ clips CLIPS (V6.21 06/15/03) CLIPS> (load "coursExemple2.CLP") Defining deftemplate: vehicule Defining deftemplate: surRoute Defining defrule: sortirParking +j TRUE CLIPS> (assert (vehicule (nom trotinette) (position parking) (vitesse 0))) CLIPS> (assert (vehicule (nom kart) (position route) (vitesse 12km/h))) CLIPS> (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. CLIPS> (agenda) 0 sortirParking: f-0 For a total of 1 activation. CLIPS> (run) CLIPS> (facts) f-1 (vehicule (nom kart) (position route) (vitesse 12km/h)) f-2 (vehicule (nom trotinette) (position route) (vitesse 40km/heures)) For a total of 2 facts. CLIPS> (agenda) CLIPS>

17 Suppression de constructeurs (undefrule ) (undeftemplate ) (undeffacts ) On ne peut supprimer un élément utilisé par un autre qui n’est pas supprimé

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

19 Execution Une règle activée est mise dans l’agenda Lorsqu’elle est exécutée elle est retirée de l’agenda : « refraction » Au prochain pas, elle ne sera pas réactivée Sauf si c’est par de nouveaux faits Une régle peut être mise en plusieurs exemplaires dans l’agenda si elle est activée par plusieurs faits La fonction (refresh ) remet la règle dans l’agenda comme si elle n’avait pas été activée

20 Types faits et règles (deftemplate(objet (slot usage) (slot position) (slot couleur)) (deftemplate(posseder (multislot listeObjets))


Télécharger ppt "CLIPS Module Intelligence artificielle. Principes Langage de description de S.E. Faits et règles typés Assertion et délétion Chaînage avant Hiérarchie."

Présentations similaires


Annonces Google