• Aucun résultat trouvé

TDn 6 ◦ InformatiqueThéorique:MachinesdeTuring

N/A
N/A
Protected

Academic year: 2022

Partager "TDn 6 ◦ InformatiqueThéorique:MachinesdeTuring"

Copied!
3
0
0

Texte intégral

(1)

Polytech Paris Sud - ET4 Année 2018-2019

Informatique Théorique : Machines de Turing

TD n

6

Semaine du 22 octobre

On a utilisé en cours la notation p−−−→a,b,x q pour dire que si on est dans l'étatp et que la tête lit la lettreaalors elle la remplace par la lettrebet va dans la direction x(droite ou gauche). Cette notation était pratique pour comprendre la théorie, mais est longue à lire en pratique. On va simplier cette notation par p−−→aDb q si x=→ va à droite, et p−−→aGb q si x=← va à gauche. On note aussi simplement aD pour aDa quand la lettre n'est pas changée.

Compréhension de machines de Turing

Exercice 1. Quel est le langage reconnu par la machine de Turing suivante sur l'alphabet d'entrée A = {a, b, c} avec symbole blanc # et symbole de bande $. Que pouvez-vous dire de la terminaison ?

start 0 1 2 3 4 5 6 7

8 aD

aD bD

bD cD

cD

#G

$G

#D cG$

$G cG

bG$

$G bG

aD$

$D bD cD

#G

Exercice 2. La machine de Turing suivante, sur l'alphabet d'entrée A ={a, b, c} avec symbole blanc#et symbole de bande$, n'a pas d'état nal. Elle est utilisée en mode cal- culateur et on suppose qu'elle est sur une bande bi-innie. Que fait-elle ? Quand s'arrête t'elle ? À quoi servent les états 8et9?

1

(2)

start 0 1 2 4 3

6 5

7

8 9

aD bD

#G aG bG

#D

aD$

aD

bD$

bD bDa aDb

#G

#Gb

#Ga

bG aG

aG

bG

$Da

$Db

aD aG bD

bG

#D

Exercice 3. () On considère la machine de Turing non déterministe suivante sur l'al- phabet d'entrée {0,1,+,(,),k} avec symbole blanc # et symbole de bande $. Quels sont les mots reconnus par cette machine ? On essaiera notamment sur le mot suivant (001 + 11 + 1001 + 101)(011 + 10 + 111)(10 + 1)k(10 + 1 + 101)(0101 + 1)(110 + 00).

start 0 1 2

4 3

(D$

0D$

1D$

0D$

1D$

+D$

0D 1D

0D 1D )D$

+D$

0D$

1D$

+D$

)D$

5 kD

6 7

9 8

(D$

0D$

1D$

0D$

1D$

+D$

0D 1D

0D 1D )D$

+D$

0D$

1D$

+D$

)D$

10

#G

$G

11 12

13

14 15

1G$

0G 1G

$G kG

$G

1D$ 0D

1D

$D kD

#G 0G$

0G 1G

$G kG

$G 0D$

16

kG$

17

$G

#D

2

(3)

Création de machines de Turing

Exercice 4 (Palindrome). 1. Construire une machine de Turing acceptant le langage {ucu | u∈ {a, b}}où l'on rappelle que u est le motulu en sens inverse.

2. Que changer pour simplement lire un palindrome sur {a, b}?

Exercice 5 (Somme). 1. Construire une machine de Turing calculant n+ 1 pour n donné en binaire sur le ruban d'entrée. Par simplication on suppose quenest écrit de la gauche vers la droite des bits de poids faibles aux bits de poids forts.

2. De même en supposant n >0 construire une machine de Turing calculantn1. 3. En utilisant ce qui précède, décrire une méthode qui permettrait de calculern+m

en binaire. On peut le faire dans le cadre classique, mais on encourage à considérer une machine de Turing à deux bandes, la première ayant le plus grand nombre des deux, les deux représentations étant toujours des bits de poids faibles aux bits de poids forts. Le résultat sera écrit sur la première bande en n de parcours.

On introduit des notations sur les machines de Turing à plusieurs bandes : si on fait l'opérationaDbsur la première bande eta0Db0sur la seconde on noteraaDb;a0Db0. La tête a le droit de rester en place ce que l'on note aRb. Enn on note pour rester en place quelle que soit la lecture.

Exercice 6 (Conditionnelles). On veut créer une machine de Turing qui prend en entrée deux entiers positifs n1 et n2 écrits en binaires et renvoie le plus grand des deux. Pour simplier on se place dans le modèle de la machine de Turing à plusieurs bandes. On suppose que la machine a trois bandes. La première contient n1, la seconde n2 et la troisième est entièrement constituée de symboles blancs # initialement et est utilisée pour écrire la sortie. On suppose aussi que les bits de poids forts den1 etn2 sont alignés sur la gauche, de sorte que le premier caractère des deux premières lignes est 0 si et seulement si la ligne en question code le nombre0.

Lien avec les automates

Exercice 7. 1. SoitA= (Q, A, I, F, E)un automate synchrone. Comment créer une machine de TuringM= (Q0, A0,#, B, q0, F0, E0) reconnaissant le même langage ? Si A est déterministe, on veillera à ce que la machine de Turing Mconstruite le soit aussi.

2. On demande souvent aux machines de Turing de s'arrêter dès qu'elles arrivent sur un état nal. On ajoute donc cette condition à notre création de la question 1. Proposer une construction.

3. Rééchir une ou deux minutes à la question des ε-transitions.

3

Références

Documents relatifs

c'est-à-dire, qu'en supposant chaque reste égal à la moitié du diviseur respectif; n serait tout au plus égal à 3&; mais ces restes, sauf le dernier, sont tous plus petits que

1° Pour avoir une limite 1' du nombre de divisions à faire dans la recherche du plus grand commun diviseur de deux nombres entiers A et B, on écrit les termes de la série (2) jus-

Par conséquent, en supprimant la première ligne de li py l'élément a m , qui figurait en tète de la dernière colonne, se trouve sup- primé, et la dernière colonne du

En effet, si 9 est de degré p , il résulte du lemme III que le système S^ admet pour les [3 et les a une solution unique (abstraction faite d'un facteur constant arbi- traire),

Or MM' est infiniment petit du premier ordre et il en est de même de cos({VIM / I 1 ) ; d'autre part F, I { a une limite, inconnue pour nous actuellement, mais que nous

- Tracer 4 ronds sur du papier canson noir (de la taille du fond d'une grosse boite de conserve environ), former 4 cônes et les coller sur..

Réponses à renvoyées avant le dimanche 22 mars minuit. /1 b) A l'aide d'un exemple chiffré, détermine cette vitesse. /2 c) Quelle particularité de le vitesse de la lumière,

On divise le plus grand nombre par le plus petit en s’arrêtant au quotient entier(On réalise ainsi une division Euclidienne) On recommence la division en prenant le diviseur et le