• Aucun résultat trouvé

4.3 Décidabilité du problème R ∈ MB max (k)?

4.3.1 Premiers algorithmes

Nous présentons deux algorithmes qui étant donné(R, k)décide siR ∈MBmax(k).

Le premier est EXPTIME et le second PSPACE.

Avec un automate Une première méthode consiste à détecter si une dérivation de

complexité parallèle égale àk + 1existe : on a étudié au chapitre1et dans la section précédente la complétion d’un automateA(définition98) qui reconnaît l’ensemble des ancêtres àkétapes parallèles deL(A)i.e.{w ∈ Σ, ∃m ∈ L(A), w km}.

Nous adaptons cette même complétion mais pour les descendants, ainsi si A est un automate qui reconnaîtLalors TkR(A)reconnaît les descendants àkétapes parallèles, ainsi, le système appartient à MBmax(k)si et seulement si Tk+1R (A) =TkR(A).

SoientAs= (Q, Σ, δs, I , F )un automate signé,Run système de réécriture sur Σ. On définit par TR(A)l’automate signé(Qnew,Σ,δnew, q0, F )où :

Qnew= Q ∪ [ q∈Q (lk ,rk )∈R Paths+(A,q,lk )6=;∧|rk |>1 Ã |rk| [ j =2 {st(q, k, j )} ! δnew= δ∪ δ1∪ δ2∪ δ3∪ δ4 avec : δ= {(q, x, q0, −),∃s ∈ {+,−},(q, x, q0, s) ∈ δ} δ1= [ q∈Q (lk ,rk )∈R Paths+(As ,q,lk )6=;∧|rk |>2 Ã|r k|−1 [ j =2 {(st(q, k, j ), rk[ j ],st(q, k, j + 1),+)} ! δ2= [ q∈Q (lk ,rk )∈R Paths+(As ,q,lk )6=;∧|rk |>1 {(q, rk[1],st(q, k, 2), +)} δ3= [ q∈Q (lk ,rk )∈R |rk |>1 Ã [ q0Paths +(As,q,lk) {st(q, k, |rk|), rk[|rk|], q0, +))} ! δ4= [ q∈Q (lk ,rk )∈R |rk |=1 Ã [ q0Paths +(As,q,lk) {(q, rk[|rk|], q0, +))} ! Définition 158

Si tous les états de Assont accessibles (il existe un run d’un état initial à cet état) et co-accessibles (il existe un run de cet état à un état final), alors les états de TR(As)

sont accessibles et co-accessibles.

On supposera que tous les états de nos automates sont accessibles et co-accessibles.

SoitRun système de réécriture. Soit Asun automate signé. Pour toutk ≥ 0: Il existe un run de TkR(As)entreq0∈ I etqf ∈ F qui reconnaîtxnsi et

seulement s’il existe une dérivationσ = x0→∗xnavecx0∈ L(As), telle que les positionspdont les transitions du run sont positives sont exactement

celles qui vérifient depthσ(n, p) = k, les autres positions vérifiant depthσ(n, p) < k.

Lemme 159

Démonstration. Montrons l’implication par récurrence surk.

- Initialisation : Soitk = 0. Soitρun run positif deAs. Soitmle mot reconnu par

ρ. La dérivationσ = mconvient.

- Hérédité : Supposons la propriété pour un entierkfixé. On poseA0=Tk(A) = (Q,Σ,δ, I,F )et TR(A0) = (Qnew,Σ,δnew, I , F )avec les notations de la définition158.

Soitρun run positif de TR(A0)qui reconnaîtm. On décomposeρen sous-run de la forme :

1. Les sous-run dont aucun transition n’est positive

2. Les sous-run qui comportent une unique transition positive entre deux états deQ

3. Les sous-run entre deux états q etq0deQ qui comportent au moins deux transitions positives dont tous les états en dehors deqetq0n’appartiennent pas àQ.

On remarquera que par définition de TR(A0)si une transition n’est pas positive alors les états de la transition appartiennent àQ. Ainsi cette décomposition est unique et existe pour toutρ.

1) Dans le premier cas, si aucune transition d’un sous-runρ0n’est positive, alors par définition puisque toutes les transitions deδ1∪ δ2∪ δ3∪ δ4sont positives, les transitions deρ0sont dansδ−, soit(q, a, q0, −)une des transitions : par la remarque au dessus, q, q0∈ Q et par définition deδ− il existe une transition (q, a, q0, −)ou (q, a, q0, +)dansδ. Donc il existe un runρ00entre les mêmes états que celui deρ0et qui reconnaît le même mot qui appartient àL(A0). Donc il existe une dérivation de

x0→∗xnavecx0∈ L(As)telle que depthσ(n, p) ≤ k < k + 1pour toute positionp. 2) Dans le second cas, le sous-run est composé d’une unique transition

(q, rm, q0, +)et puisque la transition est positive elle appartient àδ1∪ δ2∪ δ3

δ4, or parmi ces ensembles de transitions, seulδ4 contient des transitions dont les deux états sont dansQ. Par définition deδ4il existelm tel que(lm, rm) ∈ R et

q0∈Paths(A0, q, lm)donc il existe un run positif entreq etq0qui reconnaîtlmdans

Par hypothèse de récurrence, il existe une dérivationσ = x0→∗ xn= lm avec

x0∈ L(As), et puisque le run est positif, il y a une transition positive dansA0donc une des positionspdexnvérifient depthσ(n, p) = k, les autres vérifient depthσ(n, p) ≤

k. Or (lm, rm) ∈ R donc la dérivation σ0 = x0 →∗ xn → xn+1 = rm existe. Et on a depthσ0(n + 1,1) = 1 + maxdepthσ(n, p) = k + 1 et cela correspond à la transition

positive d’étiquetterm[1] = rm.

3) Dans le troisième cas, le sous-run ne possède que des transitions positives et seuls le premierqet le dernier étatq0appartiennent àQ. Donc les autres états sont de la forme st(q, m, j ). Puisque chacun de ces états n’ont qu’une unique transition sortante et une unique entrante (i.e. il existe une unique transition telle que l’état soit premier membre, resp. avant dernier membre). Alors le sous-run est de la forme :

q a1st(q, m, 2)a2st(q, m, 3)a3...at −1st(q, m, t − 1)atq0

On poserm= a1...at, il existelmtel que(lm, rm) ∈ R et il existe un run positif deq àq0qui reconnaîtlmdansA0=TkR(As).

Par hypothèse de récurrence, il existe une dérivationσ = x0→∗xn= lmavecx0∈

L(As), et puisque le run est positif, il y a une transition positive dansA0donc une des positionspdexnvérifient depthσ(n, p) = k, les autres vérifient depthσ(n, p) ≤ k. Or (lm, rm) ∈ R donc la dérivationσ0= x0→∗xn→ xn+1= rm existe. Et on a depthσ0(n +

1, p0) = 1 + maxdepthσ(n, p) = k + 1pour toutp0entre1ett, et toutes les transitions étiquetés parrm[p0]dans le run sont positives.

Enfin, puisque le runρest composé de ces run, par concaténation l’implication de l’hypothèse de récurrence est vraie pourρ.

Prouvons maintenant la réciproque par récurrence surk.

- Initialisation : Sik = 0alors la seule dérivation de complexité parallèle égale à 0estσ = x0alors commex0∈ L(As)on a bien un run entre un état initial et un état final de T0(As) = Asqui reconnaîtx0.

- Hérédité : Soitσ = x0→∗xnde complexité parallèlek + 1. Soiti le plus grand élément tel quexi est de profondeurk.

Par hypothèse de récurrence il existe un runρde TiR(As)entre un état initialq0

et un état finalqf qui reconnaîtxn.

Puisque xi→ xi +1il existeµ,µ0, u, v tels quexi = µuµ0,xi +1= µvµ0et(u, v) ∈ R. On considère le sous-runρ0deρqui reconnaîtu, on le suppose entreqetq0.uadmet au moins une position de profondeur exactementkcarxi +1est de profondeurk + 1.

Soitpune positionxi correspondant à une lettre deutelle que depthσ(n, p) = k, alors la transition correspondante dans Tk(R)est positive. Par définition de TR(TkR(As))

il existe un run entre q etq0dans TR(TkR(As))qui reconnaîtv. Or il existe un run de TkR(As)entreq0etqqui reconnaîtµet un autre entreq0etqf qui reconnaîtµ0.

Comme TkR(As) ⊆ TRk+1(As)il existe un run deqqf qui reconnaîtµvµ0= xi +1.

Montrons maintenant que pour tout j > i il existe un run dans Tk+1R (As)entre un

état initial et un état final qui reconnaîtxj. L’initialisation a été prouvée avecxi +1. Supposons alors que c’est vrai pourj. Par hypothèse il existe un runρqui reconnaît

xj dans TkR(As)entre un état intialq0et un état finalqf. On axj → xj +1, donc il existe

µ,µ0, u, v

tels quexj = µuµ0,xj +1= µvµ0et(u, v) ∈ R, on considère le sous-run qui reconnaîtu. Aucune des positions deun’est de profondeurk + 1, sinon on aurait les positions dev de profondeurk + 2impossible carxj +1a toutes ses positions valant au plusk + 1. Notonsi la plus grande profondeur des positions deu, par hypothèse de récurrence, commei < k + 1, il existe un run dans TiR(As)qui reconnaitu, une des transitions est positive, donc il existe un run dans Ti +1R (As)qui reconnaîtv. Or

i + 1 ≤ k + 1donc ce run est un run de Tk+1R (As). Donc il existe un run entreq0etqf

qui reconnaîtµvµ0doncxj +1dans Tk+1R (As).

Ce qui conclut la preuve.

SoitLun langage régulier, reconnu par un automateA. On noteAs l’automate signé correspondant.

Pour tester siR ∉MBmax(k, L), il faut et il suffit de construire l’automate Tk+1R (As)

et vérifier siAscontient une transition positive. Ainsi, d’après la proposition104on a :

INSTANCE :Run système de réécriture,Lun langage régu- lier sous forme d’automate(Q,Σ,δ, I,F ),kun entier

QUESTION :R ∈MBmax(k, L)?

COMPLEXITE : EXPTIME

Avec les ancêtres Une autre méthode consiste à utiliser un

algorithme non-déterministe qui construit une dérivation certificat de profondeur

k + 1ssiR ∉MBmax(k).

Soitσ une dérivation de complexité parallèlek + 1alors il existe un nœud n de profondeurk + 1dans le graphe de dérivationG(σ). On considère les ancêtres AncG(σ)(n)dencomme l’ensemble des nœudsn0deG(σ)tel qu’il existe un chemin

den0jusqu’àn. C’est un sous-graphe deG(σ)qui induit une sous-dérivationσ0dont l’origine est un facteur de orig(σ).

SoitRun système de réécriture,σune dérivation etnun nœud deG(σ) = (N , E ). On définit par induction :

— Les1-ancêtres den, noté AncG(σ)1 (n)comme lesn0tels que(n0, n) ∈ E — Lesk-ancêtres densont les1-ancêtres des(k − 1)-ancêtres den. — Les ancêtres densont l’union de tous lesk-ancêtres den.

Nous notons AncG(σ)(n)(ou plus simplement Anc∗(n)si le contexte est clair) le sous-graphe des ancêtres den.

Définition 160

On définiLcomme le max des#Leftσ(i )pouri de1àn.

Soit R un système de réécriture, soit σune dérivation et n un nœud de profondeurkdansG(σ)alors

|Anc∗G(σ)(n)| ≤ 1 +

Lk− 1

L − 1

Proposition 161

Démonstration. Montrons que pour toute dérivationσ, pour chaque nœudi 6= 0 deG(σ)on a |Anc1(i )| ≤ |Leftσ(i )|. Par définition( j , i ) ∈ E ssi il existe q et q0 tels que(q, q0) ∈Corrσ(i , j −1), q ∈Rightσ( j )etq0∈Leftσ(i ). Soit Set= {(p0, p) |∃ j (p0, p) ∈ Corrσ( j , i − 1), p0∈Rightσ( j ), p ∈Leftσ(i )}. Supposons que(p01, p) et(p02, p) appar- tiennent à Set. Alors,pappartient Leftσ(i )et il existej1etj2tels que(p10, p) ∈Corrσ( j1, i − 1), p10 ∈Rightσ( j1)et(p02, p) ∈Corrσ( j2, i − 1), p02∈Rightσ( j2)

Nous pouvons supposer sans perte de généralité que j1≤ j2. Comme(p10, p) ∈ Corrσ( j1, i − 1)par définition de Corr, il existep00 tel que(p01, p00) ∈Corrσ( j1, j2)et (p00, p) ∈Corrσ( j2, i − 1). Comme Corrσ( j2, i − 1)−1 est injective à droite (i.e.xR zet

yR z implique x = y), nous avonsp00= p02. Mais comme p02∈Rightσ( j2), si j1< j2, il n’existe pas de positionxtelle que (x, p2) ∈Corrσ( j1, j2). Ainsi, j1= j2. Comme, Corrσ( j1, i − 1)−1est injective à droite, si(p01, p)et(p02, p)sont dans Set alorsp10 = p02. Alors le cardinal de Set, et donc de#Anc1(i )est majoré par|Leftσ(i )|.

Ainsi le nombre de nœuds de Anc∗(i )de profondeurt > 0dansG(σ)est majoré parLk−t et donc, sii est de profondeurk |Anc∗(i )| ≤ 1 +Pkt =1Lk−t= 1 +L

k−1

L−1.

Le sous-graphe AncG(σ)(n)d’une dérivation de profondeurkest de taille bornée

par1 +L

k−1

L−1 (la borne peut-être atteinte). Il est possible de construire un algorithme

Co-NEXPTIME qui décideR ∈MBmax(k).