Cours 5 : ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html
Plan du cours 1 Introduction 2 approche sémantique approche axiomatique 3 règles de déduction bases de données déductives approche sémantique approche axiomatique 4 programmes en
Bibliographie Livres : A. Thayse et al. : Approche logique de l intelligence artificielle. Tome2 : de la logique modale à la logique des bases de données. Dunod ed. 1989. H. Garcia-Molina, J. D. Ullman, J. Widow : Database systems, the complete book. Prentice Hall ed. 2002. N.Bidoit :. 1992. C. Zaniolo : LDL++ tutorial. UCLA. 1998. Supports de cours : R. Godin : Logique et bases de données. 2004
approche sémantique approche axiomatique Logique des prédicats : sémantique des bases de données relationnelles Approche sémantique : BD relationnelle : Langage logique du 1er ordre : LR BD : modèle de Herbrand de certaines formules de ce Langage Evaluation d une requête : sélection des instances fondamentales de la requête dans le modèle Approche axiomatique : BD relationnelle : Théorie logique du 1er ordre Evaluation d une requête : sélection des instances fondamentales de la requête qui sont des théorèmes de la théorie
approche sémantique approche axiomatique Langage relationnel Langage relationnel LR : associé au schéma S d une BD (adaptation de la langage logique des prédicats) Vocabulaire Nombre fini de constantes : réunion des domaines de S Pas de symbole fonctionnel Nombre fini de prédicats, un prédicat spécial égalité (noté =) Chaque prédicats de LR : schéma d une relation de S Procédé de formation des formules Même procédé que la logique des prédicats
approche sémantique approche axiomatique requêtes < x Q(x) > : x(x 1,,x n ) variables cibles de la requête Q(x) : formule de LR < Q > : requête oui-non Q : formule close de LR exemples de requêtes < x y (pere(x,y) (pere(y,lucie) mere(y,lucie))) > contraintes d intégrité : formules closes de LR x y z ((pere(x,z) mere(y,z)) n (conjoint(x,y,n)))
approche sémantique approche axiomatique reformulation des requêtes non acceptables requête non acceptable requête acceptable < x F(x) > < x T(x) F(x) > < y F(x,y) > < y x(t(x) F (x)) > < x,y, z F 1(x,y) F 2(y, z) > < x, y,z F(x,z) (F 1(x,y) F 2(y,z)) >
approche sémantique approche axiomatique correspondance LR algèbre relationnelle LR algèbre relationnelle < x r > r < x r(x,a) > π x(σ y=a(r)) < y,x F(x) > D < x F(x) > < x F 1(x 1) F 2(x 2) > < x 1 F 1(x 1) > < x 2 F 2(x 2) > < x F 1(x 1) F 2(x 2) > < x F 1(x 1) > < x F 2(x 2) >
approche sémantique approche axiomatique correspondance LR algèbre relationnelle (suite) LR algèbre relationnelle < x yf(x,y) > < x, y F(x,y) > D < x yf(x,y) > π x( < x,y F(x,y) > ) < x F(x) > D n \ < x F(x) > ) α β (α β) (β α)
approche sémantique approche axiomatique correspondance LR algèbre relationnelle (suite) α β ( α β) < x x = x > D < x x = a > {(a)} < x x = y > {(a,a) (a) D} < x p(a) > {()} si a p < x p(a) > {} si a p
approche sémantique approche axiomatique sémantique de LR interprétation : I = (D,I c,i v ) où D : ensemble non vide, domaine d interprétation I c : la fonction : Cons D D m {0,1} c I c (c) P I c (P) I v : la fonction : Var D x I v (x)
approche sémantique approche axiomatique interprétation d une formule de la logique LR A une formule de LR, association d une valeur de vérité I(A) à A si x est une variable libre alors I(x) = I v (x) I(c) = (I c (c)) I(P(t 1,,t m )) = (I c (P))(I(t 1 ),,I(t m )) si A et B sont des formules alors A, A B, A B, A B, A B s interprètent comme dans la logique propositionnel si A est une formule et x une variable alors I( x A) = 1 si I x/d (A) = 1 pour tout élément d D si A est une formule et x une variable alors I( x A) = 1 si I x/d (A) = 1 pour au moins un élément d D
approche sémantique approche axiomatique Théorème de Herbrand univers de Herbrand U F associé à un ensemble de formules F : ensemble des constantes apparaissant dans les formules de F base de Herbrand (finie) B F associé à F : ensemble des prédicats construits à partir de F en remplaçant les variables par des éléments de l univers de Herbrand interprétation de Herbrand de F : attribution d une valeur de vérité à chaque formule de B F théorème de Herbrand : F est satisfaisable ssi B F est satisfaisable
approche sémantique approche axiomatique Point de vue sémantique Approche centrée sur les interprétations existence d un plus petit modèle de Herbrand M B associé à B M B : intersection de tous les modèles de Herbrand réponse aux requêtes < x,q(x) > ensemble de c = (c 1, c n ) pour lesquels Q(c) est vrai dans M B < x,q(x) > = {c, = MB Q(c)} réponse aux requêtes oui-non <,Q > = {()} <,Q > = {} <, Q > = {()} Q est vrai dans M B Q n est pas vrai dans M B Q est faux dans M B
approche sémantique approche axiomatique Approche axiomatique théorie logique de LR : associé á une BD (adaptation de la logique des prédicats) a = (a 1,,a n ) r(a) extension d une relation instance de LR BD : ensemble de formules logiques (théorie) de LR représentant les relations axiomes associés à S c = (c 1,,c n ) r r(c) LR
approche sémantique approche axiomatique Point de vue axiomatique Approche centrée sur les axiomes axiomes de complétude A(B) : si c = (c 1,,c n ) r alors r(c) est un axiome hypothèse du monde clos : HMC(B) = { P,p B B et P B} axiome de complétude C(B) : x(r(x) x = c 1 x = c 2 x = c p ) axiome d unicité de nom AUN(B) : c i c j, 1 i < j p axiome de fermeture du domaine AFD(B) : x(x = c 1 x = c p ) ou T B = T HMV B T B = T C B = A(B) HMC(B) AUN(B) AFD(B) = A(B) C(B) AUN(B) AFD(B)
approche sémantique approche axiomatique Point de vue axiomatique réponse aux requêtes < x,q(x) > ensemble de c = (c 1, c n ) pour lesquels Q(c) est un théorème de T B < x,q(x) > = {c, T B Q(c)} réponse aux requêtes oui-non <,Q > = {()} Q est un théorème de T B <,Q > = {} Q n est pas un théorème de T B <, Q > = {()} Q est un théorème de T B
approche sémantique approche axiomatique Equivalence des points de vue axiomatique et sémantique T HMV B théorème : et TB C sont équivalentes T HMV B théorème : et TB C admettent comme seul modèle M B théorème : Si F est une formule de LR alors < x,f(x) > = < x,f(x) >
règles de déduction bases de données déductives approche sémantique approche axiomatique base de donnée relationnelle relation pere et relation mere x y x y a b f b d c e c contraintes d intégrité x y(pere(x,y) parent(x,y)) x y(mere(x,y) parent(x,y))
règles de déduction bases de données déductives approche sémantique approche axiomatique redondance entre contraintes d intégrité et extension des relations exemple x y(pere(x,y) parent(x,y)) x y(mere(x,y) parent(x,y)) redondance de parent(a,b) lorsque : pere(a,b) B ou mere(a,b) B
règles de déduction bases de données déductives approche sémantique approche axiomatique suppression de la redondance suppression de certaines extensions de prédicats dans la BD remplacement par des définitions en compréhension transformation de contraintes en règles de déduction transformation de certains prédicats relationnels en prédicats virtuels construction d une théorie plus compacte exemple parent(a,b) prédicat virtuel défini en compréhension par les règles de déduction : x y(pere(x,y) parent(x,y)) x y(mere(x,y) parent(x,y))
règles de déduction bases de données déductives approche sémantique approche axiomatique règle de déduction t (h(t) y(b 1 b n )) A B : si B alors A h(t) : tête de règle, conséquent y(b 1 b n ) : corps de la règle, antécédent exemple r 1 : parent(x,y) pere(x,y) r 2 : parent(x,y) mere(x,y) r 3 : grand parent(x,y) (parent(x,z) parent(z,y))
règles de déduction bases de données déductives approche sémantique approche axiomatique règle de déduction relations de dépendance entre prédicats p dépend directement de q : si q apparaît dans le corps d une règle et p dans la tête p est récursif : si p dépend de p p dépend strictement de q : si p dépend de q et q ne dépend pas de p une règle de déduction est récursive : si son antécédent contient un prédicat qui dépend du conséquent
règles de déduction bases de données déductives approche sémantique approche axiomatique base de données déductive une base donnée déductive B, est une théorie comprenant : une base de donnée extensionnelle B E base de données relationnelle une base de donnée intensionnelle B I ensemble de règles de déduction
règles de déduction bases de données déductives approche sémantique approche axiomatique base de données déductive une règle de déduction est stricte si les littéraux figurant dans l antécédent sont tous positifs : h(t) (b 1 b n ) une règle de déduction est stricte est équivalente à une clause de Horn : h(t) b 1 b n une base de donnée déductive B est stricte si toute règle de déduction de B I est stricte une base de donnée déductive B stricte est hiérarchique si aucun prédicat virtuel n est récursif
règles de déduction bases de données déductives approche sémantique approche axiomatique Approche sémantique théorème Soit B une base de données stricte. L intersection de tous les modèles de Herbrand de B est un modèle de Herbrand théorème Soit M B = {A B B B = A} une base de données stricte. L intersection de tous les modèles de Herbrand de B est un modèle de Herbrand Approche sémantique base de donnée B : plus petit modèle de Herbrand M B évaluation des requêtes : recherche des instances vraies dans M B
règles de déduction bases de données déductives approche sémantique approche axiomatique Approche axiomatique Soit B une base de données stricte et B B sa base de Herbrand de B avec HMC(B) = { P P B B et B P} La théorie TB HMC associée à B = B HMC(B) AFD(B) AUN(B) est théorème : la théorie T HMC B est cohérente théorème : T HMC B p(a) ssi B A théorème : M B est le seul modèle de T HMC B théorème : la théorie T HMC B est complète
Introduction programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en base de données relationnelle : données représentées par des tables relation arc relation chemin dep ar dep ar Toulon Marseille Toulon Marseille Toulon Cassis Toulon Cassis Toulon La Ciotat Toulon La Ciotat Cassis Marseille Cassis Marseille La Ciotat Cassis La Ciotat Marseille La Ciotat Cassis relation : nom attribut : ensemble de valeurs sur un domaine D schéma d une relation : nom(a 1 : D 1,...,A n : D n ) algébre relationnelle avec les opérateurs : σ, π,,,,,
Modèle relationnel : programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en fondé sur le concept de table avantages : limites : représentation simple pour les utilisateurs modèle bien fondé formellement algèbre : opérations sur les tables logique : langage relationnel ou théorie du 1er ordre représentation de données sémantiquement plus complexes manipulation : effectuer des inférences
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en Le langage (DATA base LOGic) langage déclaratif proche du langage de programmation logique PROLOG de ensemble de variables ensemble (non vide) de constantes ensemble (non vide) de prédicats deux connecteurs :,
règles en programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en m 0, L et L i : littéraux positifs règles : L L 1 L m signification de : si L 1 L m alors L L : tête de règle, conséquent L 1 L n : corps de la règle, antécédent règles avec corps vide (faits) : L programme : ensemble de règles
exemple de programme (1) programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en programme : arc(toulon, Marseille) arc(toulon, Cassis) arc(cassis, Marseille) chemin(x,y) arc(x,y) arc(toulon, LaCiotat) arc(laciotat, Cassis) chemin(x,y) arc(x,z) chemin(z,y) requêtes : chemin(toulon, Cassis), chemin(la Ciotat, Marseille), chemin(marseille, La Ciotat), chemin(x, Marseille), chemin(toulon,y), chemin(x,y)
exemple de programme (2) programme : parent(jean, Luc) parent(anne, Luc) parent(marie, Paul) parent(luc, Eric) parent(paul, Guy) ancêtre(x,y) parent(x, y) programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en parent(jean, Eve) parent(anne, Eve) parent(luc, Paul) parent(lucie, Guy) ancêtre(x,y) parent(x, z) ancêtre(z,y) requêtes : ancêtre(marie, Paul), ancêtre(jean, Eric), ancêtre(jean, Guy), ancêtre(x, Guy), ancêtre(anne,y), ancêtre(x,y)
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en sémantique de (modèle minimal) correspondance et logique des prédicats règles : L L 1 L m formule de L Pr : x 1,,x k ( si y 1, y n (L 1 L m )) alors L x 1,,x k : variables apparaissant dans L y 1, y n : variables apparaissant dans L 1,,L m P P LPr programme ensemble de formules de L Pr P LPr : ensemble de clauses de Horn : L L 1 L m
interprétation de Herbrand programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en interprétation : I = (D,I c ) où D ensemble non vide, ensemble des constantes I c la fonction : D m {0,1} D D P I c (P) c I c (c) BH LPr Base de Herbrand : ensemble de tous les faits positifs construits sur L Pr I interprétation de Herbrand : représenté par un sous-ensemble de BH LPr IH : ensemble des interprétations de Herbrand
Hypothèse du monde clos programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en monde réel décrit de façon incomplète faits positifs uniquement (minimisation du stockage) connaissance du monde supposée complète Hypothèse du monde clos : déduction de faits négatifs à partir de faits positifs L Pr : impossibilité de déduction de faits négatifs à partir de faits positifs mécanime extra-logique pour le traitement de la négation
Choix du modèle minimal programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en modèle satisfaisant le moins de faits positifs possible F un ensemble de formules de L Pr M est un modèle minimal de F si : M un modèle de Herbrand M un modèle de F si M M alors M = M ensemble cohérent de clauses : existence d au moins un modèle minimal ensemble de clauses de Horn : modèle minimal : intersection des modèles de Herbrand
modèle d un programme programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en modèle minimal d un programme P M P modèle minimal de P LPr implication ou conséquences d un programme f L Pr, P = f ssi M P satisfait f implication de faits positifs (f positif) P = f ssi P LPr = f implication de faits négatifs P = f n implique pas P LPr = f
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en base de données déductive et une base donnée déductive B, comprend : une base de donnée extensionnelle B E une base de donnée intensionnelle B I B E ensemble de schémas de relation B I ensemble de schémas de relation langage programme définissant les relations
sémantique du point fixe programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en vision plus opérationnelle d un programme : faits et règles opérateur : application des règles aux faits afin de produire de nouveaux faits chaînage avant ( bottom-up )
sémantique du point fixe programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en T P : opérateur de conséquence immédiate associé à un programme P T P (I) = {tete(r) r IH P et L corps(r),i = L} pour I IH T P est monotone T P admet un plus petit point fixe pppf (T P ) pppf (T P ) s obtient par l itération de T P
sémantique du point fixe programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en T P (I) = {tete(r) r IH P et L corps(r),i = L} pour I IH pppf (T P (I)) : plus petit point fixe de T P équivalence des sémantiques du point fixe et du modèle minimal P programme, M P modèle minimal de P M P = pppf (T P (I))
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en : exemple sémantique du point fixe implémentation : stratégie chaînage avant ( bottom-up ) on part des faits de la B E pour dériver de nouveaux faits de la B I faits de la B E : table relationnelle Evaluation de requêtes : requêtes non récursives transformation de la requête sous forme d algèbre relationnelle puis opérations de l algèbre relationnelle requêtes récursives création succéssive de tables intermédiaires
exemple de programme programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en programme : parent(jean, Luc) parent(anne, Luc) parent(marie, Paul) parent(luc, Eric) parent(paul, Guy) parent(jean, Eve) parent(anne, Eve) parent(luc, Paul) parent(lucie, Guy) r 1 ancêtre(x,y) parent(x, y) r 2 ancêtre(x,y) parent(x, z) ancêtre(z,y) requête : ancêtre(x,y)
: étape 1 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en évaluation de la requête : ancêtre(x,y) étape 1 : création d une table vide ancêtre 0 : ancêtre 0 x y étape 2 :création d une table ancêtre 1 en utilisant la règle r 1 ancêtre(x,y) parent(x, y) la table parent
: étape 2 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en ancêtre 1 x y Jean Luc Jean Eve Anne Luc Anne Eve Marie Paul Luc Paul Luc Eve Lucie Guy Paul Guy
: étape 3 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en étape 3 :création d une table ancêtre 2 en utilisant la règle r 2 ancêtre(x,y) parent(x, z) ancêtre(z,y)
: étape 3 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en ancêtre 2 x y Jean Luc Jean Eve Anne Luc Anne Eve Marie Paul Luc Paul Luc Eve Lucie Guy Paul Guy Jean Jean Anne Anne Marie Luc Paul Eric Paul Eric Guy Guy
: étape 4 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en étape 4 :création d une table ancêtre 3 en utilisant la règle r 2 ancêtre(x,y) parent(x, z) ancêtre(z,y)
: étape 4 programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en ancêtre 3 x y Jean Luc Jean Eve Anne Luc Anne Eve Marie Paul Luc Paul Luc Eve Lucie Guy Paul Guy Jean Jean Anne Anne Marie Luc Paul Eric Paul Eric Guy Guy Jean Anne Guy Guy
Evaluation des requêtes en programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en évaluation naïve itération de l opérateur de conséquence immédiate à l aide des opérations de l algèbre relationnelle résolution restriction de la résolution de L Pr à un langage sans symbole fonctionnel méthodes des ensembles magiques réécriture du programme en un programme équivalent relativement aux réponses à la requête
résolution Introduction programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en principe de la résolution J. -A. Robinson Soit A, B, X des formules propositionnelles On suppose que A X et A X sont cohérentes si X est cohérente alors B est cohérente X est cohérente alors A est cohérente dans les 2 cas A B est cohérente plus formellement : {A X,B X } = A B
résolution en logique propositionnelle programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en proposition (résolution) S : un ensemble de clauses, c 1, c 2 S si l est un littéral tel que : c 1 = l i1 l i2 l in l et c 2 = l j1 l j2 l jm l alors S = r, avec r = l i1 l i2 l in l j1 l j2 l jm On appelle r la résolvante
principe de la résolution programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en S : une ensemble de clauses (CNF correspondant à F ensemble de formules propositionnelles) proposition : S est incohérent ssi S = (avec : clause vide) Algorithme de résolution début tant que S faire choisir l, c 1, c 2 tels que l c 1 et l c 2 calculer la résolvante r remplacer S par S {r} fin tant que fin
propriétés de la résolution programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en S : un ensemble de clauses, S : ensemble de clauses après résolution F : une formule propositionnelle proposition : si S est satisfaisable alors S est satisfaisable proposition : si F a une preuve par résolution alors F est une tautologie théorème de complétude : si F est une tautologie alors F a une preuve par résolution
résolution en logique des prédicats programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en résolution R et saturation S (instanciation dans l univers de Herbrand H C ) semi-commutatives : plus généralement : R(S(H C )) S(R(H C )) R n (S(H C )) S(R n (H C ))
unification Introduction programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en substitution : Var : ensemble des variables, T : ensemble des termes σ fonction de Var dans T, tq l ensemble {x Var,σ(x) x} est fini instance : t un terme, l : un littéral, instance de t (resp. de l), le terme noté σ(t) (resp. le littéral σ(l)), obtenu en remplaçant toutes les occurences des variables x par σ(x). t 1 et t 2 des termes, t 2 est une instance de t 1 s il existe une substitution σ telle que t 2 = σ(t 1 )
unification Introduction programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en unificateur : 2 littéraux l et l sont unifiables s il existe une substitution σ telle que σ(l) = σ(l ). La substitution est appelée l unificateur. unificateur principal : σ est plus général que σ, s il existe σ tq σ = σ σ il existe un unificateur plus général que tous les autres : unificateur principal
algorithme d unification programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en algorithme unification (t 1, t 2 : des termes) début si l un des termes (t 1 ou t 2) est une variable x, (l autre est t) alors si x = t alors possible vrai σ sinon si x appara^ıt dans t alors possible faux sinon possible vrai σ (σ(x) = t) finsi fin si sinon (t 1 = f (x 1,,x n) et t 2 = g(y 1,,y m)) si f g ou n m alors
(suite) algorithme d unification sinon (t 1 = f (x 1,,x n) et t 2 = g(y 1,,y m)) si f g ou n m alors possible faux sinon i 0 possible vrai σ tant que i < n et possible faire i i + 1 (possible, σ ) unification(σ(x i), σ(y i)) si possible alors σ σ σ finsi fin tant que fin si fin si fin programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en
propriétés de la résolution programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en proposition (résolution) S : un ensemble de clauses, c 1, c 2 S, l 1 apparaît dans c 1 et l 2 apparaît dans c 2 θ une substitution de renommage tq θ(c 1 ) et c 2 n ont aucune variable libre en commun soit σ p l unificateur principal de θ(c 1 ) et c 2 S = S {r} et S {r} = S avec r = σ(θ(c 1 \{l 1 }) (c 2 \{ l 2 })) appelée résolvante
Algorithme de résolution programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en début tant que S faire choisir l 1, l 2, c 1, c 2 tels que l c 1 et l 2 c 2 et l 1, l 2 unifiables calculer la résolvante r à partir de l unificateur principal remplacer S par S {r} fin tant que fin
utilisation de la résolution programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en F un ensemble de formules F = F ssi F { F } est insatisfaisable ou incohérent. transformer l ensemble des formules F en ensembles de clauses S et la formule F en un ensemble de clauses C appliquer la résolution à S C
nègation dans programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en not : négation par échec not P : on ne peut déduire P problèmes : 1 risque de clauses incorrectes 2 il n existe pas toujours de modèle minimal Solutions : 1 condition de sécurité : toute variable apparaît dans une sous-requête non précédée d une négation 2 stratification
nègation dans programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en exemples de clauses incorrectes S(x) not R(x) S(x) R(y) not R(x) S(x) R(y) x > y exemple de clause correcte S(x) R(x) not S(x) MAIS problème!!!
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en nègation dans : exemples de clause correcte mais problématique S(x) R(x) not S(x) R(1), R(2) évaluation de S étape 1 : S = étape 2 : S = {1,2} étape 3 : S = étape 4 : S = {1,2} contrainte de stratification : la négation ne peut pas être imbriquée dans une récursion
nègation stratifiée dans programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en nègation stratifiée : construction d un graphe de dépendances entre prédicats sommets : prédicats arcs : d un prédicat conséquent C vers un prédicat de l antécent de la règle A ériqueté + : si S C et R A ( S R ) ériqueté - : si S C et not R A ( S not R )
nègation stratifiée dans programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en négation non stratifiée : cycle dans le graphe avec au moins un arc étiqueté - négation stratifiée : pas de cycle strate d un sommet : nombre maximum d arc étiqueté - programme stratifié : tous les prédicats ont une strate finie évaluation des prédicats dans l ordre croissant des strates
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en nègation stratifiée dans : exemple personne(jean, M) personne(anne, F) personne(guy, M) parent(jean, Luc) parent(jean, Eve) parent(paul, Guy) ancêtre(x,y) parent(x, y) ancêtre(x,y) parent(x, z) ancêtre(z,y) PasdescendantdeLuc(x) personne(x, y) not ancêtre(luc,x) négation stratifiée
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en nègation stratifiée dans : exemple graphe de dépendances
liens avec le modèle relationnel programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en le langage : langage logique le plus simple pour le modèle relationnel aussi puissant qu une algèbre relationnelle classique, posséde en plus la récursivité
liens avec le modèle relationnel programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en atomes relationnels : relations représentées par des prédicats d arité finie atomes arithmétiques : comparaisons entre 2 expressions arithmétiques variables anonymes : variables utilisées une seule fois règles : tête : atome relationnel, suivi de, suivi du corps : constitué de un ou plusieurs atomes relié éventuellement par les opérateurs et not faits : tête : atome relationnel requête : collection d une ou plusieurs règles
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en expression des opérateurs relationnels en intersection : P Q R(x,y,z) P(x,y,z) Q(x,y,z) union : P Q R(x,y,z) P(x,y,z) R(x,y,z) Q(x,y,z) difference : P Q R(x,y,z) P(x,y,z) not Q(x,y,z)
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en expression des opérateurs relationnels en produit : P Q R(x,y,z,a,b,c,d) P(x,y,z) ;Q(a,b,c) projection : π x,y (P) R(x,y) P(x,y,z) jointure : P Q R(x,y,z,t) P(x,y) Q(y,z,t) sélection : σ condition (P) R(x,y,z) P(x,y,z) condition
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en expression des opérateurs relationnels en : exemples schéma : P(dep : D 1, arr : D 2, d : D 3 ) types : dep : chaîne de caractères, arr : chaîne de caractères, d : entier σ dep= Marseille d 50(P) R(x,y,z) P(x,y,z) z 50 x = Marseille σ dep= Marseille or d 50(P) R(x,y,z) P(x,y,z) z 50 R(x,y,z) P(x,y,z) x = Marseille
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en expression des opérateurs relationnels en : exemples σ not(dep= Marseille or d 50)(P) R(x,y,z) P(x,y,z) z < 50 x Marseille σ not(dep= Marseille d 50)(P) R(x,y,z) P(x,y,z) z < 50 R(x,y,z) P(x,y,z) x Marseille
programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en une implantation de : LDL++ voir le tutorial de LDL ++ : à télécharger à l URL : http ://pages-perso.esil.univmed.fr/ papini/sources/bd.html
spécificités : LDL++ programmes en sémantique de (modèle minimal) sémantique de (point fixe) négation en Syntaxe LDL++ Nom des variables : commence par une majuscule Nom de constantes : commence par une minuscule ou entre la conjocrion : se note, not : se note toutes les règles finissent par un point. parent( Jean, Luc ) parent( Jean, Eve ). parent( Paul, Guy ). ancêtre(x,y) parent(x,y). ancêtre(x,y) parent(x,z), ancêtre(z,y).