• Aucun résultat trouvé

2 Castors affairés

N/A
N/A
Protected

Academic year: 2022

Partager "2 Castors affairés"

Copied!
4
0
0

Texte intégral

(1)

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

(2)

— 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

(3)

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

(4)

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

Références

Documents relatifs

Un point d’articulation d’un graphe non orient´ e est un sommet x tel que le sous- graphe induit par suppression de x poss` ede strictement plus de composantes connexes que le

Il n’est pas toujours possible de d´ efinir le chemin de coˆ ut minimal en pr´ esence d’un circuit absorbant.. Il donne les plus courts chemin d’origine unique ` a

Coder graphe nimrod( quad p ) une fonction qui retourne le graphe Γ correspon- dant au param` etre p. The NIMROD (1951) was designed exclu- sively to play the game

Max a écrit 2 lettres, mais il a oublié la formule de début et la formule de politesse.. Place-les au

[r]

Montrer que la suite (v n ) est une suite arithmétique ; préciser sa raison et son premier terme. On tire au hasard 2 boules de l’urne. Calculer le nombre de possibilités

UTBM le 25 Juin 2010 Examen final S. En déduire

[r]