Machines de Turing et problèmes indécidables

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

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

Conversion d un entier. Méthode par soustraction

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

UE Programmation Impérative Licence 2ème Année

Logiciel de Base. I. Représentation des nombres

Rappels Entrées -Sorties

Représentation d un entier en base b

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

Cours d Analyse. Fonctions de plusieurs variables

Représentation des Nombres

1 Introduction au codage

Algorithme. Table des matières

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

Machines virtuelles Cours 1 : Introduction

Cours Informatique 1. Monsieur SADOUNI Salheddine

Réalisabilité et extraction de programmes

V- Manipulations de nombres en binaire

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

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Image d un intervalle par une fonction continue

Algorithmique et Programmation Fonctionnelle

Vers l'ordinateur quantique

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Codage d information. Codage d information : -Définition-

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

Informatique Générale

LES GENERATEURS DE NOMBRES ALEATOIRES

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

Le multiplexage. Sommaire

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Les nouveaux programmes de l él. école primaire. Projet soumis à consultation

AnaXagora LMS v3.0. Guide d utilisation

Fibonacci et les paquerettes

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (

Table des matières. Introduction

Créer et modifier un fichier d'importation SAU avec Excel

Rappels sur les suites - Algorithme

Plus courts chemins, programmation dynamique

CONDITIONS PARTICULIERES APPLIQUÉES PAR LA BANQUE NATIONALE DE BELGIQUE EN MATIÈRE DE CRÉANCES PRIVÉES LORSQU ELLE AGIT EN

(Exemple ici de calcul pour une Ducati 748 biposto, et également pour un S2R1000, équipé d un disque acier en fond de cloche, et ressorts d origine)

Problèmes de Mathématiques Filtres et ultrafiltres

Introduction à l étude des Corps Finis

Plateforme AnaXagora. Guide d utilisation

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

Nom de l application

Quelques algorithmes simples dont l analyse n est pas si simple

Comparaison de fonctions Développements limités. Chapitre 10

Annexe 1 au règlement Sporttip

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

IV- Comment fonctionne un ordinateur?

4 Exemples de problèmes MapReduce incrémentaux

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France


TP 1. Prise en main du langage Python

Synthèse «Le Plus Grand Produit»

GUIDE DU FOURNISSEUR

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)

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

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

6 - La conscience est-elle un processus algorithmique?

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Le codage informatique

DOCM Solutions officielles = n 2 10.

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

De quoi avez-vous besoin pour ce manuel?

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

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

Mesure d angles et trigonométrie

Logique. Plan du chapitre

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

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

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

Version default Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Responsable : Clé : U Révision : 496

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Bases de Données Relationnelles. Le Modèle Relationnel

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

"Calcul et hyper-calcul"

16H Cours / 18H TD / 20H TP

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Bases de Données. Plan

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Saisie sur un ordinateur OS/390 Ici sur jedi.informatik.uni-leipzig.de ou

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

Architecture de l ordinateur

Limites finies en un point

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

La mémoire. Un ordinateur. L'octet. Le bit

Optimisation des fonctions de plusieurs variables

Module 1 : Tableau de bord Excel * 2010 incl.*

«rend service» Xavier FONTANET

Problème 1 : applications du plan affine

NOM : Prénom : Date de naissance : Ecole : CM2 Palier 2

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Transcription:

Chapitre 7 Machines de Turing et problèmes indécidables 7.1 Notations Un mot sur l alphabet est une suite (éventuellement vide) d éléments de. Sauf précision contraire, on ne considère que des mots finis. Si A, B sont des ensembles de mots sur l alphabet, A + B est l ensemble A [ B a (où a 2 ) est l ensemble réduit au mot a est le mot vide A B est l ensemble {w 1 w 2 w 1 2 A, w 2 2 B} A est l ensemble des mots w tels qu il existe un entier k (éventuellement nul) et k mots w 1,...,w k 2 A tels que w = w 1 w k. 7.2 Machines de Turing Il existe de très nombreux modèles de calcul, représentant plus ou moins bien des architectures matérielles, des circuits ou des langages. Les machines de Turing constituent néanmoins le modèle de référence incontournable, pour des raisons historiques. Il s agit d un modèle de très bas niveau dans lequel on ne dispose que d une structure de données (les mots) et, d une seule instruction (GOTO) en dehors des lectures et écritures. Il existe plusieurs variantes des MT. Elles sont tous équivalentes par la thèse de Church, du point de vue de l expressivité. Mais pas du point de vue de la complexité. On donne une def. ici qui sera ensuite modifiée pour la def. des classes de complexité. Definition 7.2.1 Une Machine de Turing est un tuple (Q, q 0,,,{B,$}) où Q est un ensemble fini d états q 0 2 Q est l état initial est un alphabet fini B,$ sont deux symboles spéciaux distincts appartenant à (blanc et marqueur de début). 127

128CHAPITRE 7. MACHINES DE TURING ET PROBLÈMES INDÉCIDABLES, fonction de transition : Q! Q [{accept, reject} {,!, #} telle que (q, $) = (q 0, $,!) : on ne se déplace jamais à gauche du marqueur de début et on ne peut pas l e acer. Remarques : 1. Si n est pas définie partout, on supposera complétée la définition de par (q, a) =(reject,a#) sur les couples où elle est indéfinie 2. Cette définition correspond aux machines à un seul ruban : les machines à plusieurs rubans seront abordées ultérieurement 3. Il n y a pas d état final dans cette définition. On pourrait aussi considérer accept comme unique état final ; il n y a pas de transition depuis un état final. 4. On accepte dans cette définition de ne pas faire de mouvement (c est pratique pour compacter quelques définitions) 5. Dans d autres définitions, on utilise un alphabet de travail distinct de l alphabet d entrée. Pour les questions que nous abordons, cette distinction n est pas pertinente. 6. Nos machines sont déterministes : est une fonction et non une relation. Pour l heure, cela nous su t. Les machines non-déterministes seront introduites quand cela sera nécessaire. Definition 7.2.2 Une configuration de la machine M =(Q, q 0,,,{B,$}) est un triplet (w, q, w 0 ) où w, w 0 2,q 2 Q [{accept, reject} et w 0 6=. Étant donné w 0 2,laconfiguration initiale sur l entrée (ou la donnée) w 0 est (, q 0, $w 0 ). Les configurations finales sont celles de la forme (w, q, w 0 ) telles que q 2 {accept, reject}. M peut faire un mouvement de (w, q, aw 0 ) vers (w 1,q 1,w1 0 ), ce que l on note (w, q, aw 0 ) ` (w 1,q 1,w1 0 ) ssi on est dans l un des cas suivants : w 1 = wb si (q, a) =(q 1,b,!) et w1 0 = w0 si w 0 6= et w1 0 = B sinon w 1 = w, w1 0 = bw0 si (q, a) =(q 1,b,#) w = w 1 c, w1 0 = cbw0 si (q, a) =(q 1,b, ). Les mouvements gauche et droit sont représentés dans la figure 7.1. Definition 7.2.3 Un calcul d une machine M sur un mot w est une suite de configurations n telle que 0 =(, q 0, $w) et 8n >0. n 1 ` n. La suite est finie si et seulement si elle s achève sur l un des états {accept, reject}. Exemple 7.2.1 Soit M la machine dont la fonction de transition est donnée par la table : $ 0 1 B q 0 q 0, $,! q 0, 0,! q 1, 0,! accept, 0, # q 1 q 0, 1,! q 1, 1,! accept, 1, # On montre un calcul de la machine sur le mot d entrée 0110...

7.3. FONCTIONS CALCULABLES, LANGAGES DÉCIDABLES 129 Mouvement droit w w 0 w 1 w 0 1 $ a! $ 6 q b 6 q 0 Mouvement gauche w w 0 w 1 w 0 1 $ c a! $ c b 6 6 q q 0 Figure 7.1 Configurations et mouvements des Machines de Turing Exercice 137 (3) Donner explicitement la table d une machine de Turing qui, étant donné un mot w 2{0, 1}, accepte w si w contient au moins autant de 0 que de 1 et rejette sinon. (On prendra soin de démontrer que la machine fait bien ce qu elle est censée faire). 7.3 Fonctions calculables, langages décidables Si la machine M s arrête sur la donnée x, soit (w 1,q,w 2 ) la configuration finale (q 2{accept, reject}). On note M(x) le mot obtenu en retirant à w 1 w 2 le $ de tête et les blancs de fin de mot. Si M ne s arrête pas sur la donnée x, par convention, M(x) =?. Definition 7.3.1 Si f est une application de ( \{B,$}) dans ( \{B,$}), M calcule f si, pour tout w 2 ( \{B,$}), M(w) =f(w). Si une telle machine de Turing existe, f est dite calculable. On peut étendre cette définition aux fonctions partielles : si f est une application de D ( \{B,$}) dans ( \{B,$}), f est calculable si la fonction f 0 de ( 0 \{B,$}) dans ( 0 \{B,$}) définie par : 0 = ]{erreur} f 0 (w) =erreur si w/2 D f 0 (w) =f(w) siw 2 D est calculable. La notion de fonction calculable s étend aux entiers. Les entiers sont codés en base 2 par des mots de 0 + 1(0 + 1) ; on note n le codage de n 2 N. Une fonction f de N dans N est calculable si la fonction qui, pour tout n dans le domaine de définition de f, associe à n le mot f(n) est calculable. Pour les fonctions à deux arguments (de dans ), on se ramène aux fonctions de ( ]{#}) dans ( ]{#}), définies seulement pour les mots w#w 0...

130CHAPITRE 7. MACHINES DE TURING ET PROBLÈMES INDÉCIDABLES Proposition 7.3.1 Si les entiers sont des mots de 0 + 1(0 + 1), les fonctions suivantes sont calculables : (n, m) 7! n + m (n, m) 7! n m (n, m) 7! n m (sauf pour n, m =0) Definition 7.3.2 Si L ( \{B,$}),UneM.T.M décide L si, pour tout w 2 ( \{B,$}), il existe un (unique) calcul k tel que 0 =(, q 0, $w) et, pour un certain n, n =(w 1, accept,w 2 ) si w 2 L et n =(w 1, reject,w 2 ) si w/2 L. L est récursif s il existe une M.T. M qui décide L. Definition 7.3.3 M accepte L si, pour tout mot w 2 ( \{B,$}), ou bien w 2 L et il existe un calcul fini s arrêtant sur une configuration accept, ou bien w/2 L et la machine ou bien s arrête en échec, ou bien ne s arrête pas sur w. L est récursivement énumérable s il existe une machine de Turing M qui accepte L L(M) est alors l ensemble des mots acceptés par M... Remarques : 1. L récursif ssi la fonction caractéristique de L est calculable 2. Si L est récursif, alors L est récursivement énumérable. Exercice 138 (3) Parmi les 3 fonctions suivants (de N dans {0, 1}), 2 sont calculables et, pour la 3ème, on ne sait pas actuellement si elle est calculable ou non. Dire (en le justifiant) quelles sont les deux fonctions calculables. 0 Si Dieu existe f 1 (x) = 0 Si le développement décimal de contient au moins x 1 consécutifs f 2 (x) = 0 Si le développement décimal de contient exactement x 1 consécutifs f 3 (x) = Exercice 139 On considère le modèle de calcul des machines de Turing à ruban bi-infini : la définition est la même que la définition 7.2.1, excepté qu il n y a pas de symbole spécial $ (et donc pas d hypothèse sur les règles correspondantes). Une configuration initiale est un triplet (, q 0,w). Une configuration finale est un triplet (w, q, w 0 )avecq 2{accept, reject}. La relation de transition est donnée comme dans la définition 7.2.2, excepté que, lors d un mouvement gauche, w 1 = B lorsque w = c. La définition de fonction calculable est la même que pour les machines de Turing avec un ruban infini d un seul côté : on ignore les blancs dans le résultat. Montrer qu une fonction est calculable dans ce modèle si et seulement si elle est calculable par une machine de Turing.

7.3. FONCTIONS CALCULABLES, LANGAGES DÉCIDABLES 131 Exercice 140 (Castors a airés) Pour n 2 N, soit E n l ensemble des machines de Turing à ruban bi-infini, sur l alphabet {1,B}, à n états (+accept,reject) qui acceptent le mot vide. Si M 2 E n, on note f(m) le nombre de 1 inscrits sur le ruban quand, sur la donnée, M s arrête en acceptant. On considère la fonction Score de N dans N définie par Score(n) = max{f(m) M 2 E n }. 1. Calculer Score(2). 2. Montrer que, pour n 4, Score(n) > 2n 3. Montrer que Score n est pas calculable. 4. Montrer que Score(3) 6. (En fait = 6).