Dans tout ce chapitre est fixé un alphabetΣ.
Dans cette section nous souhaitons comparer l’inclusion de requêtes RPQ en fonction du caractère fini ou non des bases de données graphe :
— Q v∞C Q0est le problème d’inclusion de RPQ sous contraintes de mots avec des modèles éventuellement infinis
— Q vC Q0où les modèles sont finis (def.44)
Comme évoqué, nous proposons une étude de ces inclusions de requêtes via les systèmes de réécriture.
xu y v xv ydevient(u, v) Nous avons la proposition suivante :
SoitC un ensemble de contraintes de mots,Rson système de réécriture associé. Pour tous motsuetvon a :
Siu →∗v alorsxu y v∞C xv y
Proposition 81
Démonstration. Supposons queu →∗R v. Alors il existe des motsi0, ..., in tels que pour toutton ait → it +1aveci0= uetin= v. SoitGune base de données graphe éventuellement infinie telle queG |= C, soientx, y deux nœuds deG. Montrons que s’il existe un chemin dexàyétiqueté parit alors il existe un chemin dexàyétiqueté parit +1.
On ait→ it +1donc il existeµ,µ0et(a, b) ∈ Rtels queit= µaµ0etit +1= µbµ0. Le chemin dexàyse décompose donc en un chemin dexà un certain nœudx0étiqueté parµ, un chemin dex0à un certain nœudy0étiqueté paraet un chemin dey0ày étiqueté parµ0. Or(a, b) ∈ Rsignifie que xa y v xby ∈ C donc il existe un chemin dex0ày0étiqueté parb. En concaténant les chemins, il existe un chemin dexày étiqueté parµbµ0c’est à direit +1.
Ainsi par récurrence, s’il existe un chemin dexày étiqueté paru, il existe un chemin dexàyétiqueté parv. AinsiG |= xuy v xv y. Puisque c’est vrai pour tout graphe (même infini) on a par définitionxu y v∞C xv y.
Nous proposons maintenant d’étudier l’autre implication : Sixu y v∞C xv yalorsu →∗v
Pour cela, nous souhaitons construire un modèle satisfaisant les contraintes qui contienne un cheminγétiqueté parutel que tout chemin entre l’origine deγet le but deγest étiqueté par un descendant deu.
Une première méthode consisterait à considérer le graphe-motGu(définition 38), on ajoute alors des nouveaux chemins en appliquant la procédure de l’oblivious- chase.
Une seconde méthode consiste à adapter le modèle de Abiteboul [3] dans les graphes sans racines comme il a été fait dans[57]:
Nous considérons le modèle (éventuellement infini) suivant :
Soientuetv deux mots.
PosonsG = (N ,E)avecN =Pref(Desc(u))(def.10) et :
E = {(x, a,m), x,m ∈ N , a ∈ Σ | m →∗xa}
Définition 82
Nous conservons le même grapheG(fixé paruetv) tout au long des preuves.
Pour tout nœudadeN. Sibun mot non vide tel quea →∗Rb,
alors tout préfixe debest dansN
Lemme 83
Démonstration. Soitpun préfixe debalors il exister tel queb = pr.
Puisquea ∈ N, on aaqui est le préfixe d’un descendant deu, donc il exister0tel queu →∗Rar0. Ora →∗Rbdonc :
u →∗Rar0→∗Rbr0= pr r0
Par définition,pest un préfixe d’un descendant deu, doncp ∈ N.
Pour tout nœudxdeN et toutw ∈ Σ∗, sixw ∈ N alors il existe un chemin dexàxwétiqueté parw.
Lemme 84
Démonstration. Puisquexwest un nœud deN etxw →∗Rxw, tous les préfixes de xwsont dansNd’après le lemme83.
Soitx ∈ N,
PosonsHn: "Pour tout motwde longueurn, sixw ∈ N alors il existe un chemin dexàxwétiqueté parw"
MontronsH0: soitwde longueur0, il existe un chemin dexàxwétiqueté parw. SupposonsHn vraie, montronsHn+1: soitw de longueurn + 1tel quexw ∈ N. On aw = w0aavecaune lettre. Puisquexw0est un préfixe dexw on axw0∈ N. De plus,xw0a →∗Rxw0adonc(xw0, a, xw0a) ∈ E, donc il existe un chemin dexw0àxw0a
étiqueté para. On a|w0| = ndonc d’aprèsHnil existe un chemin dexàxw0étiqueté parw0. En concaténant les deux chemins, il existe un chemin dexàxwétiqueté par
w0aetw0a = w.
Montrons le lemme :
Pour tousx, m ∈ Netw ∈ Σ+on a :
m →∗R xwssi il existe un chemin dexàmétiqueté parw
Lemme 85
Démonstration. Soientx, m ∈ N etw ∈ Σ+tels que :
m →∗Rxw
Puisquew ∈ Σ+il existew0etaavecaune lettre tels quew = w0a. On a :m →∗Rxw0a,
on en déduit donc :
1. Par définition(xw0, a, m) ∈ E 2. xw0∈ Nd’après le lemme83
3. il existe un chemin dexàxw0étiqueté parw0d’après le lemme84
On en déduit d’après les points1)et3)qu’il existe un chemin dexàmétiqueté parw0a = w.
Montrons maintenant la réciproque.
Posons Hn : "Pour tousx, m ∈ N, pour tout w ∈ Σ+, si|w| = n et s’il existe un chemin dexàmétiqueté parw alorsm →∗Rxw".
- Initialisation : montronsH1. Soitw de longueur1tel qu’il existe un chemin de
xàmétiqueté parw. On a(x, w, m) ∈ E et doncm →∗Rxw par définition deE. - Hérédité : supposonsHnmontronsHn+1. Soitwun mot de longueurn + 1tel qu’il existe un chemin dexàmétiqueté parw. Il existe doncw0et une lettreatels
quew = w0a. Puisquexw0est un préfixe dexw ∈ N et quexw →∗Rxwon a d’après le
lemme83quexw0∈ N.
Il existe donc un nœudm0tel qu’ils existent un chemin dexàm0étiqueté parw0 et une arête(m0, a, m)deE. On aw0de longueurndoncm0→∗Rxw0. Et(m0, a, m) ∈ E
implique par définition quem →∗Rm0a. Ainsi :
m →∗Rm0a →∗Rxw0a = xw
Ce qui achève le lemme.
Pour tout motv, siG |= xuy v xv y alorsu →∗Rv.
Lemme 86
Démonstration. On au →∗
Rudonc² ∈ N. Puisqueu ∈ N il existe un chemin de²àu
étiqueté paru(Lemme84).
Par définition deG |= xuy v xv yil existe un chemin de²àuétiqueté parv. D’après le lemme85, on au →∗R²v = v.
Montrons maintenant l’équivalence :
xuv v∞C xv y ⇐⇒ u →∗Rv
Supposonsxuv v∞C xv y. Montrons queG |= C. Soitxt y v xt0yune contrainte de mots deC. On a alorst →Rt0donc pour tousx, m ∈ N, sim →∗Rxton am →∗Rxt0.
D’après le lemme85, s’il existe un chemin dexàmétiqueté part alors il existe un chemin dexàmétiqueté part0. Puisquexetmsont quelconques on aG |= xt y v xt0y, doncG |= C. Par définition dexuv v∞C xv yon en déduit queG |= xuv v xv y. D’après le lemme86, on au →∗R v.
Nous obtenons finalement :
SoientC un ensemble de contraintes de mots etRle système de réécriture associé. Pour tous motsuetv on a :
xu y v∞C xv yssiu →∗Rv
Théorème 87
Malheureusement les modèles que nous souhaitons utiliser sont obligatoirement finis et le théorème autorise des modèles infinis.
Nous remarquons que si les descendants sont en nombre finis alors le modèle proposé dont les nœuds sont les préfixes des descendants deuest fini.
On introduit naturellement :
Un système de réécritureRest dit descendant-limité si pour tout motude Σ+
on a :
DescR(u)fini
Définition 88
Cette condition est vérifiée par les systèmes terminant (def.24) ou les systèmes de réécriture à longueur décroissante1. Nous proposerons une classe (BPar) au chapitre 4qui satisfait aussi cette condition et qui est non comparable aux deux précédentes.
Ainsi nous avons :
SoientC un ensemble de contraintes de mots etRle système de réécriture associé.
SiRest descendant-limité alors pour tous motsuetv on a :
xu y vC xv yssiu →∗Rv
Théorème 89
Ainsi nous pouvons en déduire :
SoientC un ensemble de contraintes de mots etRle système de réécriture associé.
SiRest descendant-limité alors pour toutes RPQQ = xLy etQ0= xL0yles assertions suivantes sont équivalentes :
1. Q vCQ0 2. L ⊆AncR(L0)
Corollaire 90
Démonstration. Montrons que(1)implique(2). Soituun mot deL. On considère
le grapheGdéfini par Pref(Desc(u)). Alors entre le nœud²etuil existe un chemin étiqueté paru(d’après le lemme84), donc il existev ∈ L0et un chemin étiqueté par
vd’après(1). D’après le lemme86on a alorsu →∗v. DoncL ⊆ AncR(L0).
Inversement, montrons que(2)implique(1). Soituun mot deL, puisqueL ⊆ AncR(L0), il existev ∈ L0tel queu →∗v. D’après81xLy vC xL0y.
Nous montrons que :
La proposition énoncée dans [57] :
SoitC un ensemble de contraintes de mots etRle système de réécriture associé. Pour tous motsuetv on a :
xu y vC xv yssiu →∗v est fausse.
Théorème 91
Démonstration. On rappelle avant tout qu’un langageLest récursivement énumé-
rable s’il existe une machine de Turing qui termine et accepte les mots deL. Un langage à la fois récursivement énumérable et co-récursivement énumérable est récursif (i.e. décidable : il existe une machine de Turing terminante qui reconnaîtL).
Supposons que la proposition soit vraie. Pour toutuetC on poseE (C ,u)l’en- semble desv tels quexu y vC xv y.
On a alors d’après la proposition queE (C ,u) =Desc(u).
Tester siv ∉ E(C ,u)consiste à tester s’il existe un modèle finiGsatsifaisantC tel que¬(G |= xu y v xv y), doncE (C ,u)est co-récursivement énumérable.
De plus Desc(u)est récursivement énumérable. Donc s’il était co-récursivement énumérable il serait récursif.
Or tester siv ∈Desc(u)i.e. siu →∗v, est indécidable d’après le problème de l’arrêt (théorème27), donc il existe des Desc(u)qui sont non récursifs. Contradiction.
Nous proposons aussi un contre-exemple à la proposition dû à Sylvain Salvati :
SoitC l’ensemble des contraintes de mots dont le système de réécritureR traduit est : 1. a → bab 2. bab → a 3. c ab → db 4. bac → bd 5. d b → d 6. bd → d 7. d c → d 8. cd → d alors on a : — xc ac y vC xd y — ¬({cac} ⊆ AncR({d })) Exemple 92
Démonstration. Par une récurrence facile nous avons pour toutn:
c ac →ncbnabnc
Montrons maintenant que nous avons xc ac y vC xd y : SoitG un graphe tel queG |= C. Soientxetydeux nœuds tel qu’il existe un chemin dexàyétiqueté par
c ac.
Le langageL défini par l’ensemble des étiquettes des chemin dex ày est un langage régulier (il suffit de considérerxcomme état initial d’un automate,ycomme état final, et toutes les arêtes comme des transitions).
Lcontientc ac. OrG |= C etc ac →ncbnabncdonc ce langage contient pour tout
nle motcbnabnc. Puisque le langage est régulier, il existeketl aveck 6= l tels que
cbkablc ∈ L.
Supposons sans perdre de généralité quek > l (l’autre cas étant symétrique) : — Il existe un chemin dexàyétiqueté parcbkablc
— Règle2: il existe un chemin dexàyétiqueté parcbk−lac — Règle4: il existe un chemin dexàyétiqueté parcbk−ld
— Règle 6 (appliquée k − l fois) : il existe un chemin de x à y étiqueté par
cbk−l −(k−l )d = cd
Ainsi, siG |= C alorsxc ac y v xd yi.e.
xc ac y vC xd y
Montrons maintenant que¬({cac} ⊆ AncR({d })):
Montrons par récurrence que pour toutn: Sic ac →nualors il existekntel que
u = cbknabknc
.
- Initialisation : soitn = 0. Sic ac →0ualorsu = cac = cb0ab0c, posonsk0= 0. Il existek0tel queu = cbk0abk0c
- Hérédité : supposons la propriété vraie au rangn. Montrons la au rangn + 1. Sic ac →n+1ualors il existe v tel quec ac →nv etv → u. Par hypothèse de ré- currence, il existekn tel que v = cbknabknc. Les seuls facteurs dev qui sont des membres gauches de règle deRsonta(règle1) etbab(règle2) sikn> 0. Comme
v → uon a alorsu = cbkn+1abkn+1cpar la règle1, il suffit de poserkn+1= kn+ 1, ou
u = cbkn+1abkn+1c
par la règle2sikn> 0, il suffit de poserkn+1= kn− 1. Dans tous les cas, il existekn+1tel queu = cbkn+1abkn+1c.
Ainsi, comme pour toutk on ad 6= cbkabkc on a¬(cac →∗d )i.e.¬({cac} ⊆ AncR({d })).
Le problème d’inclusion sous contraintes est indécidable en général, et même dans le cas où les contraintes sont inverse hors-contextes :
Un ensemble de contraintes inverse hors-contexte est un ensemble de contraintes de la forme{xw y v xV y}avecw ∈ Σ∗etV ∈ Σ. En particulier ces règles sont des règles Datalog.
Définition 93
On montre le théorème suivant :
Le problème d’inclusion de RPQ sous contraintes de mots hors-contextes est indécidable :
PROBLEME : Inclusion de requêtes RPQ sous
contraintes inverse hors-contextes
INSTANCE :C un ensemble de contraintes inverse hors-contextes,Q = xLyetQ0= xv y deux requêtes
QUESTION :Q vC Q0?
COMPLEXITE : indécidable Théorème 94
Démonstration. Décider si une grammaire hors-contexteΓd’alphabet∆est univer- selle i.e. reconnaît le langage∆+est un problème indécidable. Nous allons réduire le problème d’inclusion de requêtes RPQ sous-contraintes hors-contexte au problème d’universalité.
SoitΓ = (N,∆,S,P)une grammaire hors-contexte :Nest l’ensemble des symboles non-terminaux,∆l’alphabet des terminaux,Sl’axiome de départ etP ⊆ N × Σ∗(où Σ = N ∪ ∆) est l’ensemble des règles de productions .
Nous noterons paru ⇒ vsiuse dérive env par la règle de productionP.
Le langage reconnu parΓnotéL(Γ)est l’ensemble desm ∈ ∆∗tels queS ⇒∗m. On peut supposer queL(Γ)ne contienne pas le mot vide.
À toute règle de productionV → w on associe la contrainte de mots inverse hors-contextexw y v xV y et on associe la règle de réécriturew → V. Ainsi àP on associe un ensemble de contraintes de motsC et un système de réécritureR. On notera quex → ysi et seulement six ⇒ y.
Pour tout règle deRde la formeu → v, on a|u| ≥ |v|donc pour tout motu, il n’y a qu’un nombre fini de descendants. AinsiRest descendant-limité.
D’après le corollaire90, on ax∆+y v xSysi et seulement si on a∆+⊆AncR(S)si et seulement siΓreconnaît∆+. Ce dernier point est indécidable.
L’objectif de la section suivante est de donner des critères à imposer aux contraintes pour que le problème d’inclusion de requêtes RPQ soit décidable. On cherche à dé- terminer des classes de systèmes de réécritures qui vérifient ces deux propriétés :
— Les systèmes sont descendant-limités