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