Cours INF561
de l’Ecole Polytechnique
Algorithmes et Complexit´e
Olivier Bournez
2
Table des mati`eres
1 Introduction 11
2 Pr´eliminaires 13
2.1 Alg`ebre ................................ 13
2.2 Calculsbool´eens ........................... 13
2.3 Graphes................................ 14
2.4 Arbres................................. 15
2.5 Alphabets, Mots, Langages . . . . . . . . . . . . . . . . . . . . . 16
2.6 Changement d’alphabet . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Codage,D´ecodage .......................... 17
2.8 Logique Propositionnelle . . . . . . . . . . . . . . . . . . . . . . . 19
2.8.1 Syntaxe de la logique propositionnelle . . . . . . . . . . . 19
2.8.2 S´emantique de la logique propositionnelle . . . . . . . . . 19
2.9 Structures du premier ordre . . . . . . . . . . . . . . . . . . . . . 20
2.9.1 Signature ........................... 20
2.9.2 Termeclos .......................... 21
2.9.3 S´emantique .......................... 21
2.9.4 Combinaisons bool´eennes . . . . . . . . . . . . . . . . . . 22
2.9.5 Isomorphisme de structures . . . . . . . . . . . . . . . . . 23
2.10 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Quelques algorithmes s´equentiels 25
3.1 Quelquesexemples .......................... 25
3.1.1 L’algorithme d’Euclide . . . . . . . . . . . . . . . . . . . . 25
3.1.2 L’algorithme de Syracuse . . . . . . . . . . . . . . . . . . 26
3.1.3 L’ensemble de Mandelbrot . . . . . . . . . . . . . . . . . . 26
3.1.4 Algorithme de Bissection . . . . . . . . . . . . . . . . . . 27
3.1.5 Le probl`eme du sac `a dos eel . . . . . . . . . . . . . . . . 28
3.1.6 ´
Equations polynomiales `a une inconnue . . . . . . . . . . 28
3.1.7 ´
Equations lin´eaires `a n-inconnues : l’´elimination de Gauss 29
3.1.8 ´
Equations polynomiales `a n-inconnues . . . . . . . . . . . 30
3.2 Une discussion de cosm´etique . . . . . . . . . . . . . . . . . . . . 31
3.2.1 Notre ´ecriture des algorithmes . . . . . . . . . . . . . . . 31
3.2.2 ´
Etats ´el´ementaires . . . . . . . . . . . . . . . . . . . . . . 31
3
4TABLE DES MATI `
ERES
3.3 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 34
4 Qu’est-ce qu’un algorithme s´equentiel ? 37
4.1 Introduction.............................. 37
4.2 Premierpostulat ........................... 38
4.3 Secondpostulat............................ 38
4.4 Structures versus emoire . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Mises`ajour.............................. 40
4.6 Troisi`eme postulat . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.7 D´efinition formelle d’un d’algorithme . . . . . . . . . . . . . . . . 41
4.8 Une forme normale pour les algorithmes . . . . . . . . . . . . . . 41
4.8.1 Termes critiques . . . . . . . . . . . . . . . . . . . . . . . 41
4.8.2 Aectation .......................... 42
4.8.3 Mise en parall`ele . . . . . . . . . . . . . . . . . . . . . . . 42
4.8.4 Construction “si . . .alors” . . . . . . . . . . . . . . . . . . 43
4.8.5 Formenormale ........................ 43
4.9 Notion d’algorithme sur une structure M............. 45
4.9.1 Terminologie ......................... 45
4.9.2 Conventions.......................... 46
4.10 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 46
5 Quelques mod`eles s´equentiels, et leur ´equivalence 47
5.1 Machines de Turing . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1 Description .......................... 47
5.1.2 Formalisation......................... 48
5.1.3 Une machine de Turing est un algorithme . . . . . . . . . 49
5.2 Machines de Turing sur une structure M.............. 50
5.2.1 Description .......................... 51
5.2.2 Formalisation......................... 52
5.2.3 Une machine de Turing sur une structure Mest un algo-
rithme sur M......................... 53
5.3 Robustesse du mod`ele . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.1 Structures finies comme structures arbitraires . . . . . . . 54
5.3.2 Des structures finies vers les bool´eens . . . . . . . . . . . 54
5.3.3 Programmer avec des machines de Turing . . . . . . . . . 55
5.4 Machines `a k2piles........................ 56
5.4.1 Sur une structure finie . . . . . . . . . . . . . . . . . . . . 56
5.4.2 Sur une structure arbitraire . . . . . . . . . . . . . . . . . 57
5.5 Cas des structures finies : Machines `a compteurs . . . . . . . . . 57
5.6 MachinesRAM ........................... 59
5.6.1 Introduction ......................... 59
5.6.2 Structures finies . . . . . . . . . . . . . . . . . . . . . . . 60
5.6.3 Sur une structure arbitraire . . . . . . . . . . . . . . . . . 60
5.6.4 ´
Equivalence avec les machines de Turing . . . . . . . . . . 62
5.7 ´
Equivalence entre algorithmes et machines de Turing . . . . . . . 64
5.8 Synth`ese du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . 65
TABLE DES MATI `
ERES 5
5.9 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 66
6 Calculabilit´e 67
6.1 Introduction.............................. 67
6.2 Existence d’une machine universelle . . . . . . . . . . . . . . . . 68
6.2.1 Algorithmes et Arbres . . . . . . . . . . . . . . . . . . . . 68
6.2.2 Machine universelle . . . . . . . . . . . . . . . . . . . . . 68
6.3 Langages et probl`emes (semi-)d´ecidables . . . . . . . . . . . . . . 69
6.3.1 Probl`emes de ecision . . . . . . . . . . . . . . . . . . . . 69
6.3.2 Langages semi-d´ecidables . . . . . . . . . . . . . . . . . . 70
6.3.3 Langages ecidables . . . . . . . . . . . . . . . . . . . . . 71
6.3.4 Semi-d´ecision et ´enum´eration . . . . . . . . . . . . . . . . 72
6.3.5 Propri´et´es de clˆoture . . . . . . . . . . . . . . . . . . . . . 72
6.4 Ind´ecidabilit´e ............................. 73
6.4.1 Un premier probl`eme ind´ecidable . . . . . . . . . . . . . . 73
6.4.2 Notion de r´eduction . . . . . . . . . . . . . . . . . . . . . 74
6.4.3 Quelques autres probl`emes ind´ecidables . . . . . . . . . . 75
6.4.4 Th´eor`eme de Rice . . . . . . . . . . . . . . . . . . . . . . 76
6.4.5 Notion de compl´etude . . . . . . . . . . . . . . . . . . . . 77
6.5 Probl`emes ind´ecidables naturels . . . . . . . . . . . . . . . . . . . 77
6.5.1 Le dixi`eme probl`eme de Hilbert . . . . . . . . . . . . . . . 77
6.5.2 Le probl`eme de la correspondance de Post . . . . . . . . . 78
6.5.3 D´ecidabilit´e/Ind´ecidabilit´e de th´eories logiques . . . . . . 78
6.6 Th´eor`eme du point fixe . . . . . . . . . . . . . . . . . . . . . . . 79
6.7 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 80
7 La notion de circuit 83
7.1 La notion de circuit . . . . . . . . . . . . . . . . . . . . . . . . . 83
7.1.1 Circuits bool´eens . . . . . . . . . . . . . . . . . . . . . . . 83
7.1.2 Relations entre taille et profondeur . . . . . . . . . . . . . 86
7.1.3 EetShannon......................... 87
7.1.4 Bornes inf´erieures . . . . . . . . . . . . . . . . . . . . . . 88
7.1.5 Circuits `a msorties ..................... 89
7.1.6 Probl`eme du temps parall`ele . . . . . . . . . . . . . . . . 89
7.1.7 Circuits sur une structure M................ 89
7.2 Circuits et algorithmes . . . . . . . . . . . . . . . . . . . . . . . . 90
7.2.1 Principe fondamental . . . . . . . . . . . . . . . . . . . . 90
7.2.2 Premi`eres applications : ind´ecidabilit´e . . . . . . . . . . . 94
7.2.3 Premi`eres applications : bornes inf´erieures . . . . . . . . . 94
7.3 Notes bibliographiques . . . . . . . . . . . . . . . . . . . . . . . . 95
8 Complexit´e en temps 97
8.1 Temps eterministe . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.1.1 Mesure du temps de calcul . . . . . . . . . . . . . . . . . 97
8.1.2 Notation TIME(t(n)) . . . . . . . . . . . . . . . . . . . . 98
8.1.3 Version effective de la th`ese de Church . . . . . . . . . . . 99
1 / 199 100%