logique de 1er ordre 03_2015
Transcription
logique de 1er ordre 03_2015
08/03/2015 Logique du premier ordre (Logique de prédicats) 1 Logique propositionnelle: pours et contres Logique propositionnelle est déclarative Logique propositionnelle permet d’exprimer des informations partielles/disjonctives/négatives Logique propositionnelle est compositionnelle: – Le sens du tout est composé des sens des parties – Sens de B1,1 P1,2 est dérivé du sens de B1,1 et de P1,2 Sens dans logique propositionnelle est hors-contexte (context-independent) – (différent de la langue naturelle où le sens est dépendant du contexte) Logique propositionnelle est limitée en capacité d’expression – (pas comme en langue naturelle) – E.g., « ne permet essentiellement que d’exprimer des opérations booléennes sur des propositions” 2 1 08/03/2015 Logique du premier ordre • Logique propositionnelle suppose que le monde contient des faits, • Logique du premier ordre suppose que le monde contient: – Objets (D): personnes, maisons, nombres, couleurs, match de baseball, guerre, … – Relations (Dn{vrai, faux}): rouge, rond, nombre-premier, est frère de, est plus grand que, est partie de, … – Fonctions (DnD): père de, meilleur ami de, un de plus que, … 3 Fonction vs. prédicat Jean Marie Philippe •Fonction: père_de(Philippe) = Jean •Prédicat: est_père_de(Jean, Philippe) = vrai •Les noms importent peu. C’est la définition qui est importante. 4 2 08/03/2015 Syntaxe de LPO: éléments de base • • • • • • • Constantes Ali, 2, ISSAT,... Prédicats Frère, >,... Fonctions Sqrt, EstEtudiantDe,... Variables x, y, a, b,... (minuscule) Connecteurs , , , , Égalité = Quantificateurs , 5 Phrases atomiques Phrase atomique = prédicat (terme1,...,termen) | terme1 = terme2 Terme = prédicat fonction (terme1,...,termen) | constante | variable phrase • E.g., Frère(Ali,Bilel) Age(Ali) > Age(Bilel) fonction constante terme 6 3 08/03/2015 Phrases complexes • Les phrases complexes sont composées des phrases atomiques avec des connecteurs S, S1 S2, S1 S2, S1 S2, S1 S2, E.g. Frère(Ali,Bilel) Frère(Bilel,Ali) >(1,2) ≤ (1,2) >(1,2) >(1,2) 7 Valeur de vérité en LPO • Les phrases sont vraies par rapport à un modèle et à une interprétation • Un modèle contient des objets (éléments du domaine) et des relations entre eux • Une interprétation spécifie les référés pour Symboles de constante → objets (la personne John) symboles de prédicat → relations (relation de père-fils) symboles de fonction → relation fonctionnelle (père-de) • Une phrase atomique prédicat(terme1,...,termen) est vraie ssi les objets référés par terme1,...,termen sont en relation référée par prédicat 8 4 08/03/2015 Quantificateur Universel • <variables> <phrase> Everyone at ISSAT is smart (Tout le monde dans ISSAT est intelligent): x At(x,ISSAT) Informaticien(x) • x P est vraie dans un modèle m ssi P est vraie avec chaque objet qu’on peut assigner à x dans son domaine • Grosso modo: équivalent à la conjonction des instantiations de P ... At(Ali,ISSAT) Informaticien(Ali) At(Bilel,ISSAT) Informaticien(Bilel) At(Fatma,ISSAT) Informaticien(Fatma) 9 Une erreur commune à éviter • typiquement, est le connecteur principal avec • Erreur commune: utiliser comme connecteur principal avec : – Correct Tout le monde dans ISSAT est intelligent): x At(x,ISSAT) Informaticien(x) – Incorrect x At(x,ISSAT) Informaticien (x) signifie “chaque personne est dans l’ISSAT et chque personne est Informaticien » 10 5 08/03/2015 Illustration Personne Informaticien ISSAT x At(x,ISSAT) Informaticien(x) (Sous-ensemble) x At(x,ISSAT) Informaticien(x) 11 Quantification existentielle • <variables> <phrase> • Someone at ISSAT is smart (Quelqu’un à ISSAT est intelligent): – x At(x,ISSAT) Informaticien (x) • x P est vraie dans un modèle m ssi P est vraie avec x associée à un certain objet possible dans le modèle • Grosso modo: équivalent à la disjonction d’instanciations de P At(Bilel,ISSAT) Informaticient(Bilel) At(Salah,ISSAT) Informaticien (Salah) At(ALI,ISSAT) Informaticien (ALI) ... 12 6 08/03/2015 Une autre erreur commune à éviter • Typiquement, est généralement utilisé avec • Erreur commune: utiliser comme le connecteur principal avec : – Correct x At(x,ISSAT) Informaticien (x) – Incorrect x At(x,ISSAT) Informaticien (x) est vraie s’il existe quelqu’un qui n’est pas Informaticien ! 13 Illustration Personne Informaticien x x ISSAT x At(x,ISSAT) Informaticien (x) (intersection non vide) x At(x,ISSAT) Informaticien (x) 14 7 08/03/2015 Quelques exemples • Toute personne est mortel. Socrate est une personne. x Personne(x) Mortel(x) Personne(Socrate) • Socrate est mortel. • IA est un cours à ISSAT. Mortel(Socrate) Cours(IA) Donné_à(IA, ISSAT) ou Cours(IA,ISSAT) • Tous ceux qui suivent le cours IA sont des étudiants à ISSAT. –Ceux qui suivent le cours IA: x Suivre(x,IA) Cours(IA) –Étudiants à ISSAT: Étudiant(x,ISSAT) –Toute la phrase: x Suivre(x,IA) Cours(IA) Étudiant(x,ISSAT) • Certains dans le cours IA sont des étudiants à ISSAT. • Propriété: Jean est un étudiant. x Suivre(x,IA) Cours(IA) Étudiant(x,ISSAT) –Étudiant(Jean) –Ou x Étudiant(Jean, x) • Négation: Aucun est irremplaçable. –x Personne(x) Remplaçable(x) –x Personne(x) Remplaçable(x) ? 15 Propriétés des quantificateurs • x y est équivalent à y x • x y est équivalent à y x • x y n’est pas équivalent às y x • x y Aimer(x,y) – “il existe une personne qui aime toutes lespersonnes du monde” • y x Aimer(x,y) – “toute personne dans le monde est aimée par au moins une personne” • Dualité de quantificateurs: chacun peut être exprimé en utilisant l’autre: x P = x P, x P = x P – x Adore(x,IceCream) – x Adore(x,Broccoli) x Adore(x,IceCream) x Adore(x,Broccoli) 16 8 08/03/2015 Exercice • Voici des paquets de groupe de phrases à vous de vous exercer puis vérifier vos traductions : a) Quiconque sait lire est instruit b) Les dauphins ne sont pas instruits c) Certains dauphins sont intelligents d) Certains êtres intelligents ne savent pas lire e) Flipper est un dauphin f) Le frère de Flipper est intelligent 17 a) Tous les chiens à poils ras sont frileux b) Un chien est frileux seulement s'il est à poils ras c) Aucun chien à poils ras n'est frileux d) Certains chiens à poils ras sont frileux 18 9 08/03/2015 FBF • Le langage est constitué de l'ensemble des Formules Bien Formées (appelées aussi : FBFs) ou expressions bien formées défini comme suit : – atomes sont des fbfs – si F et G sont des fbfs alors (¬G), (F ∧ G), (F ∨ G), (F → G) et (F ↔ G) sont des fbfs – si G est une fbf et X une variable alors (∃X)G et (∀X)G sont des fbfs. – toutes les fbfs sont obtenues par application des 3 règles ci-dessus. 19 • Soient A(X,Y), B(X), C(X,Y), D(X) des fbfs. Essayez de déterminer si les formules suivantes appartiennent à la logique des prédicats : a) (∃X ∀Y A(X, Y) → ∀X ¬D(X)) b) (∀X ∃Y (A(X,Y) ∧ D(B(X))) 20 10 08/03/2015 Substitution • Remplacer une variable par un terme (constante, variable, ou fonction) x/Terme – – – {x/Hillary, y/Bill} {x/y, z/Bill} {x/Mère_de(z), y/Père_de(z)} • Contraintes – x ne doit pas apparaître dans Terme • – {x/Mère_de(x)} X Une variable ne peut pas être substituée 2 fois • {x/Jean, x/Philippe} X • Sert à instancier une expression générale (contenant des variables) 21 Application d’une substitution • x/Terme: Remplacer toutes occurrences de la variable par le Terme e.g. FilsDe(x,z) {x/y, z/Bill} : FilsDe(y,Bill) FilsDe(x,y) {x/y, z/Bill} : FilsDe(y,y) (FilsDe(x,z) President(z,c) Pays(c) ) {x/y, z/Bill}: FilsDe(y,Bill) President(Bill,c) Pays(c) • Composition des substitutions σ1 ● σ2: appliquer σ1 ensuite σ2 = appliquer σ2 sur σ1 et faire l’union avec σ2 e.g. {y/z, x/Bill} ● {z/Hillary, v/Chelsea} = {y/Hillary, x/Bill} {z/Hillary, v/Chelsea} = {y/Hillary, x/Bill, z/Hillary, v/Chelsea} 22 11 08/03/2015 Pourquoi substitution? • Tout homme est mortel. • Socrate est un homme. • Donc, Socrate est mortel. x Homme(x) Mortel(x) Homme(Socrate) Mortel(Socrate) σ={x/Socrate} Homme(Socrate) Mortel(Socrate) Homme(Socrate) Mortel(Socrate) 23 Calcul des prédicats Ecriture sous forme clausale • Algorithme d’écriture d’une formule sous forme prénexe : b. Accoler tous les connecteurs ¬ aux atomes: - Utiliser les formules: ¬(¬A) ≡ A Lois de Morgan: ¬(A∧B) ≡ ¬A∨¬B ¬(A∨B) ≡ ¬A∧¬B ¬ (∀X) G(X) ≡ (∃X) ¬ G(X) ¬ (∃X) G(X) ≡ (∀X) ¬ G(X) 2014/2015 Yaroub Elloumi 24 12 08/03/2015 Calcul des prédicats Ecriture sous forme clausale e. Faire passer les quantificateurs devant - utiliser les équivalences qui suivent, où Q représente une formule qui n’invoque pas d’occurrences libres de la variable x (∀X) G(X) ∨ H ≡ (∀X) (G(X) ∨ H) (∀X) G(X) ∧ H ≡ (∀X) (G(X) ∧ H) (∃X) G(X) ∨ H ≡ (∃X) (G(X) ∨ H) (∃X) G(X) ∧ H ≡ (∃X) (G(X) ∧ H) H ∨ (∀X) G(X) ≡ (∀X) (H∨ G(X) ) H ∧ (∀X) G(X) ≡ (∀X) (H∧ G(X) ) H ∨ (∃X) G(X) ≡ (∃X) (H∨ G(X) ) 2014/2015 H ∧ (∃X) G(X) ≡ (∃X)Yaroub (H∧Elloumi G(X) ) 25 Exercice • soit à traduire le groupes de phrases suivantes : a) Marcus était un homme b) Marcus était un pompéien c) Tous les pompéiens étaient des romains d) César était souverain e) Tous les romains étaient soient fidèles à César, soient le haïssaient f) Chacun est fidèle à quelqu'un g) Les gens n'essayent d'assassiner que les souverains auxquels ils ne sont pas fidèles 26 h) Marcus a essayé d'assassiner César 13 08/03/2015 Ingénierie de connaissances dans LPO 1. Identifier la tâche 2. Assembler les connaissances pertinentes 3. Décider sur le vocabulaire de prédicats, de fonctions et de constantes 4. Encoder les connaissances générales dans le domaine 5. Encoder une description de l’instance spécifique du problème 6. Poser des questions à la procédure d’inférence et obtenir des réponses 7. Debugger la base de connaissances 27 14