Représentation des connaissances en logique

Documents pareils
Chapitre 2. Eléments pour comprendre un énoncé

Logique : ENSIIE 1A - contrôle final

Logique. Plan du chapitre

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Utilisation des tableaux sémantiques dans les logiques de description

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Chapitre 2 Le problème de l unicité des solutions

Probabilités (méthodes et objectifs)

Bases de données Cours 5 : Base de données déductives

Résolution d équations non linéaires

Commun à tous les candidats

Une introduction rapide à Coq

Algèbre binaire et Circuits logiques ( )

Image d un intervalle par une fonction continue

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

La fonction exponentielle

Intelligence artificielle appliquée à l automatique

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Cours de mathématiques

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Développements limités. Notion de développement limité

Simulation de variables aléatoires

Limites finies en un point

Qualité du logiciel: Méthodes de test

GEA II Introduction aux probabilités Poly. de révision. Lionel Darondeau

Algorithmique des Systèmes Répartis Protocoles de Communications

Université Paris-Dauphine DUMI2E 1ère année, Applications

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Chapitre 7 : Intégration sur un intervalle quelconque

Probabilités conditionnelles Exercices corrigés

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Spécification et certification d implantation chaînée avec des orbites : les hypercartes combinatoires

Cours d algorithmique pour la classe de 2nde

Quatrième partie IV. Test. Test 15 février / 71

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Travaux dirigés d introduction aux Probabilités

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

OM 1 Outils mathématiques : fonction de plusieurs variables

Structures algébriques

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Résolution de systèmes linéaires par des méthodes directes

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Cours d Analyse. Fonctions de plusieurs variables

Intelligence Artificielle Planification

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

MIS 102 Initiation à l Informatique

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Évaluation et implémentation des langages

Théorème du point fixe - Théorème de l inversion locale

Initiation à l algorithmique

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Les devoirs en Première STMG

Compilation. Algorithmes d'analyse syntaxique

Bases de données déductives

Correction du Baccalauréat S Amérique du Nord mai 2007

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Correction du baccalauréat S Liban juin 2007

Marc HINDRY. Introduction et présentation. page 2. 1 Le langage mathématique page 4. 2 Ensembles et applications page 8

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

1. Structure d'un programme FORTRAN 95

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Fonctions de deux variables. Mai 2011

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Raisonnement par récurrence Suites numériques

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Gestion mémoire et Représentation intermédiaire

Systèmes décisionnels et programmation avancée

Introduction à l analyse numérique : exemple du cloud computing

Pour l épreuve d algèbre, les calculatrices sont interdites.

1.1 Codage de source et test d hypothèse

Génie Logiciel avec Ada. 4 février 2013

Problématique / Problématiser / Problématisation / Problème

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

3. Conditionnement P (B)

Compression Compression par dictionnaires

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

Chp. 4. Minimisation d une fonction d une variable

Programmation en Java IUT GEII (MC-II1) 1

Utilitaires méconnus de StrataFrame

Procédure de sauvegarde - Cobian Backup

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Pourquoi l apprentissage?

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Intégration et probabilités ENS Paris, TD (20)13 Lois des grands nombres, théorème central limite. Corrigé :

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Les probabilités. Guide pédagogique Le présent guide sert de complément à la série d émissions intitulée Les probabilités produite par TFO.

Cours 1 : La compilation

Fondements de l informatique Logique, modèles, et calculs

Capes Première épreuve

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Transcription:

Représentation des connaissances en logique Approche déclarative bien éprouvée qui permet de disposer de méthodes de représentation et de déduction solides basées sur des années d expérience des mathématiciens logique des propositions - méthode de preuve efficace - trop restreint car il n y a pas de quantificateurs logique des prédicats - dans le cas général, indécidable - méthodes qui s arrêteront si c est un théorème mais risquent de ne pas s arrêter si on l applique à une formule non valide (semi-décidable)

Logique des propositions Définitions: T et F sont des propositions identificateur est une proposition associé à T ou F si B est une proposition alors B est une proposition si B et C sont des propositions alors B C, B C, B C, B C sont des propositions Remarque: B C n est F que si B = T et C = F Par exemple: s il pleut pas de pique-nique s il ne pleut pas alors on ne peut rien dire...

Exemples de traduction d énoncés en logique des propositions pleut pique-nique contremandé être mouillé rester à la maison p pc m rm s il pleut, mais je reste à la maison alors je ne serai pas mouillé je serai mouillé s il pleut s il pleut et que le pique-nique n est pas contremandé ou que je ne reste pas à la maison, je serai mouillé que le pique-nique soit contremandé ou non, je reste à la maison s il pleut soit qu il pleuve pas ou que je reste à la maison (p rm) m p m ((p pc) rm) m ou (p ( pc rm)) m pc pc p rm p rm

Logique des prédicats identificateurs peuvent être associés à d autres valeurs (entiers, caractères, ensembles,... ) un identificateur peut être remplacé par une expression (x < y) quantificateurs var, var prédicats (p(x)) fonctions

Interprétation sur un domaine D non-vide chaque item est affecté à un élément de D chaque variable est affectée à un sous-ensemble non-vide de D chaque prédicat p d arité n définit une projection de D n {T, F } chaque fonction f d arité m définit une projection D m D Avec une interprétation, on peut trouver le sens d une expression (une affectation d une valeur de vérité prise de {T, F }) interprétation directe pour T, F, constantes, variables, fonctions, prédicats. règles habituelles pour,,,, variable x dans une expression E xe T si E = T pour toutes les affectations de x xe T si E = T pour au moins une affectation de x

Exemples de traduction en logique des prédicats 1 Marcus était un homme homme(marcus) 2 Marcus était un pompéien pompeien(marcus) 3 Tous les pompéiens étaient des Xpompeien(X ) romain(x ) Romains 4 César était un dirigeant dirigeant(cesar) 5 Tous les romains étaient soit loyaux à César ou l haïssaient Xromain(X ) loyala(x, cesar) hair(x, cesar 6 Tout le monde est loyal à quelqu un 7 Les personnes essaient seulement d assassiner les dirigeants auxquels ils ne sont pas loyaux 8 Marcus a essayé d assassiner César X Yloyala(X, Y ) ou Y Xloyala(X, Y ) X Ypersonne(X ) dirigeants(y ) essaiedassassiner(x, Y ) loyala(x, Y ) essaiedassassiner(marcus, cesar)

Marcus est-il loyal à César? Preuve en reculant car le facteur de branchement est plus petit loyala(marcus, cesar) (7) personne(marcus) dirigeant(cesar) essaiedassassiner(marcus, cesar) (4) personne(marcus) essaiedassassiner(marcus, cesar) (8) personne(marcus) Il nous manque donc le fait qu un homme est une personne Xhomme(X ) personne(x ) ce qui nous permet de continuer avec homme(marcus)

Marcus est-il loyal à César? Preuve en reculant car le facteur de branchement est plus petit loyala(marcus, cesar) (7) personne(marcus) dirigeant(cesar) essaiedassassiner(marcus, cesar) (4) personne(marcus) essaiedassassiner(marcus, cesar) (8) personne(marcus) Il nous manque donc le fait qu un homme est une personne Xhomme(X ) personne(x ) ce qui nous permet de continuer avec homme(marcus) phrases en langue naturelle peuvent être ambiguës plusieurs choix de représentation doit ajouter des évidences

Extension de la logique avec des fonctions évaluables gt(1, 0) lt(0, 1) gt(2, 1) lt(1, 2)...... 1 Marcus était un homme homme(marcus) 2 Marcus était un pompéien pompeien(marcus) 3 Marcus est né en 40 après nait(marcus, 40) J.C. 4 Tous les hommes sont mortels Xhomme(X ) mortel(x ) 5,6 Tous les pompéiens moururent eruption(volcan, 79) lors de l éruption du Xpompeien(X ) meurt(x, 79) volcan en 79 7 Aucun mortel ne vit plus de 150 ans 8 Nous sommes maintenant en 2009 X T 1 T 2mortel(X ) nait(x, T 1) gt(t 2 T 1, 150) mort(x, T 2) maintenant = 2009

Est-ce que Marcus est vivant? Il y a deux approches: 1. il aurait plus de 150 ans 2. il est mort à cause de l éruption du volcan Il faut maintenant ajouter deux autres règles: 9 un vivant n est pas mort X Tvivant(X, T ) mort(x, T ) 10 un mort reste mort!!! X T 1 T 2 meurt(x, T 1) gt(t 2, T 1) mort(x, T 2)

Marcus est-il vivant? (n a pas survécu à l éruption) vivant(marcus, maintenant) (9) mort(marcus, maintenant) (10) meurt(marcus, T 1) gt(maintenant, T 1) (5) pompeien(marcus) gt(maintenant, 79) (2) gt(maintenant, 79) (8) gt(2009, 79) (calcul de gt) OK

Marcus est-il vivant? (trop vieux maintenant) vivant(marcus, maintenant) (9) mort(marcus, maintenant) (7) mortel(marcus) nait(marcus, T 1) gt(maintenant T 1, 150) (4) homme(marcus) nait(marcus, T 1) gt(maintenant T 1, 150) (1) nait(marcus, T 1) gt(maintenant T 1, 150) (3) gt(maintenant 40, 150) (8) gt(2009 40, 79) (calcul de ) gt(1969, 79) (calcul de gt) OK

Procédure d inférence processus de dérivation de conclusions à partir de prémisses en une ou plusieurs étapes Exemples de règles d inférences: modus ponens : p q p q modus tollens : p q q p elimination des et ( ): p q p q introduction des et ( ): p q p q instanciation universelle: Xp(X ) p(a), si a domaine de X

Ces règles sont pûrement mécaniques : elles permettent de passer d une conclusion à une autre par application de règles générales (dérivation). Toutefois, il y a souvent des choix à faire entre plusieurs dérivations et on cherche alors une méthode systématique qui soit: valide complète efficace

Résolution applique toujours la même opération travaille sur une forme standardisée On prouve qu une chose est vraie en montrant que sa négation amène une contradiction avec les énoncés connus. Ce n est pas très intuitif, mais c est systématique. Etapes de preuve: transforme en forme clausale ajoute la négation de ce qu on veut prouver à l ensemble des axiomes résout ces clauses en produisant de nouvelles clauses produit une contradiction en générant une clause vide les substitutions qui ont produit la contradiction donnent la réponse

Transformation en forme clausale (1) Une clause est une disjonction de littéraux positifs ou négatifs. r(z, a, f (X )) t(u) v(b, k(c)) On peut transformer toute formule logique des prédicats en une clause. X {p(x ) { Y {p(y ) p(f (X, Y ))} Y {q(x, Y ) p(y )}}} 1. éliminer les implications (a b a b) X { p(x ) { Y { p(y ) p(f (X, Y ))} Y { q(x, Y ) p(y )}}}

Transformation en forme clausale (2) 2. réduire la portée des négations (a b) a b (a b) a b a a ( Xa) X ( a) ( Xa) X ( a) X { p(x ) { Y { p(y ) p(f (X, Y ))} Y {q(x, Y ) p(y )}}} 3. standardiser les variables pour les rendre uniques X { p(x ) { Y { p(y ) p(f (X, Y ))} W {q(x, W ) p(w )}}}

Transformation en forme clausale (3) 4. éliminer les quantificateurs existentiels (skolemisation) Y Xp(X, Y ) yp(g(y ), Y ) si n est pas dans la portée d un alors on crée une constante Xp(X ) P(a) X { p(x ) { Y { p(y ) p(f (X, Y ))} {q(x, g(x )) p(g(x ))}}} 5. convertir en forme prenex (tous les quantificateurs au début) X Y { p(x ) {{ p(y ) p(f (X, Y ))} {q(x, g(x )) p(g(x ))}}}

Transformation en forme clausale (4) 6. transformer la matrice en forme conjonctive normale (conjonction de disjonctions) a {b c} {a b} {a c} X Y {{ p(x ) p(y ) p(f (X, Y ))} { p(x ) q(x, g(x ))} { p(x ) p(g(x ))}} 7. éliminer les quantificateurs universels 8. éliminer les pour obtenir une suite de disjonctions (clauses) { p(x ) p(y ) p(f (X, Y ))} { p(x ) q(x, g(x ))} { p(x ) p(g(x ))} On peut prouver que si un ensemble de clauses est impossible à satisfaire, il en est de même pour le système original.

Principe de résolution a b a c b c car a et a ne peuvent être vrais en même temps, il faut donc que b ou c soient vrais pour conserver la véracite du système. On peut aussi le comprendre en sachant que la deuxième clause équivaut à a c.

Résolution en logique des propositions p p (1) p q r p q r (2) s t q s q (3) t q (4) t t (5) on veut prouver r, donc on ajoute r aux clauses existantes. r p q r (2) p q p (1) q q t (4) t t (5)

Unification En logique des propositions, l appariement des clauses est direct mais en logique des prédicats, c est plus complexe à cause des variables. L unification est le processus de détermination de la possibilité de rendre deux expressions identiques au moyen de substitution de variables.

Exemples d unification d arbres fils fils = fils X Y jasmin guy jasmin guy {X/jasmin,Y/guy}

Exemples d unification d arbres fils fils = fils X Y Z guy Z guy {X/Z,Y/guy}

Exemples d unification d arbres p p = p a X f Z f f a f f g Z V a g Y Y {a/z,f(a)/x,g(y)/v}

Exemples d unification d arbres p p f g X f a Y X non unifiable car f(a) =/= g(y)

Exemples d unification d arbres g g X f X f b X Z g X non-unifiable car X =/= g(x)

Procédure d unification procedure UNIFIER(X,Y) if X=Y then retourner () else if VARIABLE(X) then retourner(unifiervar(x,y)) else if VARIABLE(Y) then retourner(unifiervar(y,x)) else if CONSTANT(X) ou CONSTANT(Y) then retourner(echec) else if LONGUEUR(X) =/= LONGUEUR(Y) then retourner(echec) else G := [] for I := 1 to LONGUEUR(X) do S := UNIFIER(X[I],Y[I]) if S = echec then retourner(echec) end if G := COMPOSER(G,S) X := SUBSTITUER(X,G) Y := SUBSTITUER(Y,G) retourner(g) end for end if procedure UNIFIERVAR(X,Y) if INCLUS(X,Y) then retourner(echec) else retourner([x/y]) end if

Exemples de traduction en logique des prédicats sous forme de clauses 1 Marcus était un homme homme(marcus) 2 Marcus était un pompéien pompeien(marcus) 3 Tous les pompéiens étaient des pompeien(x 1) romain(x 1) Romains 4 César était un dirigeant dirigeant(cesar) 5 Tous les romains étaient soit loyaux à César ou l haïssaient romain(x 2) loyala(x 2, cesar) hair(x 2, cesar) 6 Tout le monde est loyal à quelqu un 7 Les hommes essaient seulement d assassiner les dirigeants auxquels ils ne sont pas loyaux 8 Marcus a essayé d assassiner César loyala(x 3, f (X 3)) homme(x 4) dirigeant(y 1) essaiedassassiner(x 4, Y 1) loyala(x 4, Y 1) essaiedassassiner(marcus, cesar)

Preuve par résolution: Marcus haït-il César? hair(marcus, cesar) romain(x 2) loyala(x 2, cesar) hair(x 2, cesar) marcus/x 2 romain(marcus) loyala(marcus, cesar) pompeien(x 1) romain(x 1) marcus/x 1 pompeien(marcus) loyala(marcus, cesar) pompeien(marcus) loyala(marcus, cesar) homme(x 4) dirigeant(y 1) essaiedassassiner(x 4, Y 1) loyala(x 4, Y 1) homme(marcus) dirigeant(cesar) essaiedassassiner(marcus, cesar) homme(marcus) dirigeant(cesar) essaiedassassiner(marcus, cesar) dirigeant(cesar) essaiedassassiner(marcus, cesar) essaiedassassiner(marcus, cesar) marcus/x 4, cesar/y 1

Traduction en clauses avec fonctions évaluables 1 Marcus était un homme homme(marcus) 2 Marcus était un pompéien pompeien(marcus) 3 Marcus est né en 40 après J.C. nait(marcus, 40) 4 Tous les hommes sont mortels homme(x 1) mortel(x 1) 5,6 Tous les pompéiens moururent lors de l éruption du volcan en 79 7 Aucun mortel ne vit plus de 150 ans eruption(volcan, 79) pompeien(x 2) meurt(x 2, 79) mortel(x 3) nait(x 3, T 1) gt(t 2 T 1, 150) mort(x 3, T 2) 8 Nous sommes maintenant en maintenant = 2009 2009 9a,b un vivant n est pas mort vivant(x 4, T 3) mort(x 4, T 3) mort(x 5, T 4) vivant(x 5, T 4) 10 un mort reste mort!!! meurt(x 6, T 5) gt(t 6, T 5) mort(x 6, T 6)

Est-ce que Marcus est vivant? Preuve par résolution (avec réduction et égalité) vivant(marcus, maintenant) vivant(x 4, T 3) mort(x 4, T 3) marcus/x 4, maintenant = T 3 mort(marcus, maintenant) meurt(x 6, T 5) gt(t 6, T 5) mort(x 6, T 6) marcus/x 6, maintenant/t 6 meurt(marcus, T 5) gt(maintenant, T 5) pompeien(x 2) meurt(x 2, 79) marcus/x 2, 79/T 5 pompeien(marcus) gt(maintenant, 79) maintenant = 2009 pompeien(marcus) gt(2009, 79) réduction de 2009 > 79 pompeien(marcus) pompeien(marcus)

Stratégies de preuve La procédure de résolution nous dit comment combiner les clauses mais il reste à déterminer l ordre dans lequel faire les combinaisons. Exemples de stratégies: en largeur + complète - explosion combinatoire ensemble de support: part de la contradiction comme ensemble de départ et on ne considère que les clauses pouvant se résoudre avec une de cet ensemble qu on élargit peu à peu unit preference : lorsque c est possible on résoud avec des clauses unitaires de façon à diminuer le nombre de littéraux dans les clauses résultantes linear input form : à chaque étape on résoud la clause obtenue le plus récemment. C est plus efficace mais risque de ne plus être complet.

Logiques non-classiques La logique des prédicats est quelque peu restrictive pour décrire toutes les situations. logique non-monotone logique des défauts logique modale (nécessité, obligation, savoir, croyance...) logique temporelle logique floue logique probabiliste