Décidabilité Et Complexité

Décidabilité Et Complexité

Chapitre 1 Informatique th´eorique: D´ecidabilit´eet Complexit´e 0 Olivier Bournez, Ecole´ polytechnique, [email protected], Gilles Dowek, Ecole´ polytechnique, [email protected], R´emi Gilleron, Lab- oratoire d'Informatique Fondamentale de Lille (LIFL), [email protected], Serge Grigorieff (Coordinateur), LIAFA, CNRS & Universit´e Paris Diderot, [email protected], Jean-Yves Marion (Coordinateur), Nancy-Universit´e, LORIA [email protected] Simon Perdrix, PPS, CNRS & Universit´eParis Diderot, [email protected]. Sophie Tison, Laboratoire d'Informatique Fondamen- tale de Lille (LIFL), [email protected] 1 2CHAPITRE 1. INFORMATIQUE THEORIQUE´ : DECIDABILIT´ E´ ET COMPLEXITE´ Sommaire 1 Informatique th´eorique: D´ecidabilit´eet Complexit´e 1 1.1 Introduction `al'informatique fondamentale . 4 1.2 Emergence de la notion de calculabilit´e. 6 1.2.1 Mod`elesde calcul discrets par sch´emasde programmes 6 1.2.2 Mod`elesde calcul discrets par machines s´equentielles . 7 1.2.3 Mod`elesde calcul discrets par machines `aregistres `a acc`esal´eatoire . 8 1.2.4 Grammaires de type 0 de Chomsky . 9 1.2.5 Mod`elede calcul discret `aparall´elismemassif : les automates cellulaires . 9 1.2.6 Un mod`ele `apart : le Lambda-calcul . 11 1.2.7 La th`esede Church et ses diff´erentes versions . 12 1.2.8 Axiomatisation de la th`esede Church par Gandy . 13 1.3 Th´eoriede la calculabilit´e . 14 1.3.1 Calculs qui ne s'arr^etent pas . 14 1.3.2 Trois th´eor`emes \positifs" en calculabilit´epartielle . 15 1.3.3 Deux th´eor`emes\n´egatifs"en calculabilit´epartielle . 17 1.4 Formalisation de la notion d'algorithme . 18 1.4.1 D´enotationnelversus op´erationnel . 18 1.4.2 Compl´etudeop´erationnelle . 18 1.4.3 L'axiomatisation de la notion d'algorithme par Gurevich 20 1.4.4 Compl´etudeop´erationnelleet r´ecurrence. 21 1.5 Calculabilit´esur les r´eels. 22 1.5.1 Analyse r´ecursive . 22 1.5.2 Mod`elede Blum, Shub et Smale . 23 1.5.3 \General Purpose Analog Computer" de Shannon . 23 1.5.4 Mod`elesde calcul `atemps continu . 24 1.5.5 Calculabilit´equantique . 24 1.5.6 Le probl`emede l’unification de ces mod`eles . 25 3 4 SOMMAIRE 1.5.7 Calculabilit´eau-del`ade la th`esede Church ? . 26 1.6 D´eductionet calcul : la nature algorithmique des preuves constructives . 27 1.6.1 Les preuves constructives comme langage de program- mation . 27 1.6.2 Les logiques et leurs syst`emesformels . 28 1.6.3 Les preuves constructives et leurs notations . 29 1.6.4 R´eductionde preuve constructive . 34 1.6.5 L'interpr´etationde Brouwer-Heyting-Kolmogorov . 35 1.6.6 Th´eories. 37 1.6.7 Autres extensions . 39 1.6.8 Elimination des coupures et r´esultatsde coh´erence . 40 1.7 D´ecidableversus ind´ecidable. 41 1.7.1 D´emonstrationautomatique : d´ecidabilit´eet th´eories logiques . 41 1.7.2 Quelques autres probl`emes . 44 1.7.3 D´ecideravec une bonne probabilit´ede r´eponse exacte 45 1.8 A l'int´erieurde la calculabilit´e: la th´eoriede la complexit´e . 46 1.8.1 Limites des ressources physiques . 46 1.8.2 Complexit´ede quelques probl`emes . 47 1.8.3 Complexit´ed'un probl`eme . 49 1.8.4 Classes de complexit´e . 51 1.8.5 Caract´erisationdes classes de complexit´e . 53 1.8.6 Complexit´eet repr´esentation des objets . 54 1.9 Complexit´ealgorithmique de l'information . 54 1.10 Une op´erationnalit´eefficace: les automates finis . 56 1.10.1 Les automates finis de mots . 56 1.10.2 Les extensions des automates de mots . 62 1.10.3 Automates finis pour les structures discr`etes. 65 1.10.4 Automates et applications . 67 1.1 Introduction `al'informatique fondamentale L'informatique fondamentale est un vaste sujet, comme en t´emoignent les 2 283 et 3 176 pages des \Handbooks" [vL90, AGM01]. Couvrir en quelques dizaines de pages, l'ensemble de l'informatique fondamentale nous a sembl´e une entreprise hors de notre port´ee.De ce fait, nous nous sommes concentr´es sur la notion de calcul, sujet qui refl`etele go^utet la passion des auteurs de 1.1. INTRODUCTION A` L'INFORMATIQUE FONDAMENTALE 5 ce chapitre. La notion de calcul est omnipr´esente et aussi ancienne que les math´ematiques: • Calculs sur les nombres entiers : algorithme d'Euclide calculant le plus grand commun diviseur de deux nombres entiers, crible d'Eratosth`ene donnant les nombres premiers, etc. • Calculs sur les nombres r´eels: m´ethode de Simpson de calcul num´erique d'une int´egrale,m´ethode de Newton d'approximation d'un z´erod'une fonction sur les r´eels,etc. • Calculs g´eom´etriques: aires et volumes divers, algorithme de For- tune donnant le diagramme de Vorono¨ı d'un ensemble de n points A1;:::;An du plan (ce diagramme d´ecompose le plan en n r´egions d’influence de formes polygonales : la i-`emer´egionest form´eedes points du plan plus proches de Ai que des autres points Aj, j 6= i), etc. • Tri d'une famille d'objets selon un certain ordre : tris par insertion, ´echange (tri bulle, quicksort), s´election(tri par tas), fusion, distribu- tion. Knuth [Knu73] y consacre 388 pages ! • Calculs sur les textes : recherche de motifs (algorithme de Knuth, Morris & Pratt), compression de texte (algorithme de Ziv & Lempell). • Calculs dans les graphes finis : plus court chemin entre deux sommets (algorithme de Dijkstra), couverture minimale (i.e. ensemble C de sommets tels que tout sommet soit dans C ou voisin direct d'un point de C). Ce n'est qu’`apartir de la premi`eremoiti´edu 20i`emesi`ecleque la notion de mod`elede calcul a ´et´ed´efinieet ´etudi´ee. Nous pr´esenterons de nom- breux mod`elesde calcul au cours de ce chapitre. La vari´et´ede ces mod`eles montre la difficult´e`aappr´ehender la nature et la diversit´edes calculs. Il y a les calculs m´ecaniqueset s´equentiels, les calculs quantiques, et tous les autres calculs qui s'appuient sur des hypoth`esesphysiques de mod´elisation de la nature. Un mod`elede calcul est une repr´esentation math´ematique de ce qui est calculable suivant certaines hypoth`eses sur le monde physique qui nous entoure. Ainsi face `aface, il y a des mod`elesde calcul et des r´ealisationsconcr`etes (les ordinateurs. ). Cette dualit´er´esideaussi dans le rapport entre syntaxe et s´emantique, entre l'objet manipul´eet son sens. Notre premi`ere´etape nous conduira `aexplorer diff´erents mod`elesqui calcu- lent les m^emes fonctions que les machines de Turing, conduisant `ala th`ese 6 SOMMAIRE de Church-Kleene-Turing. Ceci ´etant, chacun de ces mod`elespropose une vision particuli`erequi tisse une notion de calcul. Il y a les calculs s´equentiels et le d´eveloppement de la calculabilit´e.La th´eoriede la calculabilit´ed´efinit une repr´esentation abstraite et alg´ebriquede ce qui est calculable. Un de ses objectifs est ainsi de distinguer ce qui est calculable/d´ecidablede ce qui ne l'est pas, c'est `adire qui est ind´ecidable.Il y a aussi les calculs par automates cellulaires qui sont des machines massivement parall`eleset synchrones. Bien que conceptuellement diff´erents des mod`eless´equentiels, ils calculent pour- tant exactement les m^emesfonctions que les machines de Turing. La cal- culabilit´eest une formalisation math´ematiquede ce qui est calculable. Elle exprime un point de vue d´enotationel.C'est seulement dans les ann´ees1980 que la notion d'algorithme, consid´er´eecomme objet d'´etude,a r´eellement vu le jour. Cette dualit´ed´enotation/intention se refl`eteen logique avec l'´emergencede la th´eoriede la d´emonstration,o`ules d´emonstrationssont des algorithmes au travers de l'isomorphisme de Curry-Howard. 1.2 Emergence de la notion de calculabilit´e Il y a plusieurs ouvrages qui sont un bon point de d´epartsur la calculabilit´e pour le lecteur curieux. Les livres de Rogers [Rog67] et Odiffredi [Odi89] sont des classiques qui traitent de la calculabilit´epour le lecteur qui a un penchant pour les math´ematiques.Le livre de Jones [Jon97] a une approche plus orient´eeth´eoriede la programmation et traite de la complexit´e.Le livre de Savage [Sav98] se concentre sur les aspects machines et algorithmiques. Enfin, m^emesi le livre de Papadimitriou [Pap94] se consacre essentiellement `ala complexit´e,il offre une bonne introduction `ala calculabilit´e. 1.2.1 Mod`elesde calcul discrets par sch´emasde programmes R´ecursivit´eprimitive. Les premi`erestentatives de formalisation math´ematique de la notion de calculabilit´ese sont faites en consid´erant divers proc´ed´esde constructions de fonctions `apartir d'autres fonctions. En termes actuels de programmation, ces constructions correspondent `ades instructions bien connues. C'est ainsi que la premi`ereapproche math´ematiquea ´et´ecelle des fonctions appel´eesaujourd'hui \r´ecursives primitives". Sur les entiers, il s'agit des fonctions que l'on peut obtenir `apartir de fonctions tr`essimples (fonction constante de valeur 0, fonction successeur, fonctions projections k N ! N) par composition et d´efinitionpar r´ecurrence. En termes de pro- grammation imp´erative, ce sont les fonctions programmables avec la seule boucle FOR (donc sans boucle WHILE). Cependant, on s'est assez vite aper¸cu 1.2. EMERGENCE DE LA NOTION DE CALCULABILITE´ 7 (Ackermann, 1928) que cette famille ´etaittrop petite.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    96 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us