Logique et bases de données Plan Théorie du premier ordre Hypothèses CWA, unique name, domain closure BD comme interprétation BD comme théorie du 1er ordre BD déductives Signification des différentes formes de clauses BDD définies BDD indéfinies Systèmes de programmation logique G. Falquet CUI - Université de Genève 1
Théorie du premier ordre Théorie = langage + axiomes + règles d inférence Théorie du 1er ordre langage: logique des prédicats du 1er ordre règles d inférence: modus ponens et généralisation (m.p.) de A et A B on infère B (gen.) de A on infère x.a axiomes: axiomes logiques A A A A (B A) (A B) (C A (B C)) x.a A(t/x) si x n apparait pas dans le terme t ( x.(a B)) (A x.b) si x n est pas libre dans A + axiomes propres G. Falquet CUI - Université de Genève 2
Dérivations et théorèmes Une formule w est dérivable d un ensemble de formules W (W w) si on peut dériver w de W et des axiomes en appliquant un nombre fini de fois les règles d inférence Un théorème est une formule dérivable directement à partir des axiomes. théorème On peut créer d autres règles de dérivation que m.p. et gen., p.ex. le principe de résolution. Mais elles doivent respecter certaines règles. Relation entre syntaxe et sémantique Un système formel est consistant (sound) si W w implique W = w "Tous les théorèmes sont des conséquences logiques des axiomes" Un système formel est complet (complete) si W = w implique W w "Toutes les conséquences logiques des axiomes sont des théorèmes" G. Falquet CUI - Université de Genève 3
Hypothèses BD + logique Monde clos (CWA) Ce qui n est pas connu comme vrai dans la base est faux p.ex. R(a, b, c) est vrai si <a, b, c> relation-r Nom unique les individus de "nom" différent sont différents Fermeture du domaine il n y a pas d autres individus que ceux de la base Exemple état-bd = Prof(Jean), Prof(Paul), Assistant(André), Assistant(Pierre) Qui n est pas professeur? FD + NU + CWA --> réponse: André et Paul G. Falquet CUI - Université de Genève 4
Langage L(BD) correspondant à BD: BD comme interprétation A chaque schéma de relation R(A1, A2,, An) on associe un symbole de prédicat R (Extension) on ajoute les symboles de prédicat =,, <, >,, qu on interprète sur D Les constantes sont les valeurs trouvées dans la base Interprétation I(BD) Le domaine d interprétation D est l union de toutes les valeurs d attributs qui apparaissent dans la base. La relation r correspondant au schéma R(A1, A2,, An) donne l interprétation du symbole de prédicat R Consistance La base est consistante si pour chaque contrainte C exprimée en L(BD), l interprétation de C selon I(BD) = vrai Requête La réponse à w(x1, x2,, xn) est l ensemble des tuples <d1, d2,, dn> qui rendent w vraie selon l interprétation I(BD) G. Falquet CUI - Université de Genève 5
BD comme théorie du 1er ordre Principe: construire une théorie (axiomes) T(BD) qui admet BD comme unique modèle (unique interprétation qui rend vrais les axiomes). Axiomes d assertion Pour chaque r de BD et chaque tuple <e 1,, e n > de r Particularisation (i) complétion R(e 1,, e n ) Si r = {<e 1,1,, e n,1 >, <e 1,p,, e n,p >} -> x 1. x n.r(x 1. x n ) (x 1 = e 1,1 x n = e n,1 ) (x 1 = e 1,p x n = e n,p ) (ii) nom unique Si D = {e 1,, e r } -> (iii) fermeture du domaine (e 1 e 2 ) (e r 1 e r ) x.x = e 1 x = e r G. Falquet CUI - Université de Genève 6
Axiomes de l égalité réflexivité, symetrie, transitivité, substitution des termes égaux x 1. x n. y 1. y n. P(x 1,, x n ) x 1 = y 1 x n = y n P(y 1,, y n ) Contraintes d intégrité Requêtes BD satisfait w si T(BD) w La réponse à une requête w(x 1,, x n ) est l ensemble des tuples <e 1,, e n > tels que T(BD) w(e 1,, e n ) G. Falquet CUI - Université de Genève 7
Langages d interrogation Le langage de la logique du 1er ordre permet de poser des questions sous forme non procédurale. > calcul relationnel (Codd) Problèmes: Questions pas raisonnables R(x, y, z) la réponse dépend du domaine de valeur Limitations P(x, y, z) R(x, y, z) la réponse ne dépend que de P et R. fonctions du second ordre ( count(p) )? > extensions impures du langage > SQL fonctions non représentables: fermeture transitive > imbrication dans un langage de programmation > bd déductives G. Falquet CUI - Université de Genève 8
BD déductives BDD = ensemble de constantes + ensemble de clauses + contraintes d intégrité clauses P1 Pk R1 Rq équivalent à P1 Pk R1 Rq Classification des différentes formes de clauses Type 1 Constantes -> assertion d un fait Variables -> assertion générale R1(t1,, tk) Type 2 P1(t1,, tr) Constantes -> assertion d un fait négatif Variables -> contrainte d intégrité G. Falquet CUI - Université de Genève 9
Type 3 Contrainte d intégrité Prof(x) Etudiant(x) P1 Pk Type 4 P1 Pk R1 R.i. ou règle de déduction pour calculer R1 Type 5 Constantes -> assertion indéfinie R1 Rq Type 6 P1 Pk R1 Rq C.I. : Parent(x1, y1) Parent(x1, y2) Parent(x1, y3) (y1 = y2) (y1 = y3) (y2 = y3) R.D. : Parent(x, y) Mere(x, y) Pere(x, y) G. Falquet CUI - Université de Genève 10
BDD définies Principe: éviter le non déterminisme de type "A ou B est vrai" BDD définie = théorie (axiomes) + contraintes d intégrité Théorie du 1er ordre = théorie pour les bd conventionnelles + axiomes pour les règles de déductions Axiomes: 1. particularisation et égalité, 2. faits élémentaires, 3. règles de déduction Ax. 2: faits (clauses de type 1 avec constantes) Ax. 3. : clauses de type 4 uniquement R 1 (e 1,1, e n,1 ),, R 1 (e 1,p, e n,p ) P 1 P k R 1 Ax. 1. : reformulation de la complétude pour R 1 x 1. x n.r 1 (x 1. x n ) (x 1 = e 1,1 x n = e n,1 ) (x 1 = e 1,p x n = e n,p ) (* fait élémentaires *) P 1 ( ) P k ( ) (* règle *) etc. G. Falquet CUI - Université de Genève 11
Comme la vision "théorie de la preuve" des bd conventionnelles La réponse à une requête w(x 1,, x n ) est l ensemble des tuples <e 1,, e n > tels que T(BD) w(e 1,, e n ) La base satisfait la contrainte φ si T(BD) φ. Les axiomes de complétude permettent de dériver un fait négatif R 1 (a 1. a n ) quand R 1 (a 1. a n ) n est pas un fait R 1 (a 1. a n ) n est pas dérivable par les axiomes 3 G. Falquet CUI - Université de Genève 12
Définition opérationnelle Eliminer les axiomes de fermeture du domaine -> requêtes à domaine restreint Eliminer nom unique et complétude par negation as finite failure Introduction d une méta-règle: P est vrai ssi -/- P (i.e. ssi on ne peut prouver P) Il faut que le procédé de preuve se termine toujours! Possible car il existe un unique modèle minimal de la théorie La logique devient non monotone: plus d axiomes peut entrainer moins de faits prouvables Il n y a plus besoin des axiomes d égalité G. Falquet CUI - Université de Genève 13
Règles de déductions ou contraintes d intégrité? Les rdd et les c.i. ont la même forme les rdd génèrent de nouveaux faits les c.i. "limitent" le contenu de la base (faits et règles) Quelques critères 1. Les rdd ne doivent pas contenir de fonctions, sinon réponses inifinies et non explicites => les formules contenant des doivent être des c.i. 2. Les clauses de type 5 et 6 donnent des c.i., sinon réponses indéfinies 3. Les clauses de type 3 ne produisent pas de noveaux faits -> c.i. 4. Certaines connaissances générales ne produisent pas de nouveaux faits p.ex. les dépendances fonctionnelles Pere(x, y), Pere(z, y) x = y (l égalité est déjà connue indépendamment de la base) G. Falquet CUI - Université de Genève 14
BDD indéfinies Les axiomes 3 sont des clauses indéfinies ou définies Plus compliqué que les BDD définies P(a, b) P(a, c) R(x, y) S(y, z) P(x, y) Q(x, y, z) 1. Inconsistance par rapport à CWA si on applique negation as failure vole(titi) vole(x) -> oiseau(x) avion(x) Comme on ne peut prouver ni oiseau(titi) ni avion(titi) on déduit oiseau(titi) et avion(titi) Mais {vole(titit), vole(x) -> oiseau(x) avion(x), oiseau(titi), avion(titi)} est inconsistant G. Falquet CUI - Université de Genève 15
Generalized Closed World Assumption E l ensemble des clauses positives non prouvables On a le droit de déduire P(x) seulement si C E. P(x) C est non prouvable Les mécanismes de déductions doivent être plus sophistiqués pour être complets input resolution et résolution LUSH sont complets pour les clauses de Horn mais pas pour les clauses non-horn. Utiliser résolution linéaire, résolution linéaire avec sélection(sl) ou LUST Les réponses ne sont plus définies. p.ex. si on a le fait P(a) P(b) la réponse à P(x) sera x = (a ou b) G. Falquet CUI - Université de Genève 16
,,,, G. Falquet CUI - Université de Genève 17