Les machines de Turing Lionel Blavy Sébastien Giraud Fabien Tricoire Page de Titre Lionel Blavy
Plan Introduction Définition et description Un exemple (simple) Variations sur les MT Conclusion
Introduction Historique Situation par rapport aux automates
Un peu d’histoire 1900 : Hilbert pose 23 problèmes intérêt de Turing pour celui de la décidabilité 1936 : sa fameuse machine clôt ce problème
MT vs Automates automate fini grammaire régulière automate à pile grammaire algébrique Turing va plus loin
Définition/description Qu’est-ce qu’une machine de Turing ? Description formelle Terminologie
Description d’une MT (1) machine abstraite, théorique ruban tableau infini une case un symbole une tête de lecture/écriture
Description d’une MT (2) Une MT peut : lire/écrire un symbole sur le ruban déplacer sa tête à gauche ou à droite, une case à la fois changer d’état s’arrêter
Schéma d’une MT tête de lecture/écriture ruban
Description formelle Une machine de Turing : M = ( Q, , , , s, B, F ) Q ensemble fini d’états alphabet fini de ruban alphabet d’entrée s Q état initial F Q ensemble des états accepteurs B « symbole blanc » ( souvent noté # ) : Q x Q x x {L,R} fonction de transition
Quelques définitions (1) Un mot est accepté si la MT s’arrête avec oui comme résultat Un langage est accepté si tous ses mots sont acceptés Un langage L est décidé par une MT M si M accepte L M refuse tous les mots qui ne sont pas dans L L’exécution de M se fait donc toujours en un nombre fini d’étapes
Quelques définitions (2) Une configuration est un triplet comportant l’état de la machine le mot apparaissant avant la tête le mot se trouvant entre la tête et le dernier symbole non blanc
Utilisation d’une MT sur un exemple Codage données/résultat Formalisation du problème Fonction de transition Diagramme espace/temps
Machine de Turing reconnaissant Codage données/résultat : Entrée : le mot à tester Sortie : 1 si le mot appartient au langage, 0 sinon. Par exemple :
Formalisation Q = {q0, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10} = {a,b,c,X,Y,Z} = {a,b,c} s = q0 F = {q7, q10} B = #
La fonction de Transition Pour chaque a, il doit y avoir un b et un c. Règles : (q0, a) ® (q1, X, D) (q1, a) ® (q1, a, D) (q1, b) ® (q2, Y, D) (q2, b) ® (q2, b, D) (q2, c) ® (q3, Z, L) …
Exécution de la MT temps espace
Variations sur les MT MT à 2 bandes vers MT à 1 bande Composition de MT Simuler un automate fini déterministe
Les MT à 2 rubans Une telle machine possède une tête par bande ainsi que la possibilité pour elles de ne pas se déplacer à un moment donné Par exemple : reconnaître
Simulation d’une MT 2 rubans par une MT classique Il suffit alors de faire des recherches de têtes pour faire les opérations
Composition de MT Envoyer le résultat d’une MT sur une seconde MT Mise en œuvre simple : on « concatène » les fonctions de transition
Simuler un automate fini Un ruban pour le mot d ’entrée Un ruban pour les états Un ruban pour les transitions
En conclusion Un outil puissant A montré les limites de l’informatique Débouché sur la thèse de Turing-Church La MT n’est pas dédiée à des résultats booléens