Logique et Calcul Propositionnel

Transcription

Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Jean-Michel Richer
[email protected]
http://www.info.univ-angers.fr/pub/richer
Université d’Angers
Décembre 2008
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Introduction
Objectif du TD
Se familiariser avec le calcul propositionnel et comprendre
comment il permet :
de modéliser les connaissances et les raisonnements
d’établir des déductions qui permettent d’aboutir à des
conclusions
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Syntaxe et sémantique
Le calcul propositionnel possède :
une syntaxe : ordre dans lequel les symboles apparaissent
une sémantique : interprétation du sens d’un ensemble
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Notion de variable propositionnelle
Definition (Variable propositionnelle)
Une variable propositionnelle est représentée par une lettre
(a, b, p, q, . . .) qui peut prendre l’une des deux valeurs
suivantes : vrai ou faux
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Connecteurs logiques
Definition (Connecteur logique)
Il existe 5 connecteurs logiques de base :
∨ : la disjonction (ou)
∧ : la conjonction (et)
¬ : la négation (non)
→ : l’implication (si . . . alors)
↔ : l’équivalence
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Syntaxe du calcul propositionnel
Definition (Formule bien formée)
On définit une formule bien formée (fbf ) par :
p, où p est une variable propositionnelle
(A ∨ B)
(A ∧ B)
(¬A)
(A → B) : si A alors B
(A ↔ B)
où A et B sont des variables propositionnelles ou des formules
bien formées.
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Représentation syntaxique
Example
Exemple 1
s’il fait beau et que l’on est pas samedi alors je fais du vélo
si je fais du vélo alors c’est le printemps
Ce problème peut être modélisé sous la forme suivante :
variable propositionnelle b = il fait beau
variable propositionnelle s = on est samedi
variable propositionnelle f = je fais du vélo
variable propositionnelle p = c’est le printemps
(((b ∧ (¬s)) → f )
(f → p)
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Forme Normale Conjonctive (FNC)
Pour raisonner et déduire de nouveaux faits nous allons utiliser
une modélisation sous Forme Normale Conjonctive :
Definition (Clause)
une clause est une disjonction de variables propositionnelles :
a ∨ b ∨ ... ∨ p
Definition (Problème sous forme normale conjonctive)
Un problème sous Forme Normale Conjonctive est composé
d’une conjonction de clauses :
(a1 ∨ . . . ∨ an1 )∧
(b1 ∨ . . . ∨ bn2 )∧
...
(k1 ∨ . . . ∨ knk )∧
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Traduction en FNC
On utilise les règles suivantes pour traduire un problème en
FNC :
Formule initiale
A ↔ B)
(A → B)
¬(A ∨ B)
¬(A ∧ B)
¬(¬A)
Transformation
(A → B) ∧ (B → A)
(¬A) ∨ B
((¬A) ∧ (¬B))
((¬A) ∨ (¬B))
A
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Traduction en FNC
Traduction de l’exemple 1, d’après :
((b ∧ (¬s)) → f )
(f → p)
on obtient après transformation :
¬b ∨ s ∨ f
¬f ∨ p
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Principe de résolution
Le Principe de Résolution permet de déduire de nouvelles
connaissances (appelées conclusions)
Definition (Principe de résolution)
Mis au point par John A. Robinson en 1965, il s’énonce :
(A ∨ B)
((¬A) ∨ C)
(B ∨ C)
où B et C sont éventuellement vides
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Principe de résolution pour l’exemple 1
On obtient :
((¬b) ∨ s ∨ f )
((¬f ) ∨ p)
(¬b) ∨ s ∨ p
soit : b → (s ∨ p)
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Cas particuliers du PR
tautologie :
(A ∨ B)
((¬A) ∨ (¬B)
B ∨ (¬B)
on obtient l’expression B ∨ (¬B) qui est une tautologie, elle
est considérée comme toujours vraie et peut généralement
être supprimée.
inconsistance :
¬A
A
⊥
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Résolution de problèmes avec le PR
On peut réaliser deux types de raisonnements :
déduction :
H→C
≡
H ∧ (¬C)
⊥
satisfaction :
H → ⊤? ⊥
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Application
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Le problème des pigeons
Il s’agit d’un problème NP-Complet (difficile à résoudre par un
ordinateur).
Definition (Problème des pigeons)
on dispose de M pigeonniers, chaque pigeonnier peut
accueillir au plus un pigeon,
on dispose également de N pigeons, chaque pigeon doit
être obligatoirement placé dans un pigeonnier
étant donné M et N, répondre à la question suivante :
chaque pigeon sera t-il placé dans un pigeonnier ?
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Représentation du problème des pigeons
On utilise une matrice de variables propositionnelles :
p1,1 p1,2 · · ·
p2,1 p2,2 · · ·
..
..
.
.
pn,1 pn,2 · · ·
p1,m
p2,m
..
.
pn,m
où pi,j est vraie si le pigeon i est placé dans le pigeonnier j
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Modélisation sous forme de contraintes de cardinalités
Definition (Contrainte de cardinalité)
#(α, β, L)
avec
L : liste de variables propositionnelles
α : nombre minimum de variables à vrai
β : nombre maximum de variables à vrai
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Modélisation sous forme de contraintes de cardinalités
Definition (Contrainte de cardinalité 0,1)
#(0, 1, x1 , x2 , . . . , xn )
se traduit en FNC :
¬x1 ∨ ¬x2
..
.
¬x1 ∨ ¬xn
¬x2 ∨ ¬x3
...
¬xn−1 ∨ ¬xn
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Modélisation sous forme de contraintes de cardinalités
Definition (Contrainte de cardinalité 1,1)
#(0, 1, x1 , x2 , . . . , xn )
se traduit en FNC :
¬x1 ∨ ¬x2 ∨ . . . ¬xn
¬x1 ∨ ¬x2
..
.
¬x1 ∨ ¬xn
¬x2 ∨ ¬x3
...
¬xn−1 ∨ ¬xn
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Exercice 1
Le problème des pigeons : instance N = 2, M = 1
1
exprimer le problème avec des contraintes de cardinalité
2
traduire le problème en CNF
3
le résoudre en applicant le principe de résolution
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Exercice 2
Le problème des pigeons : instance N = 3, M = 2
1
exprimer le problème avec des contraintes de cardinalité
2
traduire le problème en CNF
3
le résoudre en applicant le principe de résolution
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Raisonner avec les contraintes de cardinalité
On définit le système de raisonnement suivant :
addition :
#(α1 , β1 , L)
#(α2 , β2 , M)
#(α1 + α2 , β1 + β2 , LM)
si L ∩ M = ∅
inconsistance :
#(α1 , β1 , L)
#(α2 , β2 , L)
⊥
si [α1 , β1 ] ∩ [α2 , β2 ] = ∅
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel
Logique et Calcul Propositionnel
Exercice 3
Reconsidérer le problème des pigeons : instance N = 3, M = 2
1
exprimer le problème avec des contraintes de cardinalité
2
résoudre le problème en utilisant le système précédent
Jean-Michel Richer [email protected] http://www.info.univ-angers.fr/pub/richer
Logique et Calcul Propositionnel