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
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 etG∪des 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,G∪i∈/ 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 G∪00 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)∗
⇔ hG∪00i∈/ ALLCFG . 4. On suppose d’abord qu’il n’existe pas i∈[[1, m]] tel que(ui, vi) = (ε, ε).
Soit G∪0 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⇔ hG∪0i∈/ 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 G∪00 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
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 ∈ L00∪L00∪, alors que wx∈/L00∪, d’oùL00∪ 6=L00∪L00∪.
On en conclut que
h(u1, v1),(u2, v2), . . . ,(um, vm)i ∈PCP⇔L00∪ 6=L00∪L00∪ ⇔ hG∪00i∈/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
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