• Aucun résultat trouvé

Etude de la restriction vers les modèles finis

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 vC 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 vC 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 deyy étiqueté parµ0. Or(a, b) ∈ Rsignifie que xa y v xby ∈ C donc il existe un chemin dexy0é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 vC xv y.

Nous proposons maintenant d’étudier l’autre implication : Sixu y vC 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 dexwxw0a

é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 vC xv y ⇐⇒ u →Rv

Supposonsxuv vC 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 vC 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 vC 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