Examen du cours de L3: Calculabilité

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

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

Programmation linéaire

Optimisation des fonctions de plusieurs variables

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

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

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

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

Problèmes de Mathématiques Filtres et ultrafiltres

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

Probabilités sur un univers fini

Limites finies en un point

Chapitre 6. Fonction réelle d une variable réelle

Organigramme / Algorigramme Dossier élève 1 SI

MIS 102 Initiation à l Informatique

Chapitre 1 : Évolution COURS

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

Continuité et dérivabilité d une fonction

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Objets Combinatoires élementaires

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

Fonctions homographiques

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

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Logique. Plan du chapitre

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

Image d un intervalle par une fonction continue

Informatique Générale

Quelques tests de primalité

Problème 1 : applications du plan affine

Chapitre 5 : Flot maximal dans un graphe

Introduction à la théorie des graphes. Solutions des exercices

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

ARBRES BINAIRES DE RECHERCHE

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

Chp. 4. Minimisation d une fonction d une variable

Probabilités sur un univers fini

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

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Table des matières. Introduction

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

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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)

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

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

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

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

TP, première séquence d exercices.

Résolution d équations non linéaires

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Compter à Babylone. L écriture des nombres

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

Leçon 01 Exercices d'entraînement

Cours de mathématiques

Algorithmique et Programmation, IMA

Théorie et codage de l information

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

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

Cours de Probabilités et de Statistique

Rappels sur les suites - Algorithme

Taux d évolution moyen.

Logique : ENSIIE 1A - contrôle final

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

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

I. Polynômes de Tchebychev

Initiation à la programmation en Python

Théorème du point fixe - Théorème de l inversion locale

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

STAGE IREM 0- Premiers pas en Python

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Le chiffre est le signe, le nombre est la valeur.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

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

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Optimisation Discrète

LES GENERATEURS DE NOMBRES ALEATOIRES

Mesures gaussiennes et espaces de Fock

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Initiation à l algorithmique

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

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

3. Conditionnement P (B)

Quelques algorithmes simples dont l analyse n est pas si simple

Algorithmique et Programmation Fonctionnelle

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Correction TD algorithmique

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Peut-on imiter le hasard?

6. Les différents types de démonstrations

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

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

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Réalisabilité et extraction de programmes

I. Cas de l équiprobabilité

TD3: tableaux avancées, première classe et chaînes

TP 1. Prise en main du langage Python

BACCALAUREAT GENERAL MATHÉMATIQUES

Transcription:

Examen du cours de L: Calculabilité 4 novembre 0, durée: heures Tous les documents sont autorisés, les appareils électroniques sont interdits. Les résultats vus en TD, s ils sont utilisés, doivent être redémontrés. À titre indicatif, au moins 5 points seront attribués au premier exercice. Pour chacun des problèmes suivants, dire s ils sont décidables ou non. Justifier.. Donnée: Une machine de Turing M, un mot w, un entier n Question: M s arrête sur w en moins de n étapes de calcul. Donnée: Une machine de Turing M Question: Tous les mots de L(M) sont de longueur paire. Donnée: Deux machines de Turing M, M Question: Pour tout mot w, M s arrête sur w si et seulement si M s arrête sur w. 4. Donnée: une machine de Turing M Question: Il existe une machine M telle que M calcule en temps linéaire et L(M) = L(M ). 5. Donnée: une fonction récursive primitive à un argument f Question: il existe un entier n tel que f(n) = 0 6. Donnée: Une machine de Turing M Question: M, sur la donnée vide, repasse au moins une fois dans l état initial 7. Donnée: Deux grammaires linéaires G, G Question: L(G ) L(G ) Une grammaire (HC) est donnée par un alphabet terminal Σ, un alphabet non-terminal N, un symbole de départ S N et un ensemble fini de règles de grammaire de la forme A y où y (Σ N). Une dérivation de w dans la grammaire est une séquence x... x n = w où x = S et, pour tout i n, il existe une règle de grammaire A y et des mots w, w (Σ N) tels que x i = w Aw et x i+ = w yw. Le langage engendré L(G) par la grammaire G est l ensemble des mots w de Σ tels qu il existe une dérivation de w dans la grammaire.

Une grammaire est linéaire si toutes ses règles sont de la forme A y By où B N {ɛ} et y, y Σ. Ind: on pourra considérer le langage L = {w w w Σ } où w est l image miroire du mot w. 8. Donnée: une machine de Turing M (à un ruban) Question: Il existe un entier k tel que, pour tout mot w, M s arrête après au plus k w étapes de calcul (Question hors barême: même question en remplaçant w par w log w ). Parmi les problèmes,, de la question précédente, dire (en le justifiant) ceux pour lesquels {Donnée La Question est satisfaite} est récursivement énumérable. On admet l existence d une application surjective t des entiers dans les fonctions récursives primitives à un argument (une numérotation des fonctions récursives primitives à un argument). On admet également l existence d une fonction récursive totale universelle Eval à deux arguments telle que Eval(x, y) = t(x)(y). Montrer que Eval n est pas récursive primitive.

Solution. Ce problème est décidable: il suffit de simuler n étapes de calcul de M sur w. Autrement dit, la machine universelle est modifiée (en une machine M ) pour commencer par transférer n sur un troisième ruban, puis, après simulation de chaque transition de M, décrémenter le compteur du troisième ruban. Si M arrive dans un état accept ou reject, M accepte. Si le compteur atteint 0, M rejette. Points =, Taux de réussite = 98%. Ce problème est indécidable d après le théorème de Rice: la proprièté que tous les mots de L sont de longueur paire est une propriété non-triviale puisque le langage vide est dedans, alors que le langage réduit à un singleton n y est pas. Points=, Taux de réussite = 85%. C est indécidable, par réduction du problème de l arrêt : Si M, w est la donnée du problème de l arrêt, on choisit pour M une machine qui ignore son entrée et simule M sur w et pour M une machine qui ignore son entrée et s arrête. M s arrête sur w ssi M s arrête sur toute entrée ssi (M s arrête sur toute entrée ssi M s arrête sur toute entrée). Points=, Taux de réussite = 78% 4. C est indécidable: on utilise le théorème de Rice. Il suffit de montrer que la propriété de L(M) est non-triviale: Le langage vide a la propriété (choisir M qui s arrête immédiatement en rejetant) et le langage universel ne l a pas, puisqu il n est pas récursif. Taux de réussite = 45% 5. C est indécidable: on réduit le problème de l arrêt. Soit M, w une instance du problème de l arrêt. Comme vu en cours, il existe une fonction primitive récursive qui, à un entier n associe le codage de la nième configuration du calcul de M sur w et 0 si la machine M s arrête en moins de n étapes. Il existe un entier n tel que f(n) = 0 ssi M s arrête sur w. Points=, Taux de réussite = % 6. On réduit le problème de l arrêt: si M, w est une donnée du problème de l arrêt, on construit M qui simule M et, si M va s arrêter sur w, revient dans l état q 0. Par ailleurs, on ajoute un état q 0 à M et on remplace q 0 par q 0 dans toutes les transitions de M, sauf la transition δ(q 0, $) et la transition qui fait revenir dans l état initial après que la simulation de M sur w soit terminée. De cette façon M revient dans l état q 0 ssi M s arrête sur w. Points=, Taux de réussite = 54% 7. On code le problème de correspondance de Post. Si (u,..., u n ), (v,..., v n ) est une instance de PCP, on associe les deux grammaires: G : S u i ṽ i, S u i Sṽ i où ṽ i est l image miroir de v i, pour tout i G : S ɛ, S asa pour toute lettre a de l alphabet

L(G ) est le langage des mots {w w w Σ }. L(G ) = {u i u ik v ik v i k N, i,..., i k {,..., n}}. Par récurrence sur k il existe une dérivation S G u i u ik S v ik v i et réciproquement, toute dérivation est de cette forme, par récurrence sur la longueur de la dérivation. Donc L(G ) L(G ) = ssi PCP a une solution. Points=, Taux de réussite = 6% 8. Note: la solution ci-dessous correspond au cas où la donnée est une machine qui s arrête toujours (ce qui était l intention de l énoncé), mais les solutions (plus simples) correspondant à l énoncé tel qu il a été distrubé sont aussi valabels C est indécidable: on réduit le complémentaire du problème de l arrêt. Soit M, w une donnée du problème de l arrêt. Soit M la machine qui, étant donné un entier n (en base ), simule n étapes du calcul de M sur w et, si M est sur le point de s arrêter, écrit n sur le ruban. Si après n étapes de calcul M ne s est pas arrêtée, alors M s arrête (sur la donnée n). M est par exemple une machine à deux rubans, n étant écrit en unaire sur le premier ruban et la configuration de M sur le deuxième ruban. À chaque étape, M avance sur le premier ruban (tant qu elle ne lit pas un blanc) et simule M sur le deuxième ruban. M peut être simulée par une machine M à un seul ruban, dont le nombre d étapes de calcul est majoré par c t M (n) où c est une constante (qui dépend de M, w) et t M (n) est le nombre d étapes de calcul de M sur la donnée n. Par construction, le nombre d étapes de calcul de M sur n est majoré par k n + si M ne s arrête pas sur w en moins de n étapes et sinon il est minoré par n et majoré par k n 6 +. Il en résulte que M ne s arrête pas sur w ssi M calcule en temps k n + C. Pour l extension à O( w log w ): sur la donnée n (en base ), la machine M commence par marquer log n sur le ruban. Ceci est possible en temps O(n log n): supposant n codé par n, on répète, jusqu à avoir épuisé les : remplacer un (ou ) sur deux par 0 et marquer remplacer la première lettre non primée (0 ou ) par la lettre primée correspondante (0 ou ). On passe log n fois sur l entrée (donc temps de calcul O(n log n)) et à l issue du calcul les log n premières lettres sont primées. Ensuite, M simule M sur w, dans l espace alloué par les lettres primées: si M s arrête sur w en moins de log n étapes, alors M entre dans un long calcul. Sinon, M s arrête. Cette dernière étape de simulation requiert O(log n) étapes de calcul (si M s arrête sur w). Points=, Taux de réussite = 5%. Tout problème décidable est récursivement énumérable. Donc. est récursivement énumérable. Points= 0.5, Taux de réussite = 8% 4

. Ce problème n est pas récursivement énumérable. Comme tout langage récursivement énumérable et co-récursivement énumérable est récursif, d après la question., il suffit de montrer que le langage de cette question est co-récursivement énumérable. Pour cela, la machine M 0 réalise les opérations suivantes: Pour n := 0 à + faire Pour tous les mots w de longueur impaire et de longueur inférieure à n faire Simuler n étapes de M sur w Si M va s arrêter sur w, alors s échapper de toutes les boucles et accepter. Si M 0 accepte < M >, alors, par construction, M accepte au moins un mot de longueur impaire. Réciproquement, si M accepte un mot w de longueur k +, alors M 0 s arrête en acceptant, car la boucle externe ne sera éxécutée qu au plus jusqu à n = max(k +, t) où t est le temps de calcul de M sur w. (Et la boucle interne termine toujours). Donc M 0 accepte < M > ssi M accepte au moins un mot de longueur impaire. Ce qui montre que le langage de la question. est co-récursivement énumérable et donc pas récursivement énumérable. Points=.5, Taux de réussite=6%. Ce problème n est pas récursivement énumérable: on réduit le problème du non-arrêt de M sur w. On considère une machine M qui ne s arrête sur aucune entrée et une machine M qui ignore son entrée et simule M sur w. (M ne s arrête pas sur w) ssi (pour tout x, M ne s arrête pas sur x) ssi (pour tout x, M s arrête sur x ssi M s arrête sur x) Or le problème du non-arrêt n est pas récursivement énumérable, car le problème de l arrêt est récursivement énumérable et pas récursif. Il en résulte que le le langage de la question. n est pas récursivement énumérable. Points=.5, Taux de réussite =9% Si Eval était récursive primitive, alors il existerait un entier n tel que t(n)(x) = Eval(x, x) +. Mais alors Eval(n, n) = t(n)(n) = Eval(n, n) +, ce qui est absurde. Points=.5, Taux de réussite= % 5