Calculabilité Cours 2 : Machines de Turing



Documents pareils
Calculabilité Cours 3 : Problèmes non-calculables.

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Modèles de Calcul Start p.

Algorithmique et Programmation Fonctionnelle

Machines virtuelles Cours 1 : Introduction

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

CH.6 Propriétés des langages non contextuels

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Vers l'ordinateur quantique

Fondements de l informatique Logique, modèles, et calculs

Logique : ENSIIE 1A - contrôle final

Table des matières. Introduction

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Chapitre 2. Eléments pour comprendre un énoncé

Représentation d un entier en base b

Calcul quantique : algèbre et géométrie projective

Théorie des Langages

LES GENERATEURS DE NOMBRES ALEATOIRES

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Algorithme. Table des matières

Université Paris-Dauphine DUMI2E 1ère année, Applications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

"Calcul et hyper-calcul"

Compter à Babylone. L écriture des nombres

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Image d un intervalle par une fonction continue

Correction du bac blanc CFE Mercatique

6 - La conscience est-elle un processus algorithmique?

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

UTILISER UN SITE COLLABORATIF

Objets Combinatoires élementaires

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

1.1 Codage de source et test d hypothèse

Logique. Plan du chapitre

Logiciel de Base. I. Représentation des nombres

Quelques algorithmes simples dont l analyse n est pas si simple

aux différences est appelé équation aux différences d ordre n en forme normale.

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

PRIME D UNE OPTION D ACHAT OU DE VENTE

Les Conditions aux limites

Systèmes de communications numériques 2

1 Recherche en table par balayage

Réalisabilité et extraction de programmes

Développement d'applications pour le référencement d'un site web et pour la gestion de campagnes de mails

La survie nette actuelle à long terme Qualités de sept méthodes d estimation

CONFIGURATION DE L AUTOMATE SIEMENS

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Communications numériques

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Élasticité des applications à base de services dans le Cloud

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Quelques matériels numériques

Raisonnements standard et non-standard pour les systèmes décentralisés de gestion de données et de connaissances

Intégration et probabilités TD1 Espaces mesurés Corrigé

Introduction à l analyse numérique : exemple du cloud computing

Le transistor bipolaire

Module 5 : Comment envoyer une campagne d ing? # ingSummerCamp

ARBRES BINAIRES DE RECHERCHE

Maintenance/évolution d'un système d'information

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Continuité et dérivabilité d une fonction

Quelques Algorithmes simples

Automatique (AU3): Précision. Département GEII, IUT de Brest contact:

MPI Activité.10 : Logique binaire Portes logiques

MIS 102 Initiation à l Informatique

Algorithmes de recherche

Suites numériques 3. 1 Convergence et limite d une suite

Le Dessin Technique.

Initiation à la Programmation en Logique avec SISCtus Prolog

V- Manipulations de nombres en binaire

Développements limités. Notion de développement limité

Model checking temporisé

TELEVISION NUMERIQUE

Mesures gaussiennes et espaces de Fock

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Probabilités III Introduction à l évaluation d options

Premier principe : bilans d énergie

chapitre 4 Nombres de Catalan

Peut-on imiter le hasard?

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

Algèbre binaire et Circuits logiques ( )

Texte Agrégation limitée par diffusion interne

Chapitre 4 : Guide de Mouvement et Masque

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Université de La Rochelle. Réseaux TD n 6

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

La syllabe (1/5) Unité intuitive (différent du phonème) Constituant essentiel pour la phonologie au même titre que phonème et trait

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

OPTIMISATION À UNE VARIABLE

Transcription:

Calculabilité Cours 2 : Machines de Turing

Introduction Un autre type de modèle de calcul Les fonctions récursives et les fonctions λ représentables définissent des modèles de calculs dans k N Nk N Nous nous intéressons maintenant à des modèles de calcul travaillant sur des chaînes de caractères. mots définis sur un alphabet Σ Nous nous restreignons (principalement) aux problèmes binaires : la procédure de calcul doit permettre de décider si un mot appartient ou non à une certaine classe de Σ Exemple de classe : l ensemble des mots représentant les programmes C qui s arrêtent toujours. Machines de Turing 2 / 19

Définitions Machine de Turing : Définition Mémoire infinie sous forme de ruban divisé en cases ; alphabet de ruban. Tête de lecture. Ensemble fini d états. Etats accepteurs. Fonction de transition qui pour chaque état de la machine et symbole se trouvant sous la tête de lecture précise l état suivant, un caractère qui sera écrit sur le ruban, un sens de déplacement de la tête de lecture. Machines de Turing 3 / 19

Exécution Définitions Initialement, mot d entrée au début du ruban, symbole blanc partout ailleurs, tête de lecture sur la première case. A chaque étape, la machine lit le symbole se trouvant sous sa tête de lecture, remplace ce symbole suivant la fonction de transition, déplace sa tête de lecture d une case vers la gauche ou vers la droite suivant la fonction de transition, change d état comme indiqué par la fonction de transition. Mot accepté si état accepteur atteint. Machines de Turing 4 / 19

Définitions Formalisation Septuplet M = (Q, Γ, Σ, δ, s, B, F), où : Q est un ensemble fini d états, Γ est l alphabet de ruban, Σ Γ est l alphabet d entrée, s Q est l état initial, F Q est l ensemble des états accepteurs, B Γ Σ est le symbole blanc (#), δ : Q Γ Q Γ {L, R} est la fonction (partielle) de transition. Machines de Turing 5 / 19

Définitions Configuration Information nécessaire : 1 l état, 2 le contenu du ruban, 3 la position de la tête de lecture. Remarque : à tout moment dans l exécution, il existe une position sur le ruban à partir de laquelle il n y a que des #. Représentation : triplet (q, α 1, α 2 ) contenant 1 l état de la machine (q Q), 2 le mot sur le ruban avant la tête de lecture (α 1 Γ ), 3 le mot sur le ruban après la tête (α 2 {ε} Γ (Γ {#})). Machines de Turing 6 / 19

Définitions Dérivation d une configuration à une configuration successeur Configuration (q, α 1, α 2 ) écrite sous la forme (q, α 1, bα 2 ) avec b = # si α 2 = ε. Si δ(q, b) = (q, b, R) nous avons (q, α 1, bα 2) M (q, α 1 b, α 2) Si δ(q, b) = (q, b, L) et si α 1 ε et est donc de la forme α 1 a nous avons (q, α 1a, bα 2) M (q, α 1, ab α 2) Sinon (δ(q, b) n est pas définie), la machine est bloquée. Machines de Turing 7 / 19

Définitions Langage accepté Une configuration C est dérivable en plusieurs étapes de la configuration C par la machine M (C M C ) s il existe k 0 et des configurations intermédiaires C 0, C 1, C 2,..., C k telles que C = C 0, C = C k, C i M C i+1 pour 0 i < k. Définition (Langage accepté) M = (Q, Γ, Σ, δ, s, B, F) L(M) = {w Σ q F, α 1, α 2 Γ, (s, ε, w) M (q, α 1, α 2 )} Machines de Turing 8 / 19

Définitions Exemple : L(M) =? Machine de Turing M = (Q, Γ, Σ, δ, s, #, F) avec Q = {q 0, q 1, q 2, q 3, q 4 }, Γ = {a, b, X, Y, #}, Σ = {a, b}, s = q 0, F = {q 4 }, δ donné par a b X Y # q 0 (q 1, X, R) (q 3, Y, R) (q 4, #, R) q 1 (q 1, a, R) (q 2, Y, L) (q 1, Y, R) q 2 (q 2, a, L) (q 0, X, R) (q 2, Y, L) q 3 (q 3, Y, R) (q 4, #, R) q 4 Machines de Turing 9 / 19

Définitions Langage accepté / langage décidé Machine de Turing = procédure effective? Pas toujours. Considérons la suite des transitions obtenues à partir de (s, ε, w) 1 La suite des configurations contient un état accepteur : w est accepté. 2 La suite de configurations se termine parce que soit la fonction de transition n est pas définie, soit elle impose un déplacement à gauche au début du ruban. 3 La suite de configurations ne passe jamais par un état final et est infinie. Dans les cas 1 et 2 on a une procédure effective, dans le cas 3 pas. Machines de Turing 10 / 19

Définitions Langage décidé On appelle exécution d une machine de Turing sur un mot w la suite de configurations maximale. (s, ε, w) M C 1 M C 2 M M C k M Définition (Langage décidé) Un langage L est décidé par une machine M si M accepte L : L = L(M) M n a pas d exécution infinie Machines de Turing 11 / 19

Définitions Autres définitions des machines de Turing 1 Un seul état d arrêt et fonction de transition est partout définie. Dans l état d arrêt, résultat sur le ruban : accepte (1) ou n accepte pas (0). 2 Deux états d arrêt : q Y et q N, et la fonction de transition est partout définie. Machines de Turing 12 / 19

Thèse de Turing-Church Thèse de Turing-Church Les langages reconnus par une procédure effective sont ceux décidés par une machine de Turing. Justification. 1 Si décidé par machine de Turing, alors calculable : immédiat. 2 Si calculable alors décidé par machine de Turing : Extensions des machines de Turing et autres machines. Autres modélisations. Machines de Turing 13 / 19

Extensions des machines de Turing Extensions des machines de Turing Ruban infini dans les deux sens cf TD Ruban multiples Machine à mémoire à accès direct Machines de Turing 14 / 19

Extensions des machines de Turing Machines de Turing non déterministes Relation de transition : δ : (Q Γ) (Q Γ {L, R}) L exécution n est plus unique. Un mot est accepté s il existe une exécution avec un état accepteur. Théorème Tout langage accepté par une machine de Turing non déterministe est aussi accepté par une machine de Turing déterministe. Machines de Turing 15 / 19

Extensions des machines de Turing Machines de Turing universelles Machine de Turing qui simule n importe quelle machine de Turing. prend en entrée une machine de Turing M et une donnée w pour M, simule l exécution de M sur w. Théorème Il existe des machines universelles. Machines de Turing 16 / 19

Extensions des machines de Turing Fonctions calculables par une machine de Turing Définition (Fonction calculables) Une machine de Turing calcule une fonction f : Σ Σ si, pour tout mot d entrée w, elle s arrête toujours dans une configuration où f (w) se trouve sur le ruban. Les fonctions calculables par une procédure effective sont les fonctions calculables par une machine de Turing Machines de Turing 17 / 19

Équivalence des modèles de calcul Équivalence des modèles de calcul Théorème les fonctions calculables par MT les fonctions µ-récursives les fonctions λ représentables Machines de Turing 18 / 19

Plan Équivalence des modèles de calcul 1 Introduction 2 Définitions 3 Thèse de Turing-Church 4 Extensions des machines de Turing 5 Équivalence des modèles de calcul Machines de Turing 19 / 19