Algorithmique et Complexité Michel de Rougemont Université Paris II et LRI mdr@lri.fr http://www.lri.fr/~mdr 1. Qu’est ce qu’un algorithme? Complexité d’un algorithme. 2. P=NP et classes de complexité. 3. Approximations. 4. Modèles de calcul. Sens et dénotation. d'Alembert 17 Novembre 2003
Algorithmique et Complexité Existe-t-il un algorithme pour résoudre un problème? Quelles sont les propriétés d’un algorithme A? Propriétes de Complexité Complexité en Temps (Espace) T(x) = #Etapes élémentaires sur x A est Polynomial si Kolmogorov : Taille du plus petit programme. (Mesure qui peut être contradictoire avec la complexité en temps) Existe-t-il un algorithme polynomial, O(n), O(log n)….? d'Alembert 17 Novembre 2003
Algorithmique Al-Khowarizmi (800) Fonction récursive (1936) Qu’est ce qu’une fonction calculable? Fonction récursive (1936) Thèse de Church Indécidabilité et Incomplétude de Gödel Machine de Turing Machine Universelle de Kleene d'Alembert 17 Novembre 2003
Fonctions calculables Il existe des fonctions non calculables. Il existe une hiérarchie de problèmes indécidables. d'Alembert 17 Novembre 2003
Algorithmique et informatique Fonction récursive Universelle Algorithme vs. Programme Propriétés d’algorithmes et de programmes. Programmation Linéaire. P depuis 1980 Simplex, analysé depuis 2001 Primalité : P depuis 2002 Factoriser : ? Equilibre de Nash : ? d'Alembert 17 Novembre 2003
Complexité S. Cook 72 R. Karp 73 P=NP ? Classe P. Une fonction est P-calculable s’il existe un algorithme dont le nombre d’étapes élémentaires sur une entrée de taille n est toujours borné par . Classe NP. Un problème est NP s’il existe un algorithme polynomial pour toujours vérifier une solution. Problème NP-complet. Un problème A est NP-complet s’il est NP et pour tout problème B dans NP il existe une fonction f, P-calculable t.q. pour tout x S. Cook 72 R. Karp 73 P=NP ? No 7 des problèmes mathématiques pour le XXI s. d'Alembert 17 Novembre 2003
Algèbre linéaire 1. Fonctions classiques sur des matrices entières 2. Optimisation 4 1 2 3 3. Problèmes NP 4. Problèmes coNP d'Alembert 17 Novembre 2003
Hiérachie polynomiale Permanent Maxcut coNP NP Factoriser P Iso Non-Iso Det, Inversion, Primalité d'Alembert 17 Novembre 2003
Programmation linéaire : PL Simplex NP-complétude en nombre entier Non approximation (1990) Efficacité moyenne du simplex PL(A,b,c,k): comment decider si c.x < k ? k < Max : trouver une solution x k > Max : trouver une solution du Dual Principe MinMax PL est P-calculable. (1980) Ellipsoid (Points-intérieurs) d'Alembert 17 Novembre 2003
Analyse du Simplex Simplex peut être exponentiel. D. Spielman, M.I.T., 2001 Simplex peut être exponentiel. Simplex EST polynomial pour la complexité de lissage. Application pratique: modifier aléatoirement la matrice A, et l’algorithme converge plus vite. d'Alembert 17 Novembre 2003
Approximation Calcul probabiliste Définition: t s’il existe un algorithme probabiliste A tel que : Si f(x)=1, Prob[ A accepte] > 2/3 Si f(x)=0, Prob[ A rejette ] > 2/3 Probabilité d’erreur d'Alembert 17 Novembre 2003
Hasard et algorithme Jeu de Mikado t t s s 1 paquet 2 paquets d'Alembert 17 Novembre 2003
Marche aléatoire : espace log n sur un graphe symétrique à n sommets d s e d e b b 00 vers c 01 vers d vers e 11 vers b Au départ du sommet s, 2 tirages Pas de « preuve » d’un chemin entre s et t. d'Alembert 17 Novembre 2003
Analyse d’une marche aléatoire Cas 1. Connexe. Après étapes Pr [erreur] <1/3 Cas 2. Non-Connexe. Après Pr [erreur] =0 s La marche arrive à t. s d'Alembert 17 Novembre 2003
Calcul et hasard Espace Logarithmique s-t Connexité Temps polynomial probabiliste (classe BPP, Machine de Turing probabiliste) Permanent est approximable (Jerrum, Sinclair 1999, marche aléatoire à mélange rapide) Factorisation reste difficile Temps polynomial quantique Factorisation est facile (Shor, 1996) d'Alembert 17 Novembre 2003
Approximation Fonctions Relations Dist (R,S) = # x : if Dist(R,S) < A approxime Relations Dist (R,S) = # x : if Dist(R,S) < d'Alembert 17 Novembre 2003
Maxcut Problème NP-complet Problème de Maximisation Approximable en temps polynomial Coupe de taille 9 d'Alembert 17 Novembre 2003
Approximation de Maxcut Principe général pour une large classe de problèmes: Sous-graphe aléatoire Evaluer Maxcut sur le sous-graphe Combiner les estimations Sous-graphe aléatoire d'Alembert 17 Novembre 2003
Hasard et Hiérarchie polynomiale P étendu à BPP NP étendu à IP IP Perm BPP Maxcut coNP NP Factorisation P Non-Iso d'Alembert 17 Novembre 2003
Modèles de Calcul 1. Modèle quantique 2. Modèles biologiques 3. Modèle du WEB Distribution de calculs Modèle Economique. Un algorithme distribué définit des équilibres pour un jeu. Mécanisme. Algorithmique des jeux Comment réguler le Web (SPAM, Sécurité….)? 4. Percevoir, Sciences du langage. d'Alembert 17 Novembre 2003
Sens et dénotation Dénotation et Intension Quel est le « sens » d’une expression? « int f(x) {return (2*x+1);} » « L’étoile du matin est l’étoile du soir » Intensions: propriétés autres que la dénotation: Complexité, robustesse,…. Sens (Moschovakis 2000) = Algorithme qui définit les intensions. d'Alembert 17 Novembre 2003
Conclusion Algorithmique: Complexité Approximations Modèles de Calcul Existence, fonction calculable Analyse (Simplex) Complexité Classes de Complexité Existence d’algorithme efficace Approximations Calcul probabiliste Testeurs/Correcteurs Modèles de Calcul Sens et Dénotation. d'Alembert 17 Novembre 2003
Vérification polynomiale NP Il existe une fonction t.q. L est dans NP s’il existe une fonction g dans P t.q. Pour la fonction : On ne connaît pas de telle fonction g!! La fonction est le complément de C’est une fonction de co-NP. d'Alembert 17 Novembre 2003
Isomorphisme de graphes 5 4 4 3 3 5 1 2 1 2 1 2 3 4 5 1 3 2 4 5 Permutation : Preuve de l’isomorphisme: 13245 d'Alembert 17 Novembre 2003
Non-Isomorphisme de graphes 5 4 4 3 3 5 1 2 1 2 1 2 3 4 5 1 3 2 4 5 ne maintient pas (1,4) Aucune Permutation ne maintient un isomorphisme: Preuve du non-isomorphisme: Enumérer n! Permutations (120) d'Alembert 17 Novembre 2003
Vérification probabiliste Comment vérifier avec un protocole? V choisit {1,2} et construit P envoit . Si , P.V=1, sinon P.V=0 P V 0 (1/2) 1 (1/2) L admet une preuve interactive, s’il existe un protocole t.q pour tout x : Si , Prob [ P.V(x)=1] =1 Si , Prob [ P’.V(x)=1] < 1/2 d'Alembert 17 Novembre 2003
Preuve Interactive Bob pose des questions à Alice (qui peut mentir) Bob utilise le hasard. Après un temps court (polynomial), Bob Accepte ou rejette. d'Alembert 17 Novembre 2003
O-connaissance de l’isomorphisme h’(G1)=H h’’ A B i=1 Preuve classique : A transmet h (ex: 13245) Preuve interactive : Alice génère h’ aléatoire, calcule h’(G1)=H, transmis à Bob: tire i au sort. Alice envoie h’’, l’iso. entre H et Gi d'Alembert 17 Novembre 2003