• Aucun résultat trouvé

1 Décidabilité et grammaires algébriques

N/A
N/A
Protected

Academic year: 2022

Partager "1 Décidabilité et grammaires algébriques"

Copied!
4
0
0

Texte intégral

(1)

Langages formels, calculabilité et complexité ENS Paris – A1S1 2019-2020

21 novembre 2019 NathanGrosshans

TD 8 – Indécidabilité, le retour

1 Décidabilité et grammaires algébriques

Soit Σ un alphabet. Étant donném ∈N>0 et une suiteu= (u1, u2, . . . , um) de m mots sur Σ, on introduit un nouvel alphabetA={a1, a2, . . . , am} disjoint deΣet on définit

Lu ={ui1ui2· · ·uinain· · ·ai2ai1 |n∈N>0∧∀j∈[[1, n]], ij ∈[[1, m]]},

L0u ={wain· · ·ai2ai1 |n∈N∧∀j ∈[[1, n]], ij ∈[[1, m]]∧w∈Σ∧w6=ui1ui2· · ·uin} ∪ {ε}. Exercice 1.Montrer que les langages ainsi définis sont algébriques (« context-free »).

Solution 1.La grammaire G= ({S, T},Σ∪A, R, S) oùR contient les règles

S →ui1T ai1 |ui2T ai2 | · · · |uimT aim T →ui1T ai1 |ui2T ai2 | · · · |uimT aim |ε génère Lu.

La grammaire G0 = ({S0, S00, T0, U0, V0},Σ∪A, R0, S0) où R0 contient les règles S0 →S00

S00 →uiS00ai ∀i∈[[1, m]]

S00 →bT0 ∀b∈Σ

S00 →vU0ai ∀i∈[[1, m]], v∈Σ,|v|<|ui| S00 →vV0ai ∀i∈[[1, m]], v∈Σ|ui|\ {ui}

T0 →bT0 ∀b∈Σ

T0 →ε

U0 →U0ai ∀i∈[[1, m]]

U0 →ε

V0 →V0ai ∀i∈[[1, m]]

V0 →bV0 ∀b∈Σ

V0 →ε

génère quant à elleL0u.

Exercice 2.Montrer, en utilisant l’indécidabilité de PCP, que les langages suivants sont indécidables.

1. DISJCFG ={hG1,G2i | G1 etG2 sont des grammaires algébriques et L(G1)∩ L(G2) =∅}. 2. EQCFG ={hG1,G2i | G1 etG2 sont des grammaires algébriques et L(G1) =L(G2)}. 3. ALLCFG={hGi | G est une grammaire algébrique sur un alphabet ΣetL(G) = Σ}. 4. REGCFG ={hGi | G est une grammaire algébrique et L(G) est rationnel}.

5. IDEMCFG={hGi | G est une grammaire algébrique etL(G) =L(G)L(G)}.

1

(2)

Solution 2.Soit Σ un alphabet. Considérons (u1, v1),(u2, v2), . . . ,(um, vm) avec m ∈N>0 une suite de dominos sur Σ.

On pose u= (u1, u2, . . . , um) etv= (v1, v2, . . . , vm)et on considère les langagesLu, L0u, Lv, L0v tels que définis plus haut sur l’alphabet Σ∪Aoù A={a1, a2, . . . , am} est disjoint deΣ.

Observons que (Σ∪A)\Lu=L0u∪((Σ∪A)A)et(Σ∪A)\Lv =L0v∪((Σ∪A)A). Dans la suite, on donne l’idée de la réduction que l’on applique étant donné le mot h(u1, v1), (u2, v2), . . . ,(um, vm)i, réduction qui est à chaque fois calculable. Pour le cas des mots qui ne corres- pondent pas à un encodage valide d’une instance pour PCP, on associe simplement un mot fixé qui convient.

1. Soit Gu et Gv des grammaires algébriques engendrant, respectivement, Lu et Lv. On observe que

h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔Lu∩Lv 6=∅ ⇔ hGu,Gvi∈/ DISJCFG .

2. SoitGu0 etGdes grammaires algébriques engendrant, respectivement,L0uetL0u∪Lv. On observe que

h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔Lu∩Lv 6=∅

⇔Lv *L0u

⇔L0u 6=L0u∪Lv

⇔ hGu0,Gi∈/ EQCFG . On peut par ailleurs aussi observer que

h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔Lu∩Lv 6=∅ ⇔L0u∪L0v 6= ΣA .

3. Soit G00 une grammaire algébrique engendrant (Σ∪A)\Lu∪(Σ∪A)\Lv. On observe que h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔Lu∩Lv 6=∅

⇔(Σ∪A)\Lu∪(Σ∪A)\Lv 6= (Σ∪A)

⇔ hG00i∈/ ALLCFG . 4. On suppose d’abord qu’il n’existe pas i∈[[1, m]] tel que(ui, vi) = (ε, ε).

Soit G0 une grammaire algébrique engendrant L0u∪L0v.

Sih(u1, v1),(u2, v2), . . . ,(um, vm)i∈/PCP, alorsLu∩Lv =∅et il est direct de voir queL0u∪L0v = ΣA, qui est un langage rationnel.

Autrement, si h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP, alors il existe n∈N>0 eti1, i2, . . . , in∈ [[1, m]] tels que ui1ui2· · ·uinain· · ·ai2ai1 = vi1vi2· · ·vinain· · ·ai2ai1 ∈ Lu ∩Lv. Notons w = ui1ui2· · ·uin = vi1vi2· · ·vin et x = ain· · ·ai2ai1. Par hypothèse, on a nécessairement w 6= ε, d’où il s’ensuit que pour tous j, k ∈N>0, j 6= k, (wj)−1(L0u ∪L0v) 6= (wk)−1(L0u∪L0v) puisque wjxj ∈Lu∩Lv ⊆(Σ∪A)\(L0u∪L0v)alors quewkxj ∈L0u∪L0v. On en déduit donc queL0u∪L0v a une infinité de quotients à gauche, d’oùL0u∪L0v n’est pas rationnel.

On en conclut que

h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔L0u∪L0v ∈ R/ eg⇔ hG0i∈/ REGCFG .

Pour le cas où il existe i ∈ [[1, m]] tel que (ui, vi) = (ε, ε), on associe simplement un mot fixé qui convient.

5. On suppose d’abord qu’il n’existe pas i∈[[1, m]] tel que(ui, vi) = (ε, ε).

Soit G00 une grammaire algébrique engendrant (Σ∪A)\Lu∪(Σ∪A)\Lv =L00.

Sih(u1, v1),(u2, v2), . . . ,(um, vm)i∈/ PCP, alors (Σ∪A)\Lu∪(Σ∪A)\Lv = (Σ∪A) qui vérifie bien évidemment(Σ∪A) = (Σ∪A)(Σ∪A).

Autrement, si h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP, alors il existe n∈N>0 eti1, i2, . . . , in∈ [[1, m]] tels que ui1ui2· · ·uinain· · ·ai2ai1 = vi1vi2· · ·vinain· · ·ai2ai1 ∈ Lu ∩Lv. Notons w =

2

(3)

ui1ui2· · ·uin = vi1vi2· · ·vin et x = ain· · ·ai2ai1. Par hypothèse, on a nécessairement w 6= ε, d’où il s’ensuit que w, x ∈ (Σ∪A)\Lu∪(Σ∪A)\Lv. Nous avons donc que wx ∈ L00L00, alors que wx∈/L00, d’oùL00 6=L00L00.

On en conclut que

h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔L00 6=L00L00 ⇔ hG00i∈/IDEMCFG .

Pour le cas où il existe i ∈ [[1, m]] tel que (ui, vi) = (ε, ε), on associe simplement un mot fixé qui convient.

Exercice 3.Montrer que

1. {hG,Ai | G est une grammaire algébrique,A est un AFD etL(A)⊆ L(G)}est indécidable ; 2. {hG,Ai | G est une grammaire algébrique,A est un AFD etL(G)⊆ L(A)}est décidable.

Solution 3.

1. On réduit ALLCFG au langage considéré, en observant que, pour toute grammaire algébrique G sur un alphabet Σ,

L(G) = Σ ⇔ L(AALL)⊆ L(G) où AALL est un AFD reconnaissant Σ.

2. Étant donné une grammaire algébrique G et un AFD Asur un alphabet Σ, on observe que L(G)⊆ L(A)⇔ L(G)∩Σ\ L(A) =∅ .

De plus, puisqueL(A)est rationnel,Σ\L(A)l’est aussi et doncL(G)∩Σ\L(A)est algébrique.

Puisque le langage {hGi | G est une grammaire algébrique etL(G) =∅} est décidable, on peut conclure.

2 Séparabilité

Exercice 4.Soit Σun alphabet. Soit A etB deux langages disjoints surΣ. On dit qu’un langage C surΣ sépareA et B lorsqueA⊆C etB ⊆C¯.

1. Si deux langages A et A¯ sur Σ ne sont séparés par aucun langage décidable, que peut-on en déduire ?

2. Montrer que deux langages A et B sur Σ sont séparés par un langage décidable s’ils sont co-reconnaissables et disjoints.

3. Montrer qu’il existe des langages A etB sur Σqui sont reconnaissables, mais ne sont séparés par aucun langage décidable.

Solution 4.

1. On peut en déduire que ni A, niA¯ ne sont décidables.

2. Étant donné une MT MA¯ reconnaissant A¯et une MT MB¯ reconnaissantB¯, on construit une MTMqui, étant donné un motw∈ {0,1} en entrée, exécuteMA¯(w)etMB¯(w)en parallèle, en acceptant siMA¯ accepte en premier, et en rejetant si MB¯ accepte en premier.

Quel que soit le motw∈ {0,1} en entrée,Ms’arrêtera puisqu’il y a toujours au moins une des deux MT MA¯ etMB¯ qui acceptera avecw en entrée, de par le fait que AetB sont disjoints.

Le langageL(M) est donc décidable par construction et vérifie que pour toutw∈ {0,1},

— siw∈A, alors w∈A∩B¯ et doncw∈ L(M)/ ;

— siw∈B, alors w∈A¯∩B et doncw∈ L(M).

Par conséquent,L(M) sépareA etB.

3

(4)

3. On pose

A={hMi | MMT normalisée acceptant sur le mot vide} et

B ={hMi | MMT normalisée rejetant sur le mot vide},

puis on observe que siAetB pouvaient être séparés par un langage décidable, il existerait une MT résolvant « Consistent guessing » (voir le polycopié du cours, dans la partie traitant de la décidabilité de théories logiques).

4

Références

Documents relatifs

Consigne 1 : Il t’a été demandé d’éclairer les populations de la commune d’Efoulan sur les principaux réservoirs du virus EBOLA et sur les modes de transmission

[r]

Le monoïde syntaxi- que d'un langage engendré par une grammaire bi-très-simple G est un quotient de Rees de M (G). Le monoïde de Hotz de ces grammaires est plongeable dans le groupe

Proposer un algorithme en temps polynomial (en la taille cumulée du mot et de la grammaire) qui reconnaît si un mot appartient au langage engendré par une grammaire algébrique en

Proposer un algorithme en temps polynomial (en la taille cumulée du mot et de la grammaire) qui reconnaît si un mot appartient au langage engendré par une grammaire algébrique en

Montrer qu’il existe des langages A et B sur Σ qui sont reconnaissables, mais ne sont séparés par aucun langage

À tout mot qui n’est pas un encodage valide d’une formule CNF avec au plus 3 littéraux dans chaque clause, on associe simplement un mot qui n’est pas un encodage valide d’un

[r]