CH.8 Décidabilité. Propriétés des langages récursifs : Fermés par complémentation, union et intersection. oui. non. oui M 1. non. oui M 2.



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

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

Raisonnement par récurrence Suites numériques

Réalisabilité et extraction de programmes

6. Les différents types de démonstrations

Date : Tangram en carré page

Développement décimal d un réel

LE PROBLEME DU PLUS COURT CHEMIN

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

Vers l'ordinateur quantique

Problèmes de Mathématiques Filtres et ultrafiltres

Carl-Louis-Ferdinand von Lindemann ( )

Le produit semi-direct

Peut-on tout programmer?

Continuité d une fonction de plusieurs variables

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

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

Algorithmes de recherche

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

FONCTION EXPONENTIELLE ( ) 2 = 0.

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

Exercices de dénombrement

CNAM UE MVA 210 Ph. Durand Algèbre et analyse tensorielle Cours 4: Calcul dierentiel 2

La fonction exponentielle

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Programmation linéaire

Structures algébriques

NOTATIONS PRÉLIMINAIRES

Algorithmes d'apprentissage

Continuité en un point

Définitions. Numéro à préciser. (Durée : )

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

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

Logique. Plan du chapitre

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Axiomatique de N, construction de Z

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

Image d un intervalle par une fonction continue

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Exercices - Polynômes : corrigé. Opérations sur les polynômes

CHAPITRE VIII : Les circuits avec résistances ohmiques

Fonction inverse Fonctions homographiques

D'UN THÉORÈME NOUVEAU

Limites finies en un point

Géométrie dans l espace Produit scalaire et équations

Cours de Probabilités et de Statistique

Système binaire. Algèbre booléenne

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Rappels sur les suites - Algorithme

La mesure de Lebesgue sur la droite réelle

6 - La conscience est-elle un processus algorithmique?

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

"Calcul et hyper-calcul"

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

Model checking temporisé

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Les différents types de données et leurs opérations de base

Construction d un cercle tangent à deux cercles donnés.

108y= 1 où x et y sont des entiers

OPTIMISATION À UNE VARIABLE

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

CARTE DE VOEUX À L ASSOCIAEDRE

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Utilisation des tableaux sémantiques dans les logiques de description

Calcul fonctionnel holomorphe dans les algèbres de Banach

Théorie de la Mesure et Intégration

Continuité et dérivabilité d une fonction


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

3 Approximation de solutions d équations

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

Algèbre binaire et Circuits logiques ( )

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

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Probabilités Loi binomiale Exercices corrigés

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Espaces probabilisés

Résolution de systèmes linéaires par des méthodes directes

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

DOCM Solutions officielles = n 2 10.

Calculs de probabilités

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

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

Les travaux doivent être remis sous forme papier.

Résolution d équations non linéaires

Une forme générale de la conjecture abc

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

Pourquoi l apprentissage?

chapitre 4 Nombres de Catalan

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

L'INTÉRÊT COMPOSÉ. 2.1 Généralités. 2.2 Taux

Algorithmique avec Algobox

Planche n o 22. Fonctions de plusieurs variables. Corrigé

1 Première section: La construction générale

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

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

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Chapitre 4 : les stocks

Transcription:

CH.8 Décidabilité 8.1 Les langages récursifs 8.2 La machine de Turing universelle 8.3 Des problèmes de langages indécidables 8.4 D'autres problèmes indécidables Automates ch8 1 8.1 Les langages récursifs Propriétés des langages récursifs : Fermés par complémentation, union et intersection. Complémentation : w M Union / intersection w M 1 M 2 ou / et logique Propriétés des langages récursivement énumérables : Fermés par union mais pas par intersection. Automates ch8 2

Théorème : Le langage L est récursif si et seulement s'il est récursivement énumérable et son complémentaire aussi. M 1 et M 2 reconnaissent L et son complémentaire. w M 1 La machine ci-contre s'arrête toujours. M 2 Utile pour montrer qu'un langage n'est pas récursif. On montre que son complémentaire n'est pas récursivement énumérable. Automates ch8 3 8.2 La machine de Turing universelle Numérotage des programmes permet de numéroter les machines de Turing (voir la machine comme un programme). Pour tout entier n, on peut parler de la machine M n. Cette machine peut être construite explicitement au moyen d'un programme (donc d'une machine de Turing. On peut aussi numéroter les mots. Connaissant k, le mot w k peut aussi être construit explicitement par une machine de Turing. Exemple : le langage diagonal L d = { w i : w i L(M i )}. Ce langage n'est pas récursivement énumérable. Supposons L d = L(M k ), reconnu par la machine de numéro k. Soit w k. On a alors : ( w k L d ) ( w k L(M k ) ) par définition de L d ; ( w k L d ) par définition de L(M k ). Contradiction dans tous les cas, donc M k n'existe pas. Automates ch8 4

Conséquence : le problème "étant donnés n et k, la machine M n accepte-t-elle le mot w k?" est indécidable. Si on pouvait le décider, on pourrait aussi décider "étant donné k, la machine M k accepte-t-elle le mot w k?". Ceci impliquerait la récursivité de L d. En fait le problème est équivalent au problème de l'arrêt. En assemblant numérotage des machines et numérotage des mots, on a la machine de Turing universelle U : si M n accepte w k (n, k) U si M n rejette w k boucle si M n boucle sur w k Interpréteur = réalisation pratique de machine universelle. Automates ch8 5 8.3 Des problèmes de langages indécidables Beaucoup d'arguements d'indécidabilité font appel au lemme suivant. Lemme : Soit une machine M prenant en entrée deux entiers n et k. On fixe n. On obtient, pour chaque n, une machine prenant en entrée un entier k. Cette machine a comme numéro g(n). Alors la fonction qui à n associe g(n) est récursive totale. Si on voit les machines de Turing comme des programmes, la démonstration est facile. Lorsque n est donné, on remplace dans le programme de M l'instruction de lecture de n par la valeur de n. On obtient ainsi un programme qui peut servir de numéro g(n). Par contre, rien n'exige que la machine fasse quoi que ce soit d'utile... Automates ch8 6

Un problème sur les langages peut toujours se ramener un écé du type "le langage L a-t-il la propriété S? On peut voir S comme un sousensemble de l'ensemble L de tous les langages récursivement énumérables (le sous-ensemble constitué des langages ayant cette propriété). De cette manière, une propriété et un sous-ensemble de L sont la même chose. Les propriétés triviales sont L, satisfaite par tous les langages récursivement énumérables, et, satisfaite par aucun langage. Théorème (Rice) : Si S est une propriété -triviale, alors le problème "étant donné n, le langage L(M n ) a-t-il la propriété S?" est indécidable. Démonstration : Supposons qu'il existe une machine MS prenant en entrée n et décidant si L(M n ) S. En intervertissant les sorties et, on obtient une machine décidant L(M n ) S. Automates ch8 7 On suppose que le langage vide n'a pas la propriété S. Si, on s'intéresse à la propriété L S. Puisque S n'est pas triviale, au moins un langage L(M t ) possède la propriété S. On peut trouver t explicitement. Pour cela, on utilise MS en rentrant successivement tous les entiers 0, 1,... La machine MS s'arrête toujours. Tant qu'elle s'arrête sur, on continue. Puisque S est n'est pas triviale, elle finira par s'arrêter sur, pour un entier t. On construit la machine A suivante, avec 3 entrées, n, k et i : U (n, k) M t i Dans la machine A, la machine M t est lancée avec i en entrée seulement si la machine U s'est arrêtée sur. En vertu du lemme, il existe une fonction a(n, k), récursive totale, calculée par la machine M telle que A(n, k, i) = M a(n, k) (i). Automates ch8 8

Supposons n et k donnés. Deux cas se présentent : soit w k L(M n ), auquel cas M t démarre et répond si et seulement si w i L(M t ) = L, c'est-à-dire que L(M a(n, k) ) = L ; soit w k L(M n ), auquel cas M t ne démarre pas donc A n'accepte aucun i et L(M a(n, k) ) =. Soit maintenant la machine B suivante : (n, k) M a(n, k) MS Avec les mêmes n et k donnés, deux cas se présentent de nouveau : soit elle s'arrête sur, ce qui signifie L(M a(n, k) ) S. On a vu plus haut que soit L(M a(n, k) ) = L, soit L(M a(n, k) ) = ; comme le langage vide n'est pas dans S, alors L(M a(n, k) ) = L, et donc w k L(M n ) ; soit elle s'arrête sur, ce qui signifie L(M a(n, k) ) S. La seule possibilité est maintenant L(M a(n, k) ) =, et donc w k L(M n ). La machine B déciderait si M n accepte w k, ce qui est indécidable... Automates ch8 9 Les conséquences du théorème de Rice sont innombrables ; sont indécidables : "L(M n ) =?", "L(M n ) est fini?", "L(M n ) est récursif?", "L(M n ) est rationnel?", "ε L(M n )?", "L(M n ) = L donné?" ; du dernier, on déduit "L(M n ) = L(M k )?", et, de façon analogue, "L(M n ) L(M k )=?", etc. Ce résultat peut être raffiné en n'exigeant pas une machine qui décide (-, récursif) mais une machine répondant si la propriété est vraie et boucle si (récursivement énumérable). Par exemple, on peut trouver une telle machine pour le problème "L(M n )?". Il suffit d'essayer tous les mots par taille croissante. Ce programme s'arrête lorsqu'il trouve un mot accepté. Ceci montre aussi qu'on ne peut pas faire de même pour "L(M n ) =?", les deux problèmes étant complémentaires l'un de l'autre. Automates ch8 10

8.4 D'autres problèmes indécidables Le problème de Post. On donne deux suites finies A et B de mots sur un alphabet. A = w 1, w 2,..., w k et B = x 1, x 2,..., x k. Probleme de Post : Etant données les suites A et B, existe-t-il une suite i 1, i 2,..., i m telle que w i1 w i2... w im = x i1 x i2... x im?" Par exemple, sur l'alphabet {0, 1}, le problème avec A = {1, 10111, 10} et B = {111, 10, 0} est vrai : w 2 w 1 w 1 w 3 = x 2 x 1 x 1 x 3. Mais le problème avec A = {10, 011, 101} et B = {101, 11, 011} n'a pas de solution. On peut montrer que le problème de Post est indécidable, en montrant qu'il est équivalent à celui de l'appartenance d'un mot à un langage L(M). Automates ch8 11 On en déduit que le caractère intrinsèquement ambigu d'une grammaire algébrique est indécidable. Le théorème du "point fixe" Théorème : Soit σ une fonction récursive totale d'une variable entière. Alors il existe un entier x 0 et deux machines de Turing équivalentes de numéros x 0 et σ(x 0 ). En d'autres termes, M x0 (x) = M σ(x0 )(x) quelle que soit l'entrée x. Démonstration : On construit la machine de Turing G suivante : Automates ch8 12

i x U M i (i) U M Mi(i) (x) On considère la fonction g qui, à i fixé, donne le numéro de la machine ci-dessus, avec la seule entrée x (lemme vu plus haut) : M g(i) (x) = G(i, x) La fonction g est récursive totale, donc σ o g aussi, calculable par la machine de Turing M t : pour tout x, on a M t (x) = σ(g(x)). Soit x 0 = g(t), qui est bien défini. On vérifie qu'il convient. En effet, M x0 (x) = M g(t) (x) = G(t, x) = M Mt (t) (x) = M σ(g(t)) (x) = M σ(x 0 ) (x). Le théorème est donc démontré. Automates ch8 13 On a calculé un tel x 0. Mais la machine correspondante n'a pas d'autre propriété. peut-être qu'elle ne produit jamais aucun résultat... On peut maintenant évoquer un théorème "à la Gödel". On a un ensemble fini d'axiomes F et on dispose du calcul logique des prédicats pour fabriquer des démonstrations de propositions. Si une proposition dérive logiquement des axiomes, on dit qu'elle est démontrable dans F. On suppose aussi que F est -contradictoire, ou encore que toutes les propositions qu'on peut démontrer à partir de F sont vraies. Théorème : Il existe une machine de Turing M qui ne s'arrête sur aucune entrée et pour laquelle, quelle que soit l'entrée, il n'existe pas de démonstration dans F qu'elle ne s'arrête pas. Automates ch8 14

Démonstration : On peut numéroter toutes les démonstrations (suites finies de symboles). Etant donnée une démonstration D i et une proposition, on peut, à l'aide d'un algorithme, vérifier si la proposition est démontrée par cette démonstration. Soit donc d(i, j) =1 s'il existe une démonstration que la machine M i ne s'arrête pas sur le mot w j ; d(i, j) est indéfini si. On peut calculer d : la proposition est que M i (j) s'arrête. On énumère toutes les démonstrations et on vérifie si chacune démontre cette proposition. S'il existe une démonstration, l'algorithme s'arrête et on renvoie la valeur 1. Si, on bouclera indéfiniment. Donc d est récursive partielle. En vertu du lemme du paragraphe 8.3, il existe une fonction récursive totale g telle que, pour tout j, M g(i) (j) = d(i, j). Automates ch8 15 D'après le théorème du point fixe, on construit un entier i 0 tel que, pour tout j, on a M i0 (j) = M g(i0 ) (j) = d(i 0, j). Supposons que M i0 (j) s'arrête. Alors d(i 0, j) est défini, donc vaut 1 et donc il existe une démonstration que M i0 (j) ne s'arrête pas. Puisque à partir de F on ne peut rien démontrer de faux, on arrive à une contradiction. Donc, M i0 (j) ne s'arrête pas. Par conséquent d(i 0, j) n'est pas défini. Il n'existe donc pas de démonstration que M i0 (j) ne s'arrête pas. On a trouvé la machine M cherchée. Le théorème d'incomplétude de Gödel précise les axiomes (arithmétique de Peano), la numérotation des démonstrations et peut du coup se passer des machines de Turing en ramenant tout à des propriétés arithmétiques des entiers. Automates ch8 16