Langages formels, calculabilité et complexité ENS Paris – A1S1 2018-2019
8 novembre 2018 Grosshans Nathan
TD 7 – Indécidabilité
1 Indécidabilité et non-reconnaissabilité
Un état q ∈ Q d’une MT M = (Q,Σ,Γ, δ, q0, qacc, qrej), différent de qacc et qrej, est dit inutile lorsqu’aucun calcul d’une configuration initiale q0w pourw∈Σ∗ ne visite l’état q.
Exercice 1.Montrer que les langages suivants ne sont pas décidables.
1. {hMi | MMT normalisée ayant un état inutile}. 2.
hMi
MMT normalisée qui écrit le symbole blanc au cours de son exécution sur le mot vide
. 3.
hMi
MMT normalisée s’arrêtant sur le mot vide et étant l’une de celles, à états et alphabets fixés, effectuant le nombre maximal d’étapes avant arrêt
. Solution 1.On note
HETM={hMi | M MT normalisée s’arrêtant sur le mot vide} , qui est un langage indécidable.
1. SoitM= (Q,Σ,Γ, δ, q1, q2, q3)une MT normalisée telle queQ={q1, . . . , qn}avecn∈N, n≥3, Σ ={a1, . . . , al} avec l ∈N, l ≥1 etΓ ={a1, . . . , ak} avec k∈N, k≥l+ 1, oùak correspond au symbole blanc.
Construisons la MT normalisée M0 = (Q0,Σ,Γ0, δ0, q1, q2, q3) où Q0 = Q∪ {qn+1, qn+2}, Γ0 = Γ∪ {ak+1}(oùak+1 correspond au symbole blanc) etδ0: (Q0\ {q2, q3})×Γ0 →Q0×Γ0× {L, R}
est telle que :
— pour tousi∈[[1, n]]\{2,3}etj∈[[1, k−1]],δ0(qi, aj) = (p0, b0, D)avec, si(p, b, D) =δ(qi, aj), alorsp0 =
(p sip∈ {q/ 2, q3}
qn+1 sinon etb0 =
(b si b6=ak ak+1 sinon ;
— pour tout i ∈ [[1, n]]\ {2,3}, δ0(qi, ak+1) = (p0, b0, D) avec, si (p, b, D) = δ(qi, ak), alors p0 =
(p si p∈ {q/ 2, q3}
qn+1 sinon etb0 =
(b sib6=ak ak+1 sinon ;
— pour tous j∈[[1, k+ 1]],δ0(qn+1, aj) = (qn+2, ak, R) etδ0(qn+2, aj) = (q1, ak, L);
— δ0(q1, ak) = (q4, ak, R), δ0(qn, ak) = (q2, ak, L) et pour tout i ∈ [[4, n−1]], δ0(qi, ak) = ((qi, ak, L) sii mod2 = 0
(qi, ak, R) sinon .
Il n’est pas trop difficile de voir que Ms’arrête sur le mot vide si et seulement si M0 n’a pas d’état inutile. De plus, la transformation de hMi en hM0i est calculable par une MT, d’où il s’ensuit que le langage considéré ne peut être décidable, autrement HETM serait lui-même décidable.
2. SoitM= (Q,Σ,Γ, δ, q1, q2, q3)une MT normalisée telle queQ={q1, . . . , qn}avecn∈N, n≥3, Σ ={a1, . . . , al} avec l ∈N, l ≥1 etΓ ={a1, . . . , ak} avec k∈N, k≥l+ 1, oùak correspond au symbole blanc.
Construisons la MT normalisée M0 = (Q,Σ,Γ0, δ0, q1, q2, q3) où Γ0 = Γ ∪ {ak+1} (où ak+1 correspond au symbole blanc) etδ0: (Q0\ {q2, q3})×Γ0 →Q0×Γ0× {L, R}est telle que :
— pour tous i∈[[1, n]]\ {2,3} etj ∈ [[1, k]], δ0(qi, aj) = (p, b0, D) avec, si (p, b, D) =δ(qi, aj), alorsb0 =
(b sip∈ {q/ 2, q3}
ak+1 sinon ;
1
— pour tout i ∈ [[1, n]] \ {2,3}, δ0(qi, ak+1) = (p, b0, D) avec, si (p, b, D) = δ(qi, ak), alors b0=
(b sip∈ {q/ 2, q3}
ak+1 sinon .
Il n’est pas trop difficile de voir que Ms’arrête sur le mot vide si et seulement si M0 écrit le symbole blanc au cours de son exécution sur le mot vide. De plus, la transformation dehMi en hM0iest calculable par une MT, d’où il s’ensuit que le langage considéré ne peut être décidable, autrement HETM serait lui-même décidable.
3. On observe qu’il y a un nombre fini de MT normalisées à états et alphabets fixés.
Supposons qu’il existe une MT D décidant le langage considéré. On suppose avoir une MT V décidant le langage des mots sur {0,1} correspondant à des encodages avec h·i de MT normalisées. On construit maintenant une MT D0 qui, étant donné donné un mot w∈ {0,1}∗ en entrée, se comporte selon l’algorithme suivant :
siV(w) rejettealors rejeter
fin si .À partir d’ici on suppose que w=hMi
v←ε
pourM0 MT normalisée différente deMayant les mêmes états et alphabets faire siD(hM0i) acceptealors
v← hM0i fin si
fin pour siv=εalors
rejeter
fin si .À partir d’ici on suppose que v=hMmaxi
exécuterMmax(ε) en comptant le nombre d’étapestavant arrêt siM(ε)s’arrête en au plus tétapes alors
accepter sinon
rejeter fin si.
Il n’est pas trop difficile de voir que D0 décide HETM, ce qui contradictoire avec le fait que ce langage soit indécidable. Le langage considéré ne peut donc être décidable.
Exercice 2.SoitL⊆Σ∗un langage non décidable sur un alphabetΣcontenant{0,1}. Soit le langage K = 0L∪1 ¯L. Montrer que le langageK et son complémentaireK¯ ne sont pas reconnaissables.
Solution 2.Supposons queK est reconnaissable. Puisque0Σ∗ et1Σ∗ sont tous les deux trivialement reconnaissables, il s’ensuirait queL=K∩0Σ∗ etL¯ =K∩1Σ∗ sont tous les deux reconnaissables, ce qui impliquerait que Lest en fait décidable.
Supposons queK¯ est reconnaissable. On aK¯ = 0 ¯L∪1L∪(Σ\ {0,1})Σ∗∪ {ε}, donc il s’ensuirait queL= ¯K∩1Σ∗ etL¯= ¯K∩0Σ∗ sont tous les deux reconnaissables, ce qui impliquerait que Lest en fait décidable.
2 Castors affairés
Le problème des « castors affairés » (« busy beavers ») a été introduit par Radó, dans le but de définir « simplement » une fonction non calculable. Le modèle de MT considéré est le suivant : on suppose les machines déterministes, possédant un ruban bi-infini, un alphabet réduit à {0,1} (on ne distingue pas 0 du symbole blanc). On suppose de plus que les machines possèdent un unique état final, duquel aucune transition ne sort, et qui n’est pas compté parmi les états de la machine. Enfin, on considérera toujours un ruban initialement complètement blanc et l’on suppose qu’il existe un état d’arrêt duquel ne part aucune transition.
2
La fonction du castor affairé, notée Σ(n), est définie comme le nombre maximum de 1 écrits sur la bande (pas nécessairement consécutifs) après qu’une MT telle que décrite ci-dessus àn+ 1états (n états d’opération et un état d’arrêt) atteigne l’état d’arrêt.
Exercice 3.Justifier que Σ(n) est bien définie pour toutn∈N.
Solution 3.Il y a un nombre fini de MT telles que décrites ci-dessus (que l’on nommera adaptées) avec n∈Nétats, à renommage des états prêt. On observe aussi qu’il existe toujours au moins une de ces machines qui s’arrête (c’est-à-dire, atteigne l’état d’arrêt). Σ(n) est donc bien définie.
Exercice 4.Que valent Σ(0),Σ(1),Σ(2)? (Plus simplement, montrer que Σ(2)≥4.) Solution 4.Σ(0) = 0,Σ(1) = 1,Σ(2) = 4.
Pour Σ(0)et Σ(1), c’est évident.
Pour Σ(2), on constate que la MT ci-dessous s’arrête en écrivant bien4 lettres1 :
start 1 2
qacc 0→1, R
1→L
0→1, L
1→R
.
Pour montrer qu’on ne peut pas faire mieux, il faut énumérer les MT adaptées de façon intelligente.
Exercice 5.Montrer que la fonction Σest strictement croissante.
Solution 5.Pour toute MT adaptée àn∈Nétats qui écritk∈Nlettres1avant de s’arrêter, on peut construire une MT adaptée à n+ 1états qui écritk+ 1lettres1 avant de s’arrêter : toute transition allant vers l’état d’arrêt est envoyée vers le nouvel état, dans lequel on boucle en allant vers la droite tant que l’on lit1, et dans lequel on écrit un1en passant à l’état d’arrêt dès que l’on rencontre un0.
Le modèle de fonction calculable considéré est le suivant :f est calculable si et seulement s’il existe une machine de Turing qui, sur un ruban contenant initialementnsymboles 1 consécutifs à droite du symbole blanc de départ, s’arrête après un nombre fini de déplacements en produisant un bloc def(n) symboles 1 consécutifs.
Exercice 6.Montrer que la fonctionΣdu castor affairé croit strictement plus vite que toute fonction calculablef (c’est-à-dire,f(n)∈o(Σ(n))).
Solution 6.Soit f une fonction calculable. La fonctionp(n) = 2n est aussi calculable. On peut donc calculer la composée p◦f avec une MT à kétats. De plus, pour tout x∈N>0, la fonction cx(n) =x peut se calculer avec une MT à blog2(x)c+l états.
Pour tout x∈N>0, on peut donc construire une MT àblog2(x)c+l+k états calculant la fonction p◦f◦cx, c’est-à-dire, écrivant2f(x) sur la bande lorsque lancée sur le mot vide (ou tout autre mot).
Il s’ensuit donc que Σ(blog2(x)c+l+k)≥2f(x).
Par conséquent, pour tout x ∈N>0 suffisamment grand, puisque Σest strictement croissante, on a queΣ(x)≥Σ(blog2(x)c+l+k)≥2f(x), ce qui prouve que f(n)∈o(Σ(n)).
3 Quines
Pour deux MT A etB on noteA·B une MT qui exécute B après avoir exécutéA.
3
Pour chaque mot w∈Σ∗, soit Pw une MT sur Σ qui écrit le motw sur le ruban en utilisant |w|
états non finaux, l’état i∈[[1,|w|]] écrivant wi.
Exercice 7.Expliquer pourquoi la fonction q: N→Nest récursive (c’est-à-dire, calculable).
q(n) =
(hPwi s’il existew∈Σ∗ tel quen=hwi
⊥ sinon
Solution 7.q(n)peut être calculée en déterminantwtel quen=hwis’il existe puis en écrivanthPwi. Le calcul de w est récursif par la forme du codage tandis que la fonction associant hPwi à w est elle aussi calculable.
Exercice 8.Expliquer pourquoi la fonction s2(m, n) : N2 →Nest récursive.
s2(m, n) =
(hA·Bi s’il existe A, B telles quehAi=m∧ hBi=n
⊥ sinon
Solution 8.Étant donné les codeshAi ethBi, on retrouveA etB puis on concatène les deux calculs.
Exercice 9.En déduire qu’il existe une MT Mqui s’arrête après avoir écrit hMi sur la bande.
Solution 9.Soitsla fonctionx7→s2(q(x), x). On considèreMla MT qui calculePhsi·s, et qui donc vérifiehMi=hPhsi·si.
L’exécution de Msur le mot vide donne :
ε−−→ hsiPhsi −→s s(hsi) =s2(q(hsi),hsi) =s2(hPhsii,hsi) =hPhsi·si .
4