UFR Mathématiques
Théorie de la complexité
Notes de cours
Dimitri Petritis
Rennes
Mars 2017
Master de cryptographie
Dimitri Petritis
Institut de recherche mathématique de Rennes
Université de Rennes 1 et CNRS (UMR6625)
Campus de Beaulieu
35042 Rennes Cedex
France
Mathematics subject classification (2010): 03-00 05-00 06-00 94-00
c
2012–2017 D. Petritis
Table des matières
Table des matières iii
1 Relations et graphes 1
1.1 Rappels sur le produit cartésien .................. 1
1.2 Relations ............................... 2
1.3 Graphes dirigés ........................... 7
1.4 Arbres ................................ 10
1.5 Exercices ............................... 15
2 Langages et grammaires formels 21
2.1 Motivation .............................. 21
2.2 Grammaires formelles ....................... 22
2.2.1 Aspects combinatoires de A............... 22
2.2.2 Grammaires ......................... 23
2.3 Hiérarchie de Chomsky ...................... 24
2.4 Exercices ............................... 25
3 Des langages aux automates 27
3.1 Bref aperçu historique ....................... 27
3.1.1 Le dixième problème de Hilbert ............. 27
3.2 La logique comme un langage ................... 29
3.2.1 Logique booléenne ..................... 29
3.2.2 Logique du premier ordre ................. 31
3.3 Structures, modèles, théories, déductions ............ 32
3.4 Intermède : arithmétiques de Robinson et de Peano ...... 34
3.5 Le premier théorème d’incomplétude et les idées essentielles
de sa démonstration ........................ 35
3.6 Notes ................................. 36
4 Automates à nombre fini d’états et langages réguliers 39
4.1 Automates finis déterministes ................... 40
4.2 Automates finis non-déterministes ................ 43
4.3 Équivalence entre automates déterministes et non-déterministes 45
4.4 Expressions régulières ....................... 47
4.5 Exercices ............................... 50
iii
TABLE DES MATIÈRES
5 Langages non-réguliers et machines de Turing 53
5.1 Lemme de l’itération ........................ 53
5.2 Machines de Turing ......................... 54
5.3 Définition d’un algorithme ..................... 58
5.4 Décidabilité, reconnaissance, problème d’arrêt ......... 61
5.5 Exercices ............................... 63
6 Complexité 65
6.1 Classe de complexité P....................... 65
6.2 Machines de Turing non-déterministes et classe de complexité
NP ................................... 67
6.3 Complétude NP ........................... 69
6.4 Machines de Turing probabilistes, classe de complexité BPP . . 71
6.5 Exercices ............................... 72
7 Stochasticité, complexité de Kolmogorov, entropie 73
7.1 Stochasticité, chaoticité, typicité : trois aspects de l’aléa . . . . 74
7.1.1 Stochasticité ......................... 74
7.1.2 Chaoticité et complexité de Kolmogorov ........ 75
7.1.3 Typicité et ensembles effectivement négligeables . . . . 78
7.2 Réalisation de l’aléa par un procédé physique .......... 79
Références 82
Index 85
/Users/dp/a/ens/lcm1/lcm1.tex
2017-03-29 20:30:34.
iv
1
Relations et graphes
Dans ce chapitre nous rappelons quelques notions élémentaires sur les
relations et introduisons les structures combinatoires (graphes, digraphes,
arbres) qui seront utiles dans la suite du cours. Les références de base pour
ce chapitre sont les livres [22,11,21].
1.1 Rappels sur le produit cartésien
Si Aet Bsont deux ensembles, nous définissons le produit cartésien de
Apar B, l’ensemble des couples
A×B={(a,b),aA,bB},
où, pour a,a0Aet b,b0B,
[(a,b) = (a0,b0)] [(a=a0)(b=b0)].
La cohérence de la définition impose [A×B=][(A=)(B=)].
Il est évident que |A×B|=|A|·|B|=|B×A|mais B×A6=A×Ben
général. Le produit cartésien s’étend à un nombre arbitraire d’ensembles
facteurs : si (Ak)k=1,...,nsont des ensembles arbitraires,
A1× · · · × An={(a1, . . . an):aiAi,i=1, . . . , n},n1.
En particulier, si tous les Aisont égaux à A, nous écrirons Anpour le produit
cartésien A× · · · × A
| {z }
ntermes
, pour n1, contenant les suites d’éléments de Ade
longueur n. Nous étendons la définition à n=0 pour signifier A0:={()}
l’ensemble contenant la suite vide (de longueur 0). Nous noterons A+=
n1Anet A=nNAn=A0A+l’ensemble de suites d’éléments de
1
1 / 89 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !