Examen du cours de L3: logique et calculabilité

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

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

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

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

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

Limites finies en un point

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

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

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

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

Cours de Master Recherche

Programmation linéaire

Continuité et dérivabilité d une fonction

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

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

Logiciel de Base. I. Représentation des nombres

chapitre 4 Nombres de Catalan

Introduction à l étude des Corps Finis

Optimisation Discrète

Réalisabilité et extraction de programmes

Problèmes de Mathématiques Filtres et ultrafiltres

I. Polynômes de Tchebychev

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

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

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

I. Ensemble de définition d'une fonction

Image d un intervalle par une fonction continue

Chp. 4. Minimisation d une fonction d une variable

Intelligence Artificielle Planification

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

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


Le produit semi-direct

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

Sur certaines séries entières particulières

Les arbres binaires de recherche

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

Objets Combinatoires élementaires

Logique : ENSIIE 1A - contrôle final

Continuité d une fonction de plusieurs variables

Polynômes à plusieurs variables. Résultant

Machines virtuelles Cours 1 : Introduction

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

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

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

Bases de données Cours 5 : Base de données déductives

Calcul fonctionnel holomorphe dans les algèbres de Banach

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

Pourquoi l apprentissage?

Vers l'ordinateur quantique

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.

Présentation du langage et premières fonctions

MIS 102 Initiation à l Informatique

Chapitre 1 : Évolution COURS

Comment démontrer des formules sans effort? exposé de maîtrise

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

Chapitre 7. Récurrences

Informatique Générale

Gestion des Clés Publiques (PKI)

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

Algorithmique et programmation : les bases (VBA) Corrigé

Cours Fonctions de deux variables

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

Fonctions homographiques

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

Théorie et codage de l information

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

Chapitre 10 Arithmétique réelle

Commun à tous les candidats

Chapitre VI - Méthodes de factorisation

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

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

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

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

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

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

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

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

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

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

ARBRES BINAIRES DE RECHERCHE

Logique. Plan du chapitre

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

Fibonacci et les paquerettes

Sujet 4: Programmation stochastique propriétés de fonction de recours

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

3. Conditionnement P (B)

Model checking temporisé

Glossaire des nombres

1.1 Codage de source et test d hypothèse

Problème 1 : applications du plan affine

Algorithme. Table des matières

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

Partie 1 - Séquence 3 Original d une fonction

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

Rappels sur les suites - Algorithme

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Transcription:

Examen du cours de L3: logique et calculabilité 16 janvier 2013, durée: 3 heures Tous les documents sont autorisés, les appareils électroniques sont interdits. Les 11 questions sont indépendantes et approximativement listées par difficulté croissante. Les premières questions ont des solutions très courtes (moins d une page de corrigé pour l ensemble des 7 premières questions). La dernière question est bonus.. Pour chacun des problèmes suivants, dire s ils sont décidables ou non. Justifier. (NB: quelques définitions sont données ou rappelées en fin d énoncé). 1. Donnée: Un arbre fini Π, étiqueté par des clauses du premier ordre, une clause C, un ensemble fini de clauses S Question: Est-ce que Π est une preuve de C par résolution et factorisation binaire à partir des hypothèses S? 2. Donnée: Deux ensembles finis de clauses du premier ordre S 1, S 2 Question: Est ce que, pour toute clause C S 2, S 1 = C? 3. Donnée: Une machine de Turing quelconque M 1, et une machine de Turing M 2, qui calcule en temps polynomial Question: L(M 1 ) L(M 2 ) =? 4. Donnée: Un ensemble fini de clauses de Horn S du premier ordre Question: La clause vide est déductible de S par résolution et factorisation binaires? 5. Donnée: Une machine de Turing M telle que, pour tout état q, δ(q, B) = q, B, (elle écrit toujours B quand B est lu sur le ruban) et un mot w. Question: M s arrête-t-elle sur la donnée w? 6. Donnée: Une machine de Turing M Question: L(M) contient deux mots w 1, w 2 tels que w 2 = 2 w 1 + 1? 7. Donnée: Deux machines de Turing M 1, M 2 Question: L(M 1 ) L(M 2 ) ou L(M 2 ) L(M 1 )? 8. Donnée: Un automate cellulaire A Question: L automate s arrête-t-il en partant de la configuration γ 0 telle que γ 0 (0) = q 0 et γ(z) = q 1 pour z 0? 9. Donnée: Une machine de Turing M qui s arrête sur toutes les données. Question: L(M) est infini? 10. Donnée: Un ensemble fini de clauses de Horn S sur le seul prédicat binaire P et qui sont ou bien des formules réduites à un littéral, ou bien des clauses binaires P (u, v) P (u, v ) avec u sous-terme de u et v sous-terme de v. Question: S satisfaisable? 11. Donnée: Une fonction récursive primitive f à n arguments Question: Pour tous k 1,..., k n N, f(k 1,..., k n ) = 0? 1

Définitions Une machine de Turing M calcule en temps polynomial, s il existe un polynome P M à coefficients entiers, tel que, pour tout mot w, le nombre d étapes de calcul de M sur la donnée w est borné par P M ( w ). Une clause de Horn (en calcul des prédicats) est une disjonction de littéraux, dont au plus un est positif. On peut donc écrire une clause de Horn φ 1 φ n φ ou bien φ 1 φ n, où φ 1,..., φ n, φ sont des formules atomiques. Un automate cellulaire est donné par un ensemble fini d états Q, deux états distincts q 0, q 1 Q et une application δ de Q 3 dans Q {s}. Une configuration de l automate est une application γ de Z dans Q. Étant donnés un automate cellulaire A et une configuration γ, la configuration suivante de A est la configuration γ telle que, pour tout z Z, γ (z) = δ(γ(z 1), γ(z), γ(z + 1)). On note alors γ A γ. L automate s arrête en partant de la configuration γ 0, s il existe une suite de configurations γ 0 A A γ n et un entier z Z tels que γ n (z) = s. 2

Solution 1. C est décidable: il s agit de vérifier que Π est bien un arbre de preuve de S C. Pour cela, il faut et il suffit que: (a) Les feuilles sont étiquetées par des renommages des clauses de S (b) La racine est étiquetée par un renommage C (c) Pour chaque noeud étiqueté par C 1, qui n est pas une feuille, ou bien il a un fils unique, étiqueté C 2 tel que C 1 est obtenu par factorisation binaire de C 2, ou bien il a exactement deux fils étiquetés C 2, C 3 et C 1 est obtenu par résolution binaire à partir de C 2, C 3 Il suffit donc de parcourir l arbre en effectuant ces vérifications, qui sont toutes décidables; par exemple pour la résolution binaire, il suffit de parcourir les littéraux des deux clauses parentes et, pour chaque paire de littéraux complémentaires unifiables, tester si la clause obtenue est, à renommage près, la clause obtenue par résultion sur les deux littéraux en question. Au moins un des tests doit être un succès. 2. C est indécidable. On réduit le problème de la satisfaisabilité d un ensemble fini de clauses du premier ordre S. En choisissant S 2 = { } et S 1 = S, on note que S est satisfaisable si et seulement si, pour toute clause C S 2, S 1 = C. 3. C est indécidable. On réduit le probème du vide du langage reconnu par une machine de Turing M (problème indécidable par le théorème de Rice): on choisit pour M 2 une machine qui accepte tous les mots (elle calcule en temps constant) et M 1 = M. On a bien L(M 1 ) L(M 2 ) = ssi L(M) =. 4. C est indécidable: la satisfaisabilité d un ensemble fini de clauses de Horn du premier ordre a été montrée indécidable: on peut remarquer que, dans la preuve du cours d indécidabilité de la satisfaisabilité d une formule du premier ordre, la formule construite est une conjonction de clauses de Horn. Or, par complétude réfutationnelle de la résolution+ factorisation binaires, un ensemble de clauses S est insatisfaisable ssi on peut en déduire la clause vide. 5. C est décidable: Sur la donnée w, toutes les configurations accessibles sont de la forme (q, w 1, w 2 ) où w 1 w 2 $Σ w (ɛ + B). Il y en a donc au plus Σ w +2 ( w + 2) ( Q + 2). Donc la machine M ne s arrête pas sur w si et seulement si, il existe une configuration accessible γ telle que γ 0 γ + γ. On peut alors décider l arrêt de la manière suivante: sur < M, w >, M 0 calcule d abord un compteur c = Σ w +2 ( w +2) ( Q +2). On simule ensuite au plus c étapes de M sur w. Si M passe dans un état d arrêt, alors M 0 accepte. Si le nombre d étapes de calcul atteint c sans que M se soit arrêté, M 0 rejette. 6. C est indécidable: il suffit d appliquer le théorème de Rice. Cette propriété est en effet une propriété non-triviale des langages récursivement énumérables puisque le langage vide ne la satisfait pas, alors que le langage plein la satisfait. 7. C est indécidable: Par le théorème de Rice, le problème de savoir si, étant donné M, L(M) a ou bien a L(M) est indécidable. En effet, cette propriété est non triviale puisque a la satisfait et b ne la satisfait pas. On peut ensuite réduire ce problème à celui de l énoncé en choisissant pour M 2 une machine qui accepte a. 8. C est indécidable: on réduit le problème de l arrêt sur le mot vide. Étant donnée la machine M = (Q, q 0, Σ, {$, B}, δ), on construit l automate cellulaire A comme suit: Q A = Q Σ Σ, q0 A = (q 0, $), q 1 = B et δ A est défini par: δ A (a, b, c) = b si a, b, c Σ 3

δ A (a, b, (q, c)) = δ(a, (q, b), c) = δ((q, a), b, c) = s dans tous les autres cas. (q, b) Si δ(q, c) = q, c,, q / {accept, reject} s Si δ(q, c) = q, c,, q {accept, reject} b Sinon (q, b ) Si δ(q, b) = q, b,, q / {accept, reject} s Si δ(q, b) = q, b,, q {accept, reject} b Si δ(q, b) = q, b, d, d {, } (q, b) Si δ(q, a) = q, a,, q / {accept, reject} s Si δ(q, a) = q, a,, q {accept, reject} b Sinon Le codage c(γ) d une configuration γ = (q, w 1, w 2 ) de M est défini par: c(γ)(n) = a si 0 n w 1 1 et a est la n + 1ième lettre de w 1 c(γ)( w 1 ) = (q, a) si a est la première lettre de w 2, ou bien B si w 2 = ɛ c(γ)(n) = a si w 1 < n < w 1 + w 2 et a est la lettre en position n w 1 + 1 dans w 2 c(γ)(z) = B dans les autres cas. On montre alors que γ M γ entraine c(γ) A c(γ ). De plus. si γ est une configuration finale, il existe z Z (la position de la tête de lecture dans la configuration finale) telle quec(γ)(z) = s et c(γ 0 ) = γ A 0. Il en résulte que M s arrête sur le mot vide si et seulement si A s arrête en partant de γ A 0. 9. C est indécidable. On réduit le problème de l arrêt. Soit M et w une instance de ce problème. On construit M comme suit: M prend en entrée un compteur c. M simule c étapes de M sur w. Si M s arrête en moins de c étapes, M accepte, sinon elle rejette. M accepte c ssi M s arrête en moins de c étapes sur w. L(M ) = {c N c longueur du calcul de M sur w} est donc infini ssi M s arrête sur w. 10. C est indécidable. On réduit le problème de correspondance de Post modifié. Soit (u 1, v 1 ),..., (u n, v n ) une instance de PCP modifié. À chaque lettre de l alphabet, on associe un symbole de fonction d arité 1. ũ(x) est un terme à une variable x défini par récurrence par ɛ = x, ã u = a(ũ). On choisit pour ensemble de clauses S: Les littéraux P (ũ 1 (0), ṽ 1 (0)), P (x, x) Les clauses P (x, y) P (ũ i (x), ṽ i (y)) pour tout i. S est satisfaisable ssi S a un modèle de Herbrand (par le théorème de Herbrand). récurrence sur k, tout modèle de S contient Par H = {P ( u ik u i1 (0), v ik v i1 (0)) i 1 = 1, i 2,..., i k {1,..., n}} Ainsi, si S a un modèle, alors ce modèle satisfait x. P (x, x) et donc, pour toute séquence i 1 = 1, i 2,..., i k, u ik u i1 v ik v i1, et donc PCP modifié n a pas de solution. Réciproquement, si S n a pas de modèle, alors H = S. Or, par construction, H satisfait toutes les clauses, excepté peut-être x. P (x, x). Il existe donc une formule atomique de H de la forme P (t, t), ce qui entraine que PCP modifié a une solution. 4

11. C est indécidable. Idée de la preuve: On réduit le problème de l arrêt sur le mot vide. M une machine de Turing. On construit la fonction récursive primitive g qui à n associe le codage de la configuration de M après n étapes de calcul, si M ne s arrête pas en moins de n étapes et 0 sinon: g(0) est le codage de la configuration initiale et g(n + 1) s obtient à partir de g(n) en utilisant uniquement des tests d égalité, la multiplication, l addition, le quotient et le reste. g est ainsi récursive primitive. Soit f(n) = (g(n) = 0). autrement dit, f(n) = 0 si M ne s arrête pas en moins de n étapes et f(n) = 1 sinon. f est la fonction nulle si et seulement si M ne s arrête pas sur le mot vide. 5