• 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 2019-2020

14 novembre 2019 NathanGrosshans

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);

— sin= 3,δ0(q1, ak) = (q2, ak, L), sinonδ0(q1, ak) = (q4, ak, R),δ0(qn, ak) = (q2, ak, L) et pour touti∈[[4, n−1]],δ0(qi, ak) =

((qi, ak, L) sii mod 2 = 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: (Q\ {q2, q3})×Γ0 →Q×Γ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, que nous appelleronsétat d’arrêt, 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.

La fonction du castor affairé Σ : N→ N est définie comme donnant, pour toutn∈ N, le nombre

2

(3)

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.

Considérons la définition suivante de fonction sur les entiers naturels calculable : f: N → N est calculable si et seulement s’il existe une MT qui, sur un ruban contenant initialement n symboles 1 consécutifs à droite du symbole blanc de départ, s’arrête sur ce symbole après un nombre fini d’étapes avec un bloc def(n) symboles 1consécutifs à droite du symbole blanc de départ.

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.Soitf une fonction calculable. La fonction p:n7→2n est aussi calculable. On peut donc calculer la composée p◦f avec une MT à kétats. De plus, pour toutx∈N>0, la fonctioncx:n7→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.

Étant donné un alphabet normaliséΣ(alphabet d’entrée d’une MT normalisée), on suppose avoir une fonction d’encodage h·i: Σ→ {0,1} pour les mots surΣassociée à la fonction d’encodage pour

3

(4)

les MT normalisées. Pour chaque motw∈Σ, il existe Pw une MT normalisée avec Σpour alphabet d’entrée qui écrit le motwsur le ruban en utilisant |w|états non finaux, l’étati∈[[1,|w|]]permettant d’écrirewi.

Exercice 7.Étant donné un alphabet normaliséΣ, expliquer pourquoi la fonctionq:{0,1} → {0,1} telle que

q(u) =

(hPwi s’il existe w∈Σ tel queu=hwi

ε sinon ,

pour toutu∈ {0,1} est calculable.

Solution 7.q peut être calculée en déterminant, pour une entrée u, le mot w tel que u = hwi s’il existe, puis en écrivant hPwi.

Exercice 8.Expliquer pourquoi la fonction s2:{0,1,#} → {0,1} telle que

s2(u) =

(hA·Bi s’il existeA, B MT normalisées telles queu=hAi#hBi

ε sinon

pour toutu∈ {0,1,#} est calculable.

Solution 8.s2peut être calculée en déterminant, pour une entréeu, les MT normaliséesAetBtelles queu=hAi#hBi si elles existent, puis en écrivant hA·Bi.

Exercice 9.En déduire qu’il existe une MT M qui, sur le mot vide, s’arrête après avoir écrithMi sur la bande.

Solution 9.Soit s:{0,1} → {0,1} la fonction x 7→ s2(q(x)#x), calculée par une MT normalisée S. On considèreM une MT normalisée qui calculePhSi· S, et qui donc vérifiehMi=hPhSi· Si.

L’exécution de Msur le mot vide donne :

ε−P−−hSi→ hSi−→S s(hSi) =s2(q(hSi)#hSi) =s2(hPhSii#hSi) =hPhSi· Si .

4

Références

Documents relatifs

Contrairement à ce que l’on vient de voir dans le cas d’une action engendrée par un seul automorphisme, on va montrer que, dans un sens qui va être précisé maintenant, un

Elopak veut croquer SIG pour rivaliser avec Tetra Pak P.38 MACHINISMEAGRICOLE. Le

Or cette propriété se réduit à trois tests : soit la machine M termine en acceptant le mot vide (semi-décidable), soit M termine en refusant le mot vide (semi-décidable), soit hM i a

Considérons la définition suivante de fonction sur les entiers naturels calculable : f : N → N est calculable si et seulement s’il existe une MT qui, sur un ruban contenant

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 initialement n symboles

Il sut alors de parcourir le graphe en remontant les arêtes, ce parcours termine nécessairement car il y a un nombre ni d'état et aucun cycle.. Suite : Soit S la composante source

Pour l’addition, il faut deux états, l’un correspondant à l’état avec retenue, et l’autre sans retenue : comme on lit les entiers des bits les plus forts aux bits les

Maitenant que nous avons A (1) et A (2) pour tous les i, j, r, nous savons construire les négations des formules en prenant l’automate complémentaire et nous savons faire