Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/



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

Machines virtuelles Cours 1 : Introduction

Représentation des Nombres

"Calcul et hyper-calcul"

Introduction à l étude des Corps Finis

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

Réalisabilité et extraction de programmes

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

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

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

La mesure de Lebesgue sur la droite réelle

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Calcul fonctionnel holomorphe dans les algèbres de Banach

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

Utilisation des tableaux sémantiques dans les logiques de description

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

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

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Chapitre VI- La validation de la composition.

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

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

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

Table des matières. Introduction

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

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

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Informatique Machines à calculer en théorie et en pratique

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Correction du baccalauréat STMG Polynésie 17 juin 2014

Sur certaines séries entières particulières

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

Probabilités sur un univers fini

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

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

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Une forme générale de la conjecture abc

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

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

Cours d arithmétique Première partie

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

Peut-on tout programmer?


Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

1 Définition et premières propriétés des congruences

Chapitre VI - Méthodes de factorisation

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

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

Dualité dans les espaces de Lebesgue et mesures de Radon finies

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

I. Polynômes de Tchebychev

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

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

Image d un intervalle par une fonction continue

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

Cours d initiation à la programmation en C++ Johann Cuenin

Logique. Plan du chapitre

Informatique Générale

Algorithmique et Programmation Fonctionnelle

Correction du baccalauréat S Liban juin 2007

1.1 Rappels sur le produit cartésien Relations Graphes dirigés Arbres Exercices Motivation...

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

Analyse de sécurité de logiciels système par typage statique

Cours d Algorithmique et de Langage C v 3.0

Algèbre binaire et Circuits logiques ( )

Programmes des classes préparatoires aux Grandes Ecoles

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

Date : Tangram en carré page

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Correction de l examen de la première session

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

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

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Qu est-ce qu une probabilité?

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

Extrait du poly de Stage de Grésillon 1, août 2010

Chapitre 7. Récurrences

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

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

Cours 1 : La compilation

n N = u N u N+1 1 u pour u 1. f ( uv 1) v N+1 v N v t

Espérance conditionnelle

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

Intelligence Artificielle et Robotique

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

PRIME D UNE OPTION D ACHAT OU DE VENTE

Cours de Probabilités et de Statistique

Fibonacci et les paquerettes

MIS 102 Initiation à l Informatique

ECTS INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

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

Entraînement au concours ACM-ICPC

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Calcul quantique : algèbre et géométrie projective

Polynômes à plusieurs variables. Résultant

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Transcription:

Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/

Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes binaires question générique dont la réponse est oui/non Encodage chaque instance est codée par un mot sur un alphabet Σ instances positives : les mots qui encodent une instance pour laquelle la réponse est oui Un problème est représenté par le langage de ses instances positives nous ferons l amalgame des deux notions dans ce cours Problèmes non-calculables 2 / 21

Problèmes et classes de décidabilité Définitions Définition (Langages récursifs) La classe de décidabilité R est l ensemble des langages décidables par une machine de Turing. Vocabulaire : la classe R est aussi appelée la classe des langages (problèmes) décidés par machine de Turing, récursifs, décidables, calculables, solubles algorithmiquement. Problèmes non-calculables 3 / 21

Problèmes et classes de décidabilité Définitions Définition (Langages récursivement énumérables) La classe de décidabilité RE est l ensemble des langages acceptés par une machine de Turing. Vocabulaire : la classe RE est la classe des langages (problèmes) acceptés par machine de Turing, partiellement récursifs, partiellement décidables, partiellement calculables, partiellement solubles algorithmiquement. Lemme R RE Problèmes non-calculables 4 / 21

Premières briques Un premier langage indécidable Est-ce qu il existe un langage L R? oui (argument de dénombrement) Mais nous voulons en exhiber un. Notations : L ensemble des MT est dénombrable : M 1, M 2,... L ensemble des mots (alphabet commun) : w 1, w 2,... Lemme L 0 = { w w = w i M i n accepte pas w i } n est pas dans la classe RE. Problèmes non-calculables 5 / 21

Premières briques Un deuxième langage indécidable Lemme Le complément d un langage de la classe R est un langage de la classe R. Lemme Si un langage L et son complément L sont tous deux dans RE, alors à la fois L et L sont dans R. Il y a donc trois cas possibles : 1 L et L R, 2 L RE et L RE, 3 L RE et L RE R. Problèmes non-calculables 6 / 21

Premières briques Un deuxième langage indécidable Lemme Le langage est dans la classe RE. L 0 = { w w = w i M i accepte w i } Théorème Le langage L 0 est indécidable (n appartient pas à R) mais appartient à RE. Problèmes non-calculables 7 / 21

Démontrer l indécidabilité : réduction La technique de la réduction Pour montrer que L 2 R, sachant que L 1 R, 1 On démontre que s il existe un algorithme qui décide le langage L 2, alors il existe aussi un algorithme qui décide le langage L 1. Cela se fait en donnant un algorithme (formellement une machine de Turing s arrêtant toujours) qui décide le langage L 1 en se servant comme d un sous-programme d un algorithme décidant L 2. 2 On conclut que L 2 n est pas décidable (L 2 R) car la réduction de L 1 vers L 2 montre que si L 2 était décidable L 1 le serait aussi, ce qui contredit l hypothèse que L 1 est un langage indécidable. Ce type d algorithme est appelé une réduction de L 1 à L 2. En effet, il réduit la décidabilité de L 1 à celle de L 2. Problèmes non-calculables 8 / 21

Exemple Démontrer l indécidabilité : réduction Le langage universel LU LU = { < M, w > M accepte w } est indécidable. (Réduction à partir du langage L 0 ) Problèmes non-calculables 9 / 21

Exemples de problèmes indécidables Des problèmes indécidables Le problème de l arrêt est indécidable. (Réduction à partir de LU) H = { < M, w > M s arrête sur w } Problèmes non-calculables 10 / 21

Exemples de problèmes indécidables Des problèmes indécidables Le problème de déterminer si un programme écrit dans un langage de programmation usuel (par exemple en C, ou en Java) s arrête pour des valeurs fixées de ses données est indécidable. (Réduction à partir du problème de l arrêt pour les machines de Turing) Problèmes non-calculables 11 / 21

Exemples de problèmes indécidables Des problèmes indécidables Le problème de déterminer si une machine de Turing s arrête lorsque son mot d entrée est le mot vide (problème de l arrêt sur mot vide) H = { < M > M s arrête sur le mot vide } est indécidable. (La réduction se fait à partir du problème de l arrêt) Problèmes non-calculables 12 / 21

Exemples de problèmes indécidables Des problèmes indécidables Le problème de déterminer si le langage accepté par une machine de Turing est vide (langage accepté vide) est indécidable. (Réduction à partir de LU) L = { < M > L(M) = } Problèmes non-calculables 13 / 21

Exemples de problèmes indécidables Théorème de Rice Déterminer si le langage accepté par une machine de Turing vérifie une propriété non triviale (i.e. une propriété qui n est ni vraie pour tout langage, ni fausse pour tout langage) est indécidable (cf TD) Problèmes non-calculables 14 / 21

Propriétés des langages RE Les propriétés des langages récursivement énumérables Les langages récursivement énumérables sont : les langages calculés par une machine de Turing, les langages énumérés par une procédure effective (ce qui explique l appellation récursivement énumérable ). Problèmes non-calculables 15 / 21

Propriétés des langages RE Les langages calculés par une machine de Turing Définition Soit une machine de Turing M. Si M s arrête sur un mot d entrée u, dénotons par f M (u) le mot calculé par M pour u. Le langage calculé par M est alors l ensemble de mots { w u tel que M s arrête pour u et w = f M (u) } Théorème Un langage est calculé par une machine de Turing si et seulement si il est récursivement énumérable (accepté par une machine de Turing). Problèmes non-calculables 16 / 21

Propriétés des langages RE Les langages énumérables par une procédure effective Théorème Un langage est énumérable par une procédure effective si et seulement si il est récursivement énumérable (accepté par une machine de Turing). Problèmes non-calculables 17 / 21

Problèmes indécidables divers Le dixième problème de Hilbert Trouver un algorithme pour décider si un système d équations diophantiennes (polynômes à coefficients entiers) a une solution en nombres entiers Réponse : il n y a pas de solution, le langage { p Z[X 1,..., X n ] x 1,..., x n Z, p(x 1,..., x n ) = 0 } n est pas décidable. (Théorème de Youri Matiiassevitch, démontré en 1970) Question : RE? Problèmes non-calculables 18 / 21

Arithmétique Problèmes indécidables divers La question de savoir si oui ou non une proposition énoncée dans le langage de l arithmétique (avec au moins les deux opérations, + et ) est vraie est indécidable. (c est une conséquence du premier théorème d incomplétude de Gödel, ou du théorème de Tarski). Mais l arithmétique de Presburger (arithmétique entière avec multiplication restreinte au cas où l un des opérandes est une constante) est décidable. Problèmes non-calculables 19 / 21

Problèmes indécidables divers Que faire après tant de mauvaises nouvelles? La vérification automatique de programme pour des propriétés non-triviales est impossible. Mais... cela ne vaut pas dire qu il n existe pas d outil de vérification parfois spécialisés pour un certain type de programme vérification du système de vol des airbus A380 par l analyseur statique ASTRÉE parfois demandant l intervention humaine annotation de type dans les programmes preuve interactive avec un assistant de preuve Problèmes non-calculables 20 / 21

Plan Problèmes indécidables divers 1 Problèmes et classes de décidabilité 2 Premières briques 3 Démontrer l indécidabilité : réduction 4 Exemples de problèmes indécidables 5 Propriétés des langages RE 6 Problèmes indécidables divers Problèmes non-calculables 21 / 21