Programmation logique - PowerPoint PPT Presentation

About This Presentation
Title:

Programmation logique

Description:

Les formules sont interpr t es dans {V,F} On d finit l'interpr tation associ e chaque ... L'ing nieur affirme n'avoir rien entendu. On souhaite d montrer que si ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 30
Provided by: cril
Category:

less

Transcript and Presenter's Notes

Title: Programmation logique


1
Programmation logique
  • Lakhdar Saïs
  • CRIL, Université d Artois
  • sais_at_cril.univ-artois.fr
  • http//www.cril.univ-artois.fr/sais
  • Maîtrise d informatique
  • 2002/2003

2
Rappel de logique pour prolog
  • Logique des propositions
  • Logique des prédicats
  • Unification

3
Logique des propositions
  • Syntaxe
  • On définit
  • Les propositions a, b, c,
  • Les constantes V et F
  • Les connecteurs
  • ? (conjonction)
  • ? (disjonction)
  • ? (négation)
  • ? (implication)
  • ? (équivalence)

4
Construction dune formule
  • Une proposition est une formule
  • Si a et b sont des formules, alors
  • ?a, a ?b, a ? b, a?b et a ? b sont des formules

5
Logique des propositions
  • Sémantique
  • Les formules sont interprétées dans V,F
  • On définit linterprétation associée à chaque
    connecteur grâce aux tables de vérité

6
Tables de vérité desconnecteurs
7
Propriétés des formules
  • Une formule est valide si elle est toujours vraie
    (quelque soit linterprétation)
  • Une formule est consistante sil existe une
    interprétation dans laquelle elle est vraie. Elle
    est inconsistante dans le cas contraire
  • Problème étant donnée une formule, est-elle
    valide ? consistante ?
  • Exemple que dire de la formule
  • (a ? b) ?(?b ? ?a)

8
Règles de transformation (1)
  • a??a (loi du tiers exclu)
  • ((a?b) ? a) ? b (modus ponens)
  • ((a ? b) ? ?b) ? ?a (modus tollens)
  • (a ?b) ? (?b ? ?a) (contraposition)
  • ??a ? a (double négation)
  • a ? b??a ? b
  • a ? b ? (a ? b) ? (b ? a)
  • a?a ? a?a ? a (idempotence)

9
Règles de transformation (2)
  • Lois de Morgan
  • ?(a?b) ? ?a ? ?b
  • ?(a?b) ? ?a ? ?b
  • Commutativité et associativité de ? et ?
  • Distributivité de ? par rapport à ? et de ? par
    rapport à ?

10
Une énigme policière
  • Un meurtre a été commis au laboratoire, le corps
    se trouve dans la salle de conférences
  • On dispose des informations suivantes
  • La secrétaire déclare quelle a vu lingénieur
    dans le couloir qui donne sur la salle de
    conférences
  • Le coup de feu a été tiré dans la salle de
    conférences, on la donc entendu de toutes les
    pièces voisines
  • Lingénieur affirme navoir rien entendu
  • On souhaite démontrer que si la secrétaire dit
    vrai, alors lingénieur ment

11
Formalisation en calcul des propositions
  • p la secrétaire dit vrai
  • q lingénieur était dans le couloir au moment
    du crime
  • r lingénieur était dans une pièce voisine de
    la salle de conférences
  • s lingénieur a entendu le coup de feu
  • t lingénieur dit vrai

12
Résolution de lénigme
  • Les informations de lénoncé se traduisent par
    les implications
  • p?q, q ? r, r ? s, t ? ?s
  • Il sagit de prouver la validité de la formule
  • (p ? q ? q ? r ? r ? s ? t ? ?s) ? (p ? ?t)

13
Démonstration
  • (p ? q ? q ? r ? r ? s ? t ? ?s) ? (p ? ?t)
  • La formule ne peut être fausse que si
  • (p ? ?t) est faux, soit p et t vrais
  • la prémisse est vraie, soit toutes les
    implications vraies
  • Comme t doit être vrai, s doit être faux, donc r
    faux, donc q faux, donc p faux, et il y a
    contradiction

14
Logique des prédicats
  • Syntaxe
  • On définit
  • Les constantes V et F
  • Les connecteurs ?, ?, ?, ?
  • Les variables x, y, z,
  • Les fonctions f, g, h,
  • Les prédicats p, q, r, dont ceux darité 0
    a, b, c,
  • Les quantificateurs ",

15
Définitions
  • Terme
  • Une variable est un terme
  • Une constante est un terme
  • Si t1, t2, , tn sont des termes, alors
    f(t1,t2,,tn) est un terme
  • Atome
  • Si t1, t2, , tn sont des termes, alors
    p(t1,t2,,tn) est un atome
    humain(socrate)

X tom mere(tom)
16
Construction dune formule
  • V, F sont des formules
  • Un atome est une formule
  • Si F1 et F2 sont les formules, alors ?F1, F1?F2,
    F1?F2, F1? F2 sont des formules
  • Si F est une formule, ? x F et ?x F sont des
    formules
  • Remarque la logique des propositions est un cas
    particulier de la logique des prédicats

humain(socrate)
? X. humain(X) ? mortel(X)
17
Exemples de formules valides
  • "x?A ? ? x A
  • "x A ? ? x ? A

18
Définitions
  • Littéral
  • Un atome est un littéral (positif)
  • La négation dun atome est un littéral (négatif)
  • Une clause est une formule qui a la forme dune
    disjonction de littéraux
  • Une clause concrète est une clause sans variable
  • Une clause de Horn est une clause comportant au
    plus un littéral positif
  • On peut toujours transformer une formule en un
    ensemble de clauses

19
Principe de résolution
  • Cest une règle dinférence qui sapplique aux
    clauses
  • Principe sur des clauses concrètes
  • G G1? G2 ? ? Gn
  • H ?G1 ? H2 ? ? Hm
  • K G2 ? ? Gn ? H2 ? ? Hm
  • K est le résolvant de G et H
  • G1 et ?G1 sont des littéraux complémentaires

20
Cas particuliers
  • P et ?P ? Q se résolvent en Q (modus ponens)
  • ?G ? H et ?H ? K se résolvent en ?G ? K
    (enchaînement)
  • ?Q et ? P ? Q se résolvent en ?P (modus tollens)

21
Utilisation
  • Le principe de résolution est une règle
    dinférence saine, i.e. tout résolvant est une
    conséquence logique des deux clauses parentes
  • Pour appliquer le principe de résolution à des
    clauses non concrètes, on définit lunification,
    afin de rechercher des littéraux complémentaires

22
Unification
  • Deux termes t1 et t2 sont unifiables sil existe
    une substitution s des variables de t1 et t2
    telle que s(t1) s(t2)
  • Exemples
  • pere(X,jean) sunifie avec pere(Y,Z) si XY et
    jeanZ
  • pere(jean,mere(X)) sunifie avec
    pere(Y,mere(pierre) si jeanY et Xpierre

23
Exemple 1
  • Les barbiers rasent tous ceux qui ne se rasent
    pas eux-mêmes
  • Aucun barbier ne rase quelquun qui se rase
    lui-même
  • Le barbier se rase-t-il lui même ?
  • Montrons que si les deux premières assertions
    sont vraies, alors il ne peut y avoir de barbier

24
Formalisation
  • barbier(X) ? ?rase(Y,Y) ? rase(X,Y)
  • i.e. ? barbier(X)? rase(Y,Y) ? rase(X,Y)(1)
  • barbier(X) ? rase(Y,Y) ? ?rase(X,Y)
  • i.e. ? barbier(X) ? ? rase(Y,Y) ? ? rase(X,Y)(2)
  • barbier(b) (3)
  • On veux montrer (1) ?(2) ? ?(3),
  • i.e. réfuter (1) ?(2) ?(3)

25
Résolution
  • (3) et (1) se résolvent en (4)
  • rase(Y,Y) ? rase(b,Y), i.e. rase(b,b)
  • (3) et (2) se résolvent en (5)
  • ? rase(Y,Y) ? ? rase(b,Y), i.e. ? rase(b,b)
  • (4) et (5) se résolvent en la clause vide

26
Résolution Unification Exemple 2
1. sélectionner un littéral
1.) ?X prendre_parapluie(X) ? ?pleut(X) 2.)
pleut(paris) 1.) prendre_parapluie(paris) ?
?pleut(paris) 2.) pleut(paris) 12)
prendre_parapluie(paris)
2. Renommage non nécessaire
3. Pgu ? X / paris
4. appliquer ?
5. résolution
27
Résolution prolog
question
1) connaît_logique(X) ? bon_etudiant(X) ?
enseignant(Y,X) ? logicien(Y) 2)
bon_etudiant(david) 3) logicien(michel) 4)
enseignant (michel,david)
  • ? connaît_logique(Z)
  • ? bon_etudiant(X) ? enseigant(Y,X) ?
    logicien(Y)
  • ? enseignant(Y,david) ? logician(Y)
  • ? logicien(michel)
  • ?

Z/X
X/david
Réponse Z/david ? connaît_logique(david)
Y/michel

28
Backtracking
  • ? connait_logique(Z)
  • ? bon_etudiant(X) ? enseignant(Y,X) ?
    logicien(Y)
  • ? enseignant(Y,cécile) ? logicien(Y)
  • ? enseignant(Y,david) ? logicien(Y)
  • ? logicien(michel)
  • ?

1) connait_logic(X) ? bon_etudiant(X) ?
enseignant(Y,X) ? logicien(Y) 2)
bon_etudiant(cécile) 3) bon_etudiant(david) 4)
logicien(michel) 5) enseigant(michel,david)
?
Retour arrière !
Pour essayer une autre clause
29
Suite à vos cahiers
  • Description de la résolution prolog
  • un premier programme prolog
Write a Comment
User Comments (0)
About PowerShow.com