1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

91
1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008

Transcript of 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

Page 1: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

1

Machines de Turing(partie 1)

Cours LFI-2 (Master Académique)

2007/2008

Page 2: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

2

Plan I- Introduction

III- Définition Formelle

VII- Calcul d’une MT

VI- Configuration d’une MT

II- Principe d’un machine de Turing

IV- Exemples de MT

VIII- Graphe des configurations d’une MT

V- Représentation de MT

IX- Utilisation

X- Machines de Turing et ordinateurs

Page 3: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

3

Introduction

Page 4: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

4

Qui est Turing ?

A quoi sert sa machine?

Introduction

Page 5: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

5

Nom: Turing

Prénom:Alan Mathison

Nationalité: Anglais

Date de naissance: 23 juin 1912

à Londres

Date de décès : 1954

Introduction

Qui est Turing ?

Page 6: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

6

Introduction

Spécialité ?

PhilosopheLogicienMathématicien Spécialiste en cryptologie

Professeur à (Cambridge, Princeton Manchester).

Profession?

Page 7: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

7

Travaux ? (1)

1. En 1936 (à l’âge de 24 ans) , Turing inventa des machines algorithmiques abstraites, « machines à penser », appelées aujourd'hui machines de Turing et préfigurant la construction des ordinateurs.

Introduction

Les machines de Turing, elles étaient censées interpréter des instructions logiques (affectations, tests, branchements) et capables de dégager les catégories de problèmes résolubles

Page 8: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

8

En 1943 Turing mit ses compétences aux services de l'armée britannique lors de la seconde guerre mondiale: Il a conçu, avec Max Newman le Colossus 1, ordinateur capable de déchiffrer les codes de la célèbre machine allemande Enigma, d'origine hollandaise et utilisée pour la transmission des messages secrets.

Travaux ? (2)Introduction

La conception du Colossus resta top secret jusqu'en 1975.

Page 9: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

9

Dès 1950: la concrétisation d'un calculateur électronique à lampes (le transistor, inventé en 1947, n'a pas assez de puissance).

Turing contribuera aussi à la mise en place du premier puissant ordinateur : le Mark 1, qui vit le jour à Harvard (U.S.A.).

Introduction

Travaux ? (3)

Pour plus d’informations sur Turing, voir les site: www.turing.org.uk/turing

Page 10: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

10

Qui est Turing ?

A quoi sert sa machine?

Introduction

Page 11: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

11

Peut on trouver une machine qui est basée surle plus petit ensemble possible d’opérations élémentaires

que le maximum de calculs puissent se ramener à des combinaisons de ces opérations ?

suffisamment générales pour

Introduction

A quoi sert la machine de Turing ?

Page 12: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

12

Dans ce modèle on ne dispose que: - d’une seule instruction (GOTO) en dehors des lectures et écritures

et

- d’une structure de données : les mots

A quoi sert la machine de Turing ?

Introduction

Les machines de Turing constituent un modèle de calcul de très bas niveau.

Page 13: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

13

Principe de la machine de Turing

Page 14: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

14

Mais elles ne sont pas équivalentes du point de vue de la complexité.

On donne une définition ici qui sera ensuite modifiée pour présenter d’autres définitions de machines de Turing.

Il existe plusieurs variantes des Machines de Turing .

Elles sont tous équivalentes du point de vue de l’expressivité par la thèse de Church,

Principe d’un machine de Turing

Page 15: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

15

Principe d’un machine de Turing

Une machine de Turing se compose de:

1- Un ruban infini à gauche, divisé en case (cellule). Chaque case peut contenir un symbole de l’alphabet du ruban

2- Une tête de lecture/écriture qui peut se déplacer le long du ruban et qui pointe à chaque instant une case du ruban.

3- Une partie de contrôle qui est constituée • d’un ensemble fini d’états possibles parmi lesquels on distingue un état initial• et d’une fonction de transitions qui régissent les calculs de la machine.

Page 16: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

16

Principe d’un machine de Turing

Page 17: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

17

Ruban

Contrôle

Tête de lecture/écriture

Principe d’un machine de Turing

Schéma d’une machine de Turing

Page 18: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

18

RubanRuban

ab$ cb

Chaque case du ruban contient un symbole de l’alphabet du ruban

Le symbole $ marque le début du ruban:

-On ne peut pas se déplacer à gauche de $

- pas d’autre symbole $ sur le ruban

Le caractère désigne le caractère blanc

Donc le vocabulaire du ruban contient au moins les deux caractères $

Principe d’un machine de Turing

Page 19: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

19

Tête de lecture/écriture

Principe d’un machine de Turing

Rubanab$ cb

A Chaque instant la tête de L/E pointe une case du ruban

Une tête de L/E peut faire les actions suivantes:

Se déplacer d’une case vers la droite Se déplacer d’une case vers la gauche

Écrire un symbole dans la case

Ne pas se déplacer

A l’état initial la tête de L/E pointe de premier symbole du ruban

Page 20: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

20

Tête de lecture/écriture

État initialab$ cb

Principe d’un machine de Turing

ab$ cb Dépl. droite

ab$ cb Dépl. droite

ab$ bb Écriture

ab$ bb Dépl. gauche

Page 21: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

21

Principe d’un machine de Turing

Une machine de Turing se compose de:

1- Un ruban infini à gauche, divisé en case (cellule). Chaque case peut contenir un symbole de l’alphabet du ruban

2- Une tête de lecture/écriture qui peut se déplacer le long du ruban et qui pointe à chaque instant une case du ruban.

3- Une partie de contrôle qui est constituée • d’un ensemble fini d’états possibles parmi lesquels on distingue un état initial• et d’une fonction de transitions qui régissent les calculs de la machine.

Page 22: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

22

Système de Contrôle (les états)

Principe d’un machine de Turing

Le contrôle de la machine est constitué d’un ensemble fini d’états {q0, . . . , qn}

À chaque instant, la machine se trouve dans un de ces états.

Au départ, la machine se trouve dans l’état q0 qu’on

appelle état initial.

Contrôle {q0, . . . , qn}

qiqi{q0, . . . , qn}

q0

Page 23: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

23

Principe d’un machine de Turing

Système de Contrôle (la fonction de transition)

C’est une fonction partielle qui, pour chaque état de la machine et pour chaque symbole sous la tête de L/E , précise (si elle est définie) :

- L’état suivant de la machine.

- L’action que doit faire la tête de L/E ( déplacement à

gauche, à droite, pas de déplacement, écriture)

Page 24: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

24

(q0, a)

(q0, b)

(q1, c)

(Dépl.droite, passer à l’état q1)

(Dépl.droite, passer à l’état q2)

(écrire F, passer à l’état q1)

Principe d’un machine de Turing

Système de Contrôle (la fonction de transition)

Page 25: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

25

Les étapes de calcul possibles sont décrites par les transitions de la machine. Les transitions constituent en quelque sorte le programme de la machine.

Principe d’un machine de Turing

Le calcul d’une machine de Turing est formé d’une suite d’étapes de calcul qui sont effectuées par la machine.

Chaque étape consiste à changer l’état de contrôle, écrire un symbole sous la tête de lecture et déplacer la tête de lecture.

Système de Contrôle

Page 26: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

26

Définition Formelle

Page 27: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

27

fonction de transition : Q × × {, ,,H} × Q telle que: on ne se déplace jamais à gauche du marqueur de début $ et on ne peut pas l’effacer.

DéfinitionUne Machine de Turing est un tuple (, Q, q0, )

Définition formelle

est un alphabet fini (vocabulaire du ruban) tel que {, $} (où : le blanc et $:début du ruban).

Q est un ensemble fini d’états

q0 Q est l’état initial

Page 28: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

28

Définition formelle

La fonction de transition est souvent donnée par un ensemble de quintuples de la forme:

Q × × {, ,,H} × Q

( q, a, b, dépl., q’)

Condition d’application Action

( q, a, b, dépl., q’)

Page 29: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

29

Définition formelle

Exemple: (q0, a, b, , q1)

S’interprète par:

si la machine est dans l’état q0

et la tête de L/E pointe le caractère a

alors remplacer a par b,

se déplacer d’une case à droite

et passer à l’état q1

Page 30: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

30

Définition formelle

(q ,S, S, ,q’) : déplacement à droite et changement d'état.

(q ,S, S’, , q ): déplacement à droite, remplacement de S par S' et pas de changement d'état.

(q ,S, S’, , q' ): déplacement à gauche, remplacement de S par S' et changement d'état.

(q ,S, S’, , q' ) : pas de déplacement, remplacement de S par S' et changement d'état.

(q ,S, S' ,H, q’) : Arrêt, après remplacement de S par S' et changement d'état.

Exemples de transitions:

Page 31: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

31

Exemples de MT

Page 32: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

32

Exemple-1

= {0, 1, X, Y,$,#}

• Q = {q0, q1, q2, q3, q4,q5}

définie par les quintuplets

(q0,$,$, ,q1)

(q1, 0, X, , q2), (q1, Y, Y, , q4),

(q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2),

(q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),

(q4, Y, Y, , q4), (q4, #, #, H , q5)

M= (, Q, q0, )Exemples de MT

Page 33: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

33

q0

0 0 0 1 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 34: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

34

q1

0 0 0 1 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 35: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

35

q2

X 0 0 1 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 36: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

36

q2

X 0 0 1 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 37: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

37

q2

X 0 0 1 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 38: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

38

q3

X 0 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 39: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

39

q3

X 0 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 40: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

40

q3

X 0 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 41: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

41

q1

X 0 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 42: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

42

q2

X X 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 43: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

43

q2

X X 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 44: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

44

q2

X X 0 Y 1 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 45: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

45

q3

X X 0 Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 46: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

46

q3

X X 0 Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5) ,

Exemples de MT

Page 47: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

47

q3

X X 0 Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, , q5) , (q5, #, #,H, q5)

Exemples de MT

Page 48: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

48

q1

X X 0 Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, , q5) , (q5, #, #,H, q5)

Exemples de MT

Page 49: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

49

q2

X X X Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 50: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

50

q2

X X X Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5) ,

Exemples de MT

Page 51: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

51

q2

X X X Y Y 1$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 52: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

52

q3

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 53: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

53

q3

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 54: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

54

q3

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 55: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

55

q1

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 56: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

56

q4

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 57: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

57

q4

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5) ,

Exemples de MT

Page 58: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

58

q4

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 59: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

59

q5

X X X Y Y Y$ ##### ##

(q0,$,$, ,q1)(q1, 0, X, , q2), (q1, Y, Y, , q4), (q2, 0, 0, , q2), (q2, 1, Y, , q3), (q2, Y, Y, , q2), (q3, 0, 0, , q3), (q3, X, X, , q1), (q3, Y, Y, , q3),(q4, Y, Y, , q4), (q4, #, #, H , q5)

Exemples de MT

Page 60: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

60

q5

X X X Y Y Y$ ##### ##

q0

0 0 0 1 1 1$ ##### ##

La machine remplace 0n1n par Xn Yn

État initial de la machine

État final de la machine

Exemples de MT

Page 61: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

61

Exemple-2

= {0, 1, $,#}

• Q = {q0, q1, q2, q3}

définie par les quintuplets

(q0,$,$, ,q1)

(q1, 0, #, , q1), (q1, 1, #, , q1), (q1, #, #, , q2),

(q2, #, #, , q2), (q2, $,$, H , q3),

M= (, Q, q0, )

Exemples de MT

Page 62: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

62

(q0,$,$, ,q1)(q1, 0, #, , q1), ( q1, 1, #, , q1), (q1, #, #, , q2), (q2, #, #, , q2), (q2, $,$, H , q3),

1 1 10 0 00$ # # # #

q0

1 1 10 0 00$ # # # #

q1

(q0,$,$, ,q1)

# # ## # ##$ # # # #

q1

(q1, 0, #, , q1), (q1, 1, #, , q1),

# # ## # ##$ # # # #

q2

(q1, #, #, , q2),

# # ## # ##$ # # # #

q3

(q2, #, #, , q2), (q2, $,$, H , q3),

Exemples de MT

Page 63: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

63

Exemples de MT

1 1 10 0 00$ # # # #

q0

# # ## # ##$ # # # #

q3

État initial de la machine

État final de la machine

La machine efface (remplace par des caractères blancs) toutes chaîne de caractères formée sur {0,1}

Page 64: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

64

Exemple-3

= {0, 1, $,#}

• Q = {q0, q1, q2, q3}

définie par les quintuplets

(q0,$,$, ,q1)

(q1, 0, 1, , q1), (q1, 1, 0, , q1), (q1, #, #, , q2),

(q2, 0, 0, , q2), (q2, 1, 1, , q2), (q2, $,$, H , q3),

M= (, Q, q0, )

Exemples de MT

Page 65: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

65

1 1 10 0 00$ # # # #

q0

1 1 10 0 00$ # # # #

q1

(q0,$,$, ,q1)

0 0 01 1 11$ # # # #

q1

(q1, 0, 1, , q1), (q1, 1, 0, , q1),

0 0 01 1 11$ # # # #

q2

(q1, #, #, , q2),

0 0 01 1 11$ # # # #

q3

(q2, 0, 0, , q2), (q2, 1, 1, , q2),

(q2, $,$, H , q3),

Exemples de MT(q0,$,$, ,q1)

(q1, 0, 1, , q1), (q1, 1, 0, , q1), (q1, #, #, , q2), (q2, 0, 0, , q2), (q2, 1, 1, , q2), (q2, $,$, H , q3),

Page 66: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

66

Représentation de MT

Page 67: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

67

Représentation de MT

Une table de transitions T de dimension nxn (où n est le nombre des états de la MT) :

Chaque élément T(i,j) est un ensemble de triplets de la forme(a,b,A) et désigne le quintuplet (qi,a,b,A,qj)

La fonction de transition d’une MT peut être donnée par:

L’ensemble des quintuplets de la fonction de transition

Un graphe orienté: les sommets représentent les états de la MT , et les ars sont annotés par des triplets.

Un arc de qi vers qj noté par (a,b,A) désigne le quintuplet (qi,a,b,A,qj)

Page 68: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

68

(q0,$,$, ,q1)(q1, 0, 1, , q1), (q1, 1, 0, , q1), (q1, #, #, , q2), (q2, 0, 0, , q2), (q2, 1, 1, , q2), (q2, $,$, H , q3),

($,$, )

(0, 1, )

(1, 0, )

(#, #, )

(0, 0, )

(1, 1, )

($,$, H)

q0

q0

q1

q1 q2

q2

q3

q3

Représentation de MT

Page 69: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

69

Représentation de MT

(q0,$,$, ,q1)(q1, 0, 1, , q1), (q1, 1, 0, , q1), (q1, #, #, , q2), (q2, 0, 0, , q2), (q2, 1, 1, , q2), (q2, $,$, H , q3),

q0 q1 q2 q3($,$, )

(0, 1, )(1, 0, )

(#, #, )

(0, 0, )(1, 1, )

($,$, H)

Page 70: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

70

Configuration d’une MT

Page 71: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

71

Configuration

Une configuration d’une machine de Turing est l’état global de la machine à un instant donné.

Elle comprend:1. L’état de contrôle qui est un élément de Q,2. Le contenu de la bande 3. La position de la tête de lecture sur la bande.

Page 72: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

72

Configuration

Si la machine se trouve dans un état q, la configuration est écrite uqv où u est le contenu de la bande (strictement) à gauche de la tête de lecture v est le contenu de la bande à droite de la tête de lecture ( la tête de L/E pointe le 1er symbole de v

Configuration abBAbabb q bBAaAB

Page 73: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

73

Au départ, la bande contient la donnée initiale et la tête de lecture se trouve sur la première position de la bande. La configuration initiale s’écrit donc q0wOù q0 est l’état initial w est la donnée initiale.

Configuration initiale

Configuration

Page 74: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

74

0 0 01 1 11$ # # # #

q1

1 1 10 0 00$ # # # #

q1

1 1 10 0 00$ # # # #

q0

0 0 01 1 11$ # # # #

q2

q0$0110100

$ q10110100

$ 1001011q1

$ 100101q21

Configuration

Page 75: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

75

Calcul d’une MT

Page 76: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

76

Calcul

Une étape d’un calcul consiste à passer d’une configuration à une autre configuration en appliquant une des transitions

Une étape de calcul comprend les trois actions suivantes :

1. Changer l’état de contrôle,2. Ecrire un symbole à la place du symbole sous la tête de lecture3. Déplacer la tête de lecture d’une position vers la gauche ou la droite.

Un calcul d’une machine de Turing se décompose en étapes.

Page 77: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

77

Calcul

Etape de Calcul

Une étape de calcul est une paire de configuration (C, C') notée C > C' telle que :

C’ est obtenu en appliquant une transition à la configuration C

q0$0110100 $ q10110100C C’

(q0,$,$, ,q1)

C > C'

Page 78: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

78

Un calcul est une suite de configurations successives C0 > C1 >... > Ck.

Définition

Calcul

Page 79: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

79

Graphe des configurations

Page 80: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

80

Le graphe des configurations d’une machine de Turing M est le graphe où:

- l’ensemble des sommets est l’ensemble de toutes les configurations de M

- les arêtes sont les paires (C,C') de configurations telles que C > C'.

Un chemin dans ce graphe est donc un calcul de la machine M.

Graphe des configurations

Définition

Page 81: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

81

Utilisation des MT

Page 82: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

82

Il y a deux modes d'utilisation des machines de Turing:

• Utiliser une machine comme accepteur

• Utiliser une machine comme un calculateur

Utilisation

Page 83: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

83

Quand la machine répond oui, on dit que le machine accepte le mot. La machine définit alors l'ensemble des mots qui sont acceptés.

Par convention, on dit que la machine accepte un mot w s'il existe au moins un calcul acceptant avec w comme entrée, c'est-à-dire qui commence avec la configuration q0w. L'élément important de cette définition est qu'un seul calcul acceptant suffit pour que la machine accepte même si d'autres calculs bloquent ou n'atteignent jamais une configuration acceptante

MT comme accepteur

Utilisation

Dans le mode accepteur:

On fournit un mot d'entrée à la machine et celle-ci répond par oui ou par non.

Page 84: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

84

Quand la machine ne donne toujours qu'un seul mot de sortie, elle calcule une fonction qui associe le mot de sortie au mot d'entrée. Les mots de sortie sont par convention les contenus de la bande des dernières configurations des calculs acceptants. On met donc le mot d'entrée sur la bande, la machine effectue un calcul jusqu'à ce qu'elle atteigne un état final et le contenu de la bande constitue alors un des mots de sortie. Comme il peut y avoir plusieurs calculs acceptants, il peut y avoir plusieurs mots de sortie. Dans le cas d'une machine déterministe, il y a au plus un seul calcul acceptant et donc au plus un seul mot de sortie.

Utilisation

MT comme calculateur

Dans le mode calculateur:

On fournit un mot d'entrée à la machine et celle-ci retourne un ou plusieurs mots de sortie.

Page 85: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

85

TURING a montré qu’on peut combiner plusieurs machines simples pour obtenir une machine capable d’effectuer tous les calculs que l’on sait décrire explicitement.

Utilisation

Page 86: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

86

Machines de Turing et ordinateurs

Page 87: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

87

La partie de contrôle représente le microprocesseur.

Ceci prend en compte que les microprocesseurs possèdent un nombre déterminé de registres d’une taille fixe et que le nombre de configurations possibles est fini.

La bande représente la mémoire de l’ordinateur.

Ceci comprend la mémoire centrale ainsi que les mémoires externes telles les disques durs.

La tête de lecture représente le bus qui relie le microprocesseur à la mémoire.

Machines de Turing et ordinateurs

Les machines de Turing sont une abstraction des ordinateurs

Page 88: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

88

Contrairement à un ordinateur, la mémoire d’une machine de Turing est infinie.Ceci prend en compte qu’on peut ajouter des disques durs à un ordinateur de façon (presque) illimitée.

l’ordinateur peut accéder à la mémoire de manière directe alors que la tête de lecture de la machine de Turing se déplace que d’une position à chaque opération.

Différences entre MT et Ordinateur

Machines de Turing et ordinateurs

Page 89: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

89

Fin

Page 90: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

90

Machines de Turing(partie 2)

Cours LFI-2 (Master Académique)

2007/2008

Page 91: 1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008.

91

Plan

Quelques types de MT

MT à ruban Bi-infini

MT à ruban bidimensionnel

MT à rubans multiples

……..

Autres définitions des MT