La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008."— Transcription de la présentation:

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

2 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

3 3 Introduction

4 4 Qui est Turing ? A quoi sert sa machine? Introduction

5 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 ?

6 6 Introduction Spécialité ? Philosophe Logicien Mathématicien Spécialiste en cryptologie Professeur à (Cambridge, Princeton Manchester). Profession?

7 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

8 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.

9 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:

10 10 Qui est Turing ? A quoi sert sa machine? Introduction

11 11 Peut on trouver une machine qui est basée sur le 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 ?

12 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.

13 13 Principe de la machine de Turing

14 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

15 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.

16 16 Principe d’un machine de Turing

17 17 Ruban Contrôle Tête de lecture/écriture Principe d’un machine de Turing Schéma d’une machine de Turing

18 18 Ruban 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

19 19 Tête de lecture/écriture Principe d’un machine de Turing Ruban ab$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

20 20 Tête de lecture/écriture État initial ab$cb  Principe d’un machine de Turing ab$cb  Dépl. droite ab$cb  ab$bb  Écriture ab$bb  Dépl. gauche

21 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.

22 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 {q 0,..., q n } À chaque instant, la machine se trouve dans un de ces états. Au départ, la machine se trouve dans l’état q 0 qu’on appelle état initial. Contrôle {q 0,..., q n } qiqi q i  {q 0,..., q n } q0q0

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

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

25 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

26 26 Définition Formelle

27 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éfinition Une 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

28 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’)

29 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

30 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:

31 31 Exemples de MT

32 32 Exemple-1  = {0, 1, X, Y,$,#} Q = {q 0, q 1, q 2, q 3, q 4,q 5 }  définie par les quintuplets (q 0,$,$, ,q 1 ) (q 1, 0, X, , q 2 ), (q 1, Y, Y, , q 4 ), (q 2, 0, 0, , q 2 ), (q 2, 1, Y, , q 3 ), (q 2, Y, Y, , q 2 ), (q 3, 0, 0, , q 3 ), (q 3, X, X, , q 1 ), (q 3, Y, Y, , q 3 ), (q 4, Y, Y, , q 4 ), (q 4, #, #, H, q 5 ) M= ( , Q, q 0,  ) Exemples de MT

33 33 q0q $####### (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

34 34 q1q $####### (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

35 35 q2q2 X00111 $####### (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

36 36 q2q2 X00111 $####### (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

37 37 q2q2 X00111 $####### (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

38 38 q3q3 X00Y11 $####### (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

39 39 q3q3 X00Y11 $####### (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

40 40 q3q3 X00Y11 $####### (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

41 41 q1q1 X00Y11 $####### (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

42 42 q2q2 XX0Y11 $####### (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

43 43 q2q2 XX0Y11 $####### (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

44 44 q2q2 XX0Y11 $####### (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

45 45 q3q3 XX0YY1 $####### (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

46 46 q3q3 XX0YY1 $####### (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

47 47 q3q3 XX0YY1 $####### (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

48 48 q1q1 XX0YY1 $####### (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

49 49 q2q2 XXXYY1 $####### (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

50 50 q2q2 XXXYY1 $####### (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

51 51 q2q2 XXXYY1 $####### (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

52 52 q3q3 XXXYYY $####### (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

53 53 q3q3 XXXYYY $####### (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

54 54 q3q3 XXXYYY $####### (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

55 55 q1q1 XXXYYY $####### (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

56 56 q4q4 XXXYYY $####### (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

57 57 q4q4 XXXYYY $####### (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

58 58 q4q4 XXXYYY $####### (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

59 59 q5q5 XXXYYY $####### (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

60 60 q5q5 XXXYYY $####### q0q $####### La machine remplace 0 n 1 n par X n Y n État initial de la machine État final de la machine Exemples de MT

61 61 Exemple-2  = {0, 1, $,#} Q = {q 0, q 1, q 2, q 3 }  définie par les quintuplets (q 0,$,$, ,q 1 ) (q 1, 0, #, , q 1 ), (q 1, 1, #, , q 1 ), (q 1, #, #, , q 2 ), (q 2, #, #, , q 2 ), (q 2, $,$, H, q 3 ), M= ( , Q, q 0,  ) Exemples de MT

62 62 (q0,$,$, ,q1) (q1, 0, #, , q1), ( q1, 1, #, , q1), (q1, #, #, , q2), (q2, #, #, , q2), (q2, $,$, H, q3), $#### q0q $#### q1q1 (q0,$,$, ,q1) #######$#### q1q1 (q1, 0, #, , q1), (q1, 1, #, , q1), #######$#### q2q2 (q1, #, #, , q2), #######$#### q3q3 (q2, #, #, , q2), (q2, $,$, H, q3), Exemples de MT

63 63 Exemples de MT $#### q0q0 #######$#### q3q3 É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}

64 64 Exemple-3  = {0, 1, $,#} Q = {q 0, q 1, q 2, q 3 }  définie par les quintuplets (q 0,$,$, ,q 1 ) (q 1, 0, 1, , q 1 ), (q 1, 1, 0, , q 1 ), (q 1, #, #, , q 2 ), (q 2, 0, 0, , q 2 ), (q 2, 1, 1, , q 2 ), (q 2, $,$, H, q 3 ), M= ( , Q, q 0,  ) Exemples de MT

65 $#### q0q $#### q1q1 (q0,$,$, ,q1) $#### q1q1 (q1, 0, 1, , q1), (q1, 1, 0, , q1), $#### q2q2 (q1, #, #, , q2), $#### q3q3 (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),

66 66 Représentation de MT

67 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 (q i,a,b,A,q j ) 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)

68 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 q1 q2 q3 Représentation de MT

69 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), q0q1q2q3 ($,$,  ) (0, 1,  ) (1, 0,  ) (#, #,  ) (0, 0,  ) (1, 1,  ) ($,$, H)

70 70 Configuration d’une MT

71 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.

72 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

73 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 q 0 w Où q 0 est l’état initial w est la donnée initiale. Configuration initiale Configuration

74 $#### q1q $#### q1q $#### q0q $#### q2q2 q 0 $ $ q $ q 1 $ q 2 1 Configuration

75 75 Calcul d’une MT

76 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 lecture 3. 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.

77 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 q 0 $ $ q CC’ (q0,$,$, ,q1) C  > C'

78 78 Un calcul est une suite de configurations successives C 0  > C 1  >...  > C k. Définition Calcul

79 79 Graphe des configurations

80 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

81 81 Utilisation des MT

82 82 Il y a deux modes d'utilisation des machines de Turing: Utiliser une machine comme accepteur Utiliser une machine comme un calculateur Utilisation

83 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.

84 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.

85 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

86 86 Machines de Turing et ordinateurs

87 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

88 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

89 89 Fin

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

91 91 Plan Quelques types de MT MT à ruban Bi-infini MT à ruban bidimensionnel MT à rubans multiples …….. Autres définitions des MT


Télécharger ppt "1 Machines de Turing (partie 1) Cours LFI-2 (Master Académique) 2007/2008."

Présentations similaires


Annonces Google