• Aucun résultat trouvé

1DécisiondelangagesetcalculdefonctionspardesmachinesdeTuring TD6–MachinesdeTuring

N/A
N/A
Protected

Academic year: 2022

Partager "1DécisiondelangagesetcalculdefonctionspardesmachinesdeTuring TD6–MachinesdeTuring"

Copied!
6
0
0

Texte intégral

(1)

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

7 novembre 2019 NathanGrosshans

TD 6 – Machines de Turing

1 Décision de langages et calcul de fonctions par des machines de Turing

Exercice 1.Pour chacun des langages suivants, donner (explicitement, avec tous les détails) une machine de Turing (MT) le décidant.

1. {w∈ {a, b}|w=wR} (langage des palindromes sur{a, b}).

2. {anbncn|n∈N}. 3. {a2n |n∈N}. 4. {ww|w∈ {a, b}}. Solution 1.

1. On construit la MT suivante :

start 1

2 3

4 5

qacc 6

a→X, R

b→X, R X,␣→L

a, b→R

X,␣→L

a→X, L X,␣→L

a, b→R

X,␣→L

b→X, L

X,␣→L

a, b→L X→X, R

. 2. On construit la MT suivante :

(2)

start 1 2 3 4

5 6 qacc

a→¯a, R

¯b→R

␣→L a,¯b→R

b→¯b, R

b,¯c→R

c→¯c, L

¯

c, b,¯b, a→L

¯ a→R

¯b→R

¯ c→R

¯ c→R

␣→L

. 3. On construit la MT suivante :

start 1 2 3 4

qacc 5 a→¯a, R

X→R

a→X, R

␣→L

X→R

a→R

␣→L

X →R

a→X, R

a, X →L

¯ a→

R

. 4. On construit la MT suivante :

(3)

start 1

2

3

4

5

6 7

8

9

10

11

12

13

qacc a→$a, R

b→$b, R

␣→L a, b→R

¯¯

a→a, L

¯¯b→b, L

␣→L

a→¯¯a, L b→¯¯b, L a, b→L

¯

a→a, R

¯b→b, R

$a,$b →R

a→¯a, R b→¯b, R

¯¯

a→L ¯¯b→L a, b→L

$a→R

a, b→L

$b →R ¯¯a,¯¯b→L

a→¯a, R b→¯b, R

a, b→R

¯¯

a,¯¯b→R

¯¯

a,¯¯b→R

a→¯¯a, L

a, b→R

¯¯

a,¯¯b→R

¯¯

a,¯¯b→R

b→¯¯b, L

¯a,¯b→R

a, b,a,¯¯ ¯¯b→L .

Une MT M= (Q,Σ,Γ, q0, qacc, qrej) qui est un décideur peut également être vue commecalculant

(4)

la fonction f: Σ → T telle que T ⊆ Γ et pour tout w ∈ Σ, f(w) = uv où q0w M uqaccv ou q0w M uqrejv.

Pour n∈Nun entier naturel, on dénote par hni sa représentation binaire gros-boutiste.

Exercice 2.Pour chacune des fonctions suivantes, donner (explicitement, avec tous les détails) une MT la calculant.

1. La fonction r: {0,1} → {0,1} telle que, pour tout w ∈ {0,1}, r(w) = wR. (C’est une fonction renversant une chaîne de bits.)

2. La fonctions:{0,1,#} → {0,1} telle que, pour toutw∈ {0,1,#},

s(w) =

(hn1+n2i siw=hn1i#hn2ipour n1, n2 ∈N

ε sinon .

(C’est une fonction additionnant deux entiers.)

3. Étant donné deux fonctions f1: Σ → Γ et f2: Γ → T (où Σ,Γ,T sont des alphabets) calculées respectivement par les MT M1 et M2, la fonction f2◦f1: Σ →T composition de f1 etf2.

Solution 2.Cela se fait de manière similaire à l’exercice précédent.

2 Reconnaissance de langages par des machines de Turing

On appellera dans la suite MT normalisée, une MT M = (Q,Σ,Γ, δ, q1, q2, q3) telle que Q = {q1, . . . , qn}avec n∈N, n≥3,Σ ={a1, . . . , al} avec l∈N, l≥1 etΓ ={a1, . . . , al, al+1, . . . , ak}avec k ∈N, k ≥l+ 1, où ak correspond au symbole blanc. Il n’est pas difficile de voir qu’à toute MT on peut (de manière non unique) associer une MT normalisée ayant exactement le même comportement.

Exercice 3.Proposer un encodage h·i pour les MT normalisées, c’est-à-dire, une application qui à toute MT normalisée M associe un mot hMi sur {0,1} de manière injective et vérifiant qu’il existe une MT universelle pour cet encodage, c’est-à-dire, reconnaissant le langage des motshMi#w oùM est une MT et w∈ {0,1} encode un mot sur l’alphabet d’entrée deMque cette dernière accepte.

Solution 3.On peut définirh·i comme étant l’application telle que pour toute MT normaliséeM= (Q,Σ,Γ, δ, q1, q2, q3) telle queQ={q1, . . . , qn} avecn∈N, n≥3,Σ ={a1, . . . , al}avec l∈N, l≥1et Γ ={a1, . . . , al, al+1, . . . , ak} avec k∈N, k≥l+ 1, on ait

hMi= 1n0001l0001k000Yn

i=4 k

Y

j=1

h(qi, aj), δ(qi, aj)i00k−1Y

j=1

h(q1, aj), δ(q1, aj)i00

h(q1, ak), δ(q1, ak)i , où pour tous i, x ∈ [[1, n]], j, y ∈ [[1, k]] et D ∈ {R, L}, h(qi, aj),(qx, ay, D)i = 1i01j01x01y0hDi avec hDi=

(1 si D=R 11 sinon .

Exercice 4.Pour chacun des langages suivants, décrire, sans donner tous les détails, une MT le reconnaissant.

1. {hMi | MMT normalisée s’arrêtant sur le mot vide}. 2. {hMi | MMT normalisée telle queL(M)6=∅}.

Solution 4.On suppose avoir une MT universelle U pour l’encodage h·i qui, lorsqu’elle a en entrée hMi#w pour M une MT normalisée et w∈ {0,1} encodant un mot sur l’alphabet d’entrée de M, s’arrête si et seulement siMs’arrête sur le mot encodé parw, ainsi qu’une MTV décidant le langage des mots sur {0,1}correspondant à des encodages avech·i de MT normalisées.

1. On construit une MT M qui, étant donné un mot w ∈ {0,1} en entrée, se comporte selon l’algorithme suivant :

(5)

siV(w) rejettealors rejeter

fin si U(w, ε) accepter.

2. On ordonne les mots de{0,1}selon l’ordre radiciel (le motx∈ {0,1}est plus petit que le mot y∈ {0,1} lorsque|x|<|y|ou|x|=|y|etxest plus petit quey selon l’ordre lexicographique, ce qui revient aussi à dire que l’entier dont la représentation binaire est 1x est plus petit que l’entier dont la représentation binaire est1y) en une suite (xi)i∈N.

On construit une MT M qui, étant donné un mot w ∈ {0,1} en entrée, se comporte selon l’algorithme suivant :

siV(w) rejettealors rejeter

fin si i←0

tant quevraifaire pourj ←0. . . i faire

siU(w#xi) accepte eniétapes alors accepter

fin si fin pour fin tant que.

3 Équivalence de modèles

Soit les variantes suivantes de MT.

— Une machine àk∈N>0piles est une MT avec une bande d’entrée en lecture seule etkbandes de travail, où les bandes de travail sont remplacées par des piles (on peut ajouter et lire uniquement tout à droite).

— Une machine à file est une MT avec une bande d’entrée en lecture seule et une bande de travail, où la bande de travail est remplacée par une file (on peut ajouter uniquement tout à droite et lire uniquement tout à gauche).

— Une machine à k∈N>0 compteurs est une machine à k piles où l’alphabet de pile est {B, Z}

etZ est un symbole de fond de pile. Un entieripeut être stocké dans une pile en comptant le nombre de symbolesB. On peut incrémenter, décrémenter le compteur et tester si le compteur est vide (symboleZ en tête de pile).

Exercice 5.Prouver les énoncés suivants, sans donner tous les détails.

1. Une MT est équivalente à une machine à deux piles.

2. Un MT est équivalente à une machine à une file.

3. Une machine à une pile peut être simulée par une machine à deux compteurs.

4. Une MT est équivalente à une machine à deux compteurs.

Solution 5.

1. Étant donné une MT M= (Q,Σ,Γ, δ, q0, qacc, qrej), on voit que toute configuration uqv de M où q ∈Q,u ∈Γ etv ∈Γ+ peut être stockée sur une machine à deux piles en stockant u sur la première pile et vR sur la seconde pile. Lorsque la tête se déplace vers la gauche, il suffit de dépiler de la première pile et d’empiler sur la seconde, et lorsque la tête se déplace vers la droite, il suffit de dépiler sur la seconde pile et d’empiler sur la première.

2. Étant donné une MT M= (Q,Σ,Γ, δ, q0, qacc, qrej), on voit que toute configuration uqv de M où q ∈ Q,u ∈Γ et v ∈Γ+ peut être stockée sur une machine à file en stockantv#uR# sur celle-ci (avec #∈/ Γ). Lorsque la tête se déplace vers la gauche, il suffit de déplacer la première

(6)

lettre de uR au début de la file, après avoir modifié la première lettre de v. Lorsque la tête se déplace vers la droite, il suffit de déplacer la première lettre de v juste après le premier # de la file, en la modifiant. Ceci se fait en parcourant la file de gauche à droite (ce qui se fait simplement en retirant chaque lettre du début pour la rajouter à la fin, l’une après l’autre) et en comptant le nombre de # rencontrés.

3. Étant donné une pile sur un alphabet Γ et une bijection σ: Γ → [[0,|Γ| −1]], on stocke un contenu u ∈Γ+ de la pile en stockant l’entier P|u|−1

i=0 |Γ|iσ(u|u|−i) dans le premier compteur, le second compteur étant vide.

Pour empiler une lettre a∈Σsur la pile, on multiplie l’entier du premier compteur par|Γ|, en décrémentant 1 par 1 le premier compteur tout en incrémentant par |Γ| le second compteur, puis en recopiant le résultat dans le premier compteur, en y ajoutantσ(a).

Pour dépiler la lettre du haut de la pile, on effectue la division euclidienne par |Γ|du premier compteur, en décrémentant|Γ|par|Γ|le premier compteur tout en incrémentant par1le second compteur : le premier compteur contient alors le reste correspondant à l’entierσ(a)aveca∈Γle sommet de la pile, et le second compteur contient le dividende, l’entier représentant le nouveau contenu de la pile, que l’on recopie dans le premier compteur pour finir.

4. Il est possible de simuler une machine à 4 compteurs en utilisant une machine à 2 compteurs, en représentant le contenu (n1, n2, n3, n4) ∈N4 des 4 compteurs par l’entier p1n1p2n2p3n3p4n4 avec p1 = 2, p2 = 3, p3 = 5, p4 = 7 dans le premier des deux compteurs. Pour incrémenter le compteur i ∈ [[1,4]], on multiplie par pi le contenu du premier des deux compteurs, pour le décrémenter, on divise parpi le contenu du premier des deux compteurs, et pour tester s’il est vide, on teste si le contenu du premier des deux compteurs est différent de0 mod pi, à chaque fois en utilisant le second des deux compteurs.

Une MT peut être simulée par une machine à 2piles, qui peut être simulée par une machine à 4 compteurs, et donc par une machine à2 compteurs.

Références

Documents relatifs

The Hypercyclicity Criterion gives an effective way of proving that an operator is hypercyclic and covers a wide range of concrete hypercyclic operators, allowing to directly

[r]

2014 Nous calculons les facteurs de perturbations GN1k1N2k2(t) qui caractérisent les corrélations angulaires de noyaux inclus dans un solide et soumis à des interactions

Corrélation angulaire entre rayonnements γ -γ et α-γ pour quelques éléments de la famille du

Résumé. Dans un plan perpendiculaire au faisceau des protons incidents. - Le compteur fixe peut occuper n’importe quelle posi-.. tion. Nous l’avons choisie dans la

Nous avons alors étudié ce phenomene pour les cascades issues du niveau de capture et aboutissant a 1’etat fondamental de 200Hg.. Contribution des cascades triples dans

Ghandi and co-workers 57 applied this method to the preparation of chromanone-fused γ-hydroxy-γ-butyro- lactams in good yields whatever the nature of substituents by

On considère le point M de P d’abscisse a, où a est un réel