• Aucun résultat trouvé

Contraintes de mots et traduction

Dans cette section nous introduisons d’autres règles tgd particulières :

les contraintes de mots. Nous relions cette notion avec les systèmes de réécritures. L’expression "contraintes de mots" est déjà utilisée pour la définition43. Ici nous définissons les contraintes de mots à l’aide de tgd, les définitions sont équivalentes sur les graphes.

Une contrainte de mots est une règle tgdB → H telle queB etHsont de la forme :

B est de la forme{A1(x1, x2), A2(x2, x3), ..., An(xn, xn+1)}

H est de la forme{B1(y1, y2), B2(y2, y3), ..., Bm(ym, ym+1)}

— les variables communes deB et H sontx1 etxn+1 avecx1= y1 et

xn+1= ym+1.

— Les variablesx1, ..., xn+1sont distinctes les variablesy1, ..., ym+1sont distinctes.

Définition 77

Les règles suivantes sont des contraintes de mots — A(x, y), A(y, z) → A(x, z)

A(x, y), B (y, z) → B(x, t),C (t, z) Et les règles suivantes n’en sont pas :

A(x, y), A(x, z) → A(x, z)B (x, x) → A(x, x)

A(x, y) → A(x, z),B(x, y)

Exemple 78

Nous allons maintenant relier trois notions : — Les contraintes de mots (sous formes tgd) — Les contraintes de mots (sous formes RPQ) — Les systèmes de réécriture

On commence par introduire une transformation entre les prédicats et les lettres d’un alphabet.

Très souvent, les prédicats sont désignés par des lettres majuscules, nous noterons alors par la minuscule correspondante la transformation en lettre d’un alphabet.

Soitr une contrainte de mot. SoitM = A1(x1, x2), A2(x2, x3), ..., An(xn, xn+1)

la tête ou le corps der.

On associe àM le mota1a2...an.

Définition 79

À chaque règle tgd nous pouvons donc associer deux mots, et donc associer une contrainte de mots (forme RPQ) ou une règle d’un système de réécriture.

À toute contrainte de mots (en tant que tgd)r = B → H on associe le motu àB etv àH on peut donc associer àr:

— La contrainte de motsxu y v xv y — La règle de réécriture(u, v)

Définition 80

À toute instanceIdont tous les prédicats sont d’arité2on peut associer une base de données graphesG:

N =Dom(I )

E = {(x, a, y), A(x, y) ∈ I }

Pour tout ensemble de contraintes de motsC en tant que tgd, siC0désigne les contraintes de mots en tant que RPQ on a :

I |= C si et seulement siG |= C0

Ainsi, nous préférons confondre les termes de contraintes de mots tgd et RPQ. De même nous confondons une instance d’arité2et la base de données graphe associée.

C H A P I T R E

Le but de ce chapitre est de présenter l’état de l’art sur les résultats en lien avec ce manuscrit. Tout d’abord sont présentés les principaux résultats de réécriture des mots qui nous préoccupe. Nous verrons dans un second temps quelques résultats sur l’inclusion de requêtes sur les bases de données graphes, sans contraintes puis avec contraintes. Dans une dernière partie, nous verrons quelques travaux sur la complétion des bases de données par la procédure du chase sous contraintes tgd : les problèmes de la terminaison et de la borne uniforme.

2.1

Réécriture

Les systèmes de réécritures de mots, ont été définis originellement pour des questions de simplification dans les semi-groupes. Ils sont depuis devenus des objets très utilisés en informatique. Dans ce manuscrit nous utilisons plusieurs problèmes majeurs de la théorie de la réécriture des mots :

- Le problème du mot :

Étant donné un systèmeRet deux motsuetv, peut-on décider siu →v?

Le problème du mot est indécidable en général [82].

- Le problème de terminaison :

Est ce que toutes les dérivations sont de longueur finie ?

Le problème de terminaison est indécidable en général [37,16]. La preuve de la terminaison de certains problèmes est difficile comme le problème de Zantema constitué de l’unique règle0011 → 111000[47,33,49], ou de manière plus célèbre la conjecture de Collatz1qui peut-être traduite en un problème de terminaison d’un système de réécriture [89]. De nombreuses méthodes pour assurer la terminaison ont été proposées [70,36,10,88,32]. Des programmes comme matchbox, torpa, Aprove,

COCCINELLE, ... ont été développés dans le cadre d’un compétition annuelle de

terminaison [1].

- Le problème de la préservation des réguliers :

Est ce que DescR(L)est régulier pour tout langage régulierR?

Ce problème a été initialement démontré comme indécidable dans le contexte des termes [50,31], puis a été précisé un peu plus tard dans le cadre des mots [81]. Dans ce document, nous nous intéressons à des classes de systèmes de réécriture qui assurent la préservation des réguliers et nous définissons les classes MBmax

(def.141) et BPar (def.150)comme preservant les réguliers. La classe MBmindes match-

bounded est une notion similaire à la classe des systèmes à complexité parallèle bornée MBmax. Les systèmes inverse match-bounded préservent les réguliers mais

ne sont pas descendant-limités (def.88)ce qui ne permet pas de décider l’inclusion de RPQ sous contrainte MBmin.

De nombreuses classes et critères ont été proposés on citera notamment le critère [29], et des classes comme les monadiques [16,80], les systèmes préfixes/suffixes [83,15,28] les deleting [60], les inverses match-bounded [49,48],...

1. sixest pair on le transforme enx/2, sinon en3x + 1, la conjecture énonce que pour toutx, le nombre1est atteint.

Une méthode classique pour préserver la régularité consiste à compléter un automate du langage pour reconnaître les descendants. Une étude de la terminaison de la complétion d’automate dans le contexte de la réécriture des termes peut être trouvée [42,45,46,44].

Comme dit précédemment, nous proposons dans ce manuscrit une complétion similaire à l’oblivious-chase (def.158et98). Nous proposons des classes MBmax(k)et

BPar(k)qui assurent une borne uniforme de la procédure de complétio.

Un système de réécriture est MBmax(k)(def.141) si toute dérivation peut-être

effectuée en un nombre d’étapes de réécriture parallèles≤ k:

La réécriture parallèle consiste à pouvoir appliquer plusieurs étapes de réécriture sur des facteurs orthogonaux. L’orthogonalité a été mise en avant en lambda calcul [72] et dans la réécriture des termes [63,53,67,68,14] notamment comme modèle de calcul. Dans [64,12] des annotations sont ajoutées afin de garder l’historique de l’évolution de la réécriture, nous proposons ces mêmes annotations pour les systèmes de réécriture (def.139).