contre-exemple : problème de l arrêt (Rq. : si c était vrai, tout problème semi-décidable serait décidable)

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

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

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

Programmation linéaire

Algorithmes récursifs

Cours d algorithmique pour la classe de 2nde

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

Feuille TD n 1 Exercices d algorithmique éléments de correction

Initiation à la programmation en Python

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

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

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 de Master Recherche

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

Continuité et dérivabilité d une fonction

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

MIS 102 Initiation à l Informatique

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Logiciel de Base. I. Représentation des nombres

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

Correction TD algorithmique

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

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

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Quelques algorithmes simples dont l analyse n est pas si simple

Licence Sciences et Technologies Examen janvier 2010

Pourquoi l apprentissage?

Cours Informatique Master STEP

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

Cryptographie et fonctions à sens unique

Compression Compression par dictionnaires

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

Algorithmique et Programmation Fonctionnelle

Équations non linéaires

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

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

Une introduction aux codes correcteurs quantiques

Jean-Philippe Préaux

Algorithmique et Programmation, IMA

ASR1 TD7 : Un microprocesseur RISC 16 bits

Introduction à MATLAB R

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

Initiation à LabView : Les exemples d applications :

L exclusion mutuelle distribuée

Conversion d un entier. Méthode par soustraction

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

Quelques tests de primalité

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

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

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Les chaînes de caractères

Corrigé des TD 1 à 5

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

Machines virtuelles Cours 1 : Introduction

LES GENERATEURS DE NOMBRES ALEATOIRES

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

Informatique Générale

Correction de l examen de la première session

LES REGLEMENTS AVEC SOCIEL.NET DERNIERE MISE A JOUR : le 14 juin 2010

Objets Combinatoires élementaires

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.

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

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Optimisation Discrète

Conception des systèmes répartis

Programmation Linéaire - Cours 1

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Cours 1 : Qu est-ce que la programmation?

Limites finies en un point

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Organigramme / Algorigramme Dossier élève 1 SI

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Plus courts chemins, programmation dynamique

Par combien de zéros se termine N!?

Cours d Analyse. Fonctions de plusieurs variables

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Algorithme. Table des matières

Vers l'ordinateur quantique

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Algorithmes de recherche

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

UE C avancé cours 1: introduction et révisions

TRACER LE GRAPHE D'UNE FONCTION

Qualité du logiciel: Méthodes de test

TP, première séquence d exercices.

Nombres premiers. Comment reconnaître un nombre premier? Mais...

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

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

Triangle de Pascal dans Z/pZ avec p premier

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Initiation à l algorithmique

Transcription:

Université Bordeaux 1. Master Sciences & Technologies, Informatique. Examen UE INF 461, Modèles de calcul. Responsable A. Muscholl Session 1, 2009 2010. 15 décembre 2009, 14h-17h. Documents autorisés : transparents du cours et notes de TD. Le barème est indicatif. Les exercices marqués par ne sont pas nécessaires pour atteindre 20/20 (et n ont pas de barème). A noter que le bareme total dépasse 20 points. Vous pouvez choisir entre les deux derniers exercices no. 7. On attachera une grande importance à la clarté et à la concision des justifications. Exercice 1 Répondez par Vrai ou Faux aux questions suivantes. Détachez et joignez cette première feuille à votre copie. Notation : 0, 5 par réponse juste et 0, 5 par réponse fausse. Le résultat final sera le maximum entre 0 et la somme des points réalisés. On rappelle que les notions récursif et décidable sont équivalentes. De même pour récursivement-énumerable et semi-décidable. 1

Vrai Faux 1 Il existe des langages à la fois semi-décidables et indécidables. exemple : problème de l arrêt 2 Le complémentaire d un langage semi-décidable est aussi semidécidable. contre-exemple : problème de l arrêt (Rq. : si c était vrai, tout problème semi-décidable serait décidable) 3 A se réduit à B si et seulement si B se réduit à A. c est comme pour x y, cela n implique pas y x 4 S il existe une réduction de A à B, alors on peut utiliser un algorithme donné pour A, afin de résoudre B. l inverse est vrai : résoudre B apporte une solution pour A 5 On sait décider si deux MT M et M acceptent le même langage. ça serait quand même trop demandé! 6 Toute fonction f : N N telle que f(n) = f(n 0 ) pour tout n n 0 (pour un certain n 0 ) est une fonction calculable. bien-sûr : c est comme une instruction if-elsif-elsif... 7 On sait décider, étant donnés un automate fini A et une MT M, si A et M acceptent le même langage. On ne sait même pas décider le vide du langage d une MT... 8 Tout sous-ensemble d un ensemble décidable est décidable. contre-exemple : problème de l arrêt H {0, 1} 9 Il existe des ensembles décidables qui ne possèdent aucun sous- ensemble décidable. contre-exemple : est un sous-ensemble décidable... 10 Si A se réduit à B par une réduction polynomiale et B NP, alors A NP. voir cours (composition de deux polynômes est un polynôme aussi) 11 On peut décider SAT avec un algorithme exponentiel. voir cours (simulation de MT non-déterministes par MT déterministes) 12 Si A se réduit à un langage fini F, alors A est décidable. F est décidable, donc A l est aussi 13 Il existe des problèmes indécidables dont le complémentaire appartient à NP. le complémentaire d un problèmes décidable est décidable, aussi 14 Il existe une réduction de SAT au problème de l arrêt. 2

Exercice 2 (4 points) Décrivez de façon informelle (mais précise!) une MT déterministe pour chacun des langages L i {a, b} #{a, b} suivants. Votre MT peut utiliser plusieurs bandes : u#v L 1 ssi u précède v en ordre lexicographique. On pourra copier v sur une deuxième bande, faire avancer les deux têtes de façon synchrone tant que les symboles lus sont égaux, et accepter si c est la paire (a, b). u#v L 2 ssi v est le successeur de u en ordre hiérarchique. On pourra d abord comparer les longueurs de u, v (même idée avec 2 bandes) : si v est plus long, accepter. Si u, v sont de même longueur, appliquer la MT du premier point. Rappel : l ordre hiérarchique sur {a, b} : ɛ, a, b, aa, ab, ba, bb, aaa,.... En ordre lexicographique : a < aba < abba < b < babb,... Exercice 3 (3 points) 1. Donnez un exemple d un langage semi-décidable L 1 tel que le complémentaire de L 1 n est pas semi-décidable. Problème de l arrêt (sur l entrée vide) H. 2. Donnez un exemple d un langage L 2 qui n est pas semi-décidable, tel que le complémentaire de L 2 n est pas semi-décidable non plus. On sait que le complémentaire H de H {0, 1} n est pas semi-décidable. On définit L 2 = 1 H {0 x {0, 1} si x est le codage d une MT M, alors M s arrête sur l entrée vide} L 2 n est pas semi-décidable (sinon, L 2 1 {0, 1} = 1 H le serait, donc H aussi : faux. Le complémentaire L 2 non plus, sinon L 2 0 {0, 1} = 0 H le serait aussi, donc H aussi : faux. Justifiez bien vos réponses. Exercice 4 (2+2+3 points) Soit M une MT déterministe à une bande, et w une entrée de M. On note par espace M,w la fonction de N dans N, qui associe à chaque entier t N le nombre de cases différentes visitées par M pendant les t premiers pas de calcul à partir de la configuration initiale q 0 w. En particulier, si M s arrête après t 0 pas, alors espace M,w (t) = espace M,w (t 0 ) pour tout t t 0. Une fonction f : N N s appelle bornée, s il existe c N tel que f(n) c pour tout n N. 1. Est-ce que espace M,w est bornée si M s arrête sur w? Qu en est-il du cas où M ne s arrête pas sur w? espace M,w est bornée si M s arrête sur w. Si M ne s arrête pas, espace M,w peut être borné OU non-borné. 2. Soit N la MT déterministe qui simule M, en rajoutant les transitions supplémentaires suivantes : 3

avant de commencer la simulation, N place un marqueur # sur le premier blanc après l entrée w ; après chaque pas de simulation de M, la machine N deplace le marqueur # d une case à droite. La machine N accepte ssi M accepte. Qu est-ce qu on peut dire sur espace N,w par rapport à la longueur du calcul de M sur w? espace N,w est borné SI ET SEULEMENT SI M s arrête sur w. 3. En utilisant les questions précédantes, montrez que le problème suivant est indécidable : Entrée : MT déterministe M, mot w Question : Est-ce que espace M,w est une fonction bornée? On réduit le problème de l arrêt (de M sur w) au problème ci-dessus. La réduction est M, w N, w, avec N la MT décrite au point précédent. 4. En utilisant les questions 1. et 2., montrez que le problème suivant est indécidable : Entrée : MT déterministe M, mot w Question : Existe-t-il une configuration C de M atteignable à partir de la configuration initiale de M sur w, et un calcul C C 1 C n C bouclant sur C (n 1)? On réduit le problème de l arrêt (de M sur w) au problème ci-dessus. Pour cela, on modifie la MT N de la question 2 : si le calcul termine, alors on change dans un nouvel état f et on la laisse boucler dans f. La MT N ainsi construite va soit boucler sur une configuration avec état f (si M s arrête), ou jamais boucler car elle utilise de plus en plus d espace (si M ne s arrête pas). Indication : Pour les 2 dernières questions, vous pouvez réduire à partir du problème de l arrêt. Exercice 5 (4 points) Trouvez l erreur dans le raisonnement suivant, en indiquant bien quelles sont les assertions vraies et quelles sont fausses, et en justifiant les réponses : 1. Soient A, B {0, 1} deux ensembles avec A B. Alors A se réduit à B, en prenant l identité id : {0, 1} {0, 1} comme fonction de réduction. 2. Si A se réduit à B et B est décidable, alors A est décidable. 3. Le problème de l arrêt H {0, 1} satisfait les hypothèses précédentes, donc il est décidable. 1 est faux, 2 et 3 sont vraies (voir cours). Point 1 est faux car x A x B signifie A = B, ce qui n est pas supposé. Exercice 6 (3+4 points) Soit L Σ. On définit Pref(L) par : Pref(L) = {u Σ il existe v L t.q. u est préfixe de v} 1. Montrez que Pref(L) est semi-décidable, si L est décidable. voir 2 4

2. Montrez que Pref(L) est semi-décidable, si L est semi-décidable. L étant semi-décidable, on peut l énumérer. Dès lors, il suffit de regarder pour chaque élément v qui apparaît dans l énumération, si l entrée (pour le langage Pref(L)) est préfixe de v. 3. Donnez un exemple de langage L décidable, tel que Pref(L) n est pas décidable. Prenons le problème de l arrêt H (sur l entrée vide). On définit L = { M #1 n M s arrête en n pas}. Le langage L est décidable, mais Pref(L) ne l est pas : sinon, Pref(L) {0, 1} # = H# le serait : faux. Exercice 7 (5 points) On considère pour cette question des machines RAM avec les instructions vues en cours (incrémentation/decrémentation, sauts (in)conditionnels, stop) et sans entrée/sortie. Montrez que la question suivante est décidable : Entrée : RAM M avec registres initialement nuls, entier k. Question : Est-il vrai que la valeur d aucun registre ne dépasse k au cours du calcul de M? On simule la RAM, en s assurant que les registres ne dépassent pas k (si cela arrive, on rejète). On s arrête dès qu on boucle. On peut utiliser pour cela un compteur, qui va être incrémenté avec chaque pas simulé, et dont la valeur ne doit pas dépasser la valeur q (k + 1) N, avec q nombre d états et N nombre de registres. Cette valeur borne le nombre de configurations avec des valeurs au plus k dans les registres. Montrez que la question suivante est indécidable : Entrée : RAM M avec registres initialement nuls, entier k. Question : Est-il vrai pour tout registre, que sa valeur dépasse k au cours du calcul de M? On réduit le problème de l arrêt des RAM à ce problème : soit M une RAM (entrée pour le problème de l arrêt). On construit une autre RAM M, avec un registre de plus, qui simule M (sans modifier le registre additionel). Si la simulation s arrête, on incrémente tous les registres de M par k. Si la simulation ne s arrête pas, alors le registre additionel reste zéro. Exercice 7 (5 points) On considère les problèmes suivants : Petit-cycle : Entrée : graphe orienté G, sommet s, entier k Question : Existe-t-il un cycle qui contient s et qui passe par au plus k sommets différents? Grand-cycle : Entrée : graphe orienté G, sommet s, entier k Question : Existe-t-il un cycle simple qui contient s et qui passe par au moins k sommets? (un cycle simple est un cycle où tous les sommets sont différents) 1. Décrivez un algorithme polynomial qui résout Petit-cycle. Justifiez le temps de calcul. 5

Il suffit de vérifier s il existe un sommet x avec un arc (x, s) et tel que d(s, x) < k (d(u, v) est la distance entre u et v. On peut utiliser l algorithme (polynomial) de Dijkstra pour calculer les distances à partir de s. 2. Montrez que Grand-cycle est NP-complet. Avec k égal au nombre des sommets, il s agit du problème du cycle Hamiltonien (HC), qui est NP-complet. Donc on peut réduire HC au problème Grand-cycle, ce qui montre qu il est NP-difficile. Grand-cycle est dans NP : on peut vérifier en temps polynomial qu une séquence de sommets est une solution. 6