Algorithmique et Complexité Michel de Rougemont Université Paris II et LRI [email protected] 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 1 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 T(n)Max T( x ) x n A est Polynomial si T(n) c.n k – 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 2 Algorithmique Al-Khowarizmi (800) 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 d'Alembert Machine Universelle de 17 Novembre 2003 Kleene 3 Fonctions calculables f :N N Il existe des fonctions non calculables. f(n)1 si "formule n est vraie" , sinon 0 f(n)1 si Pn(n), sinon 0 Il existe une hiérarchie de problèmes indécidables. Hiérarchie arithmétique r.e. Co-r.e recursif Définissable d'Alembert 17 Novembre 2003 4 Algorithmique et informatique • Fonction récursive Universelle F(e,x) fe (x) • Algorithme vs. Programme • Propriétés d’algorithmes et de programmes. c.x – Programmation Linéaire. Max A.x b P depuis 1980 Simplex, analysé depuis 2001 – Primalité : P depuis 2002 – Factoriser : ? – Equilibre de Nash : ? d'Alembert 17 Novembre 2003 5 Complexité 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 n k . 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 NPcomplet s’il est NP et pour tout problème B dans NP il existe une fonction f, P-calculable t.q. pour tout x B(x) ssi A(f(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 6 Algèbre linéaire 1. Fonctions classiques sur des matrices entières f1(A)A1 f2(A)det(A) f3(A) permanent (A) ni1a i,(i) Max c.x A.x b Max Cut(A) A 13 2 4 2. Optimisation 1 2 3 3. Problèmes NP MaxCut(A, k) f4(A1,A2) si A1 A2, alors 1 sinon 0 4. Problèmes coNP f5(A1,A2) si A1 A2, alors 0 sinon 1 d'Alembert 17 Novembre 2003 7 4 Hiérachie polynomiale Permanent Maxcut coNP NP Iso Factoriser P Non-Iso Det, Inversion, Primalité d'Alembert 17 Novembre 2003 8 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 ? 1. k < Max : trouver une solution x 2. k > Max : trouver une solution du Dual Principe MinMax PLNPcoNP PL est P-calculable. (1980) Ellipsoid (Points-intérieurs) d'Alembert 17 Novembre 2003 9 Analyse du Simplex 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 10 Approximation Calcul probabiliste Définition: f BPP s’il existe un algorithme probabiliste A tel que : t 1. Si f(x)=1, Prob[ A accepte] > 2/3 2. Si f(x)=0, Prob[ A rejette ] > 2/3 Probabilité d’erreur 1/3 ou 1/100 ou 1-10-10 ou 1-1/n k d'Alembert 17 Novembre 2003 11 Hasard et algorithme Jeu de Mikado t t s s 1 paquet d'Alembert 2 paquets 17 Novembre 2003 12 Marche aléatoire : espace log n sur un graphe symétrique à n sommets c e s c d s d e b b Au départ du sommet s, 2 tirages 00 01 10 11 vers c vers d vers e vers b Pas de « preuve » d’un chemin entre s et t. d'Alembert 17 Novembre 2003 13 Analyse d’une marche aléatoire Cas 1. Connexe. Après 3.n 2 étapes Pr [erreur] <1/3 s La marche arrive à t. Cas 2. Non-Connexe. Après 3.n 2 Pr [erreur] =0 d'Alembert 17 Novembre 2003 s 14 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 15 Approximation 1. Fonctions f g if f(x) g(x) f(x) f g if f(x)(1 ) g(x) f(x)(1) • A approxime f si , Prob [f(x)(1 ) A(x) f(x)(1)]1 2. Relations RS Dist (R,S) = # x : R(x)S(x) arité(R) R S if Dist(R,S) < .n d'Alembert 17 Novembre 2003 16 Maxcut 1. Problème NP-complet 2. Problème de Maximisation 3. Approximable en temps polynomial Coupe de taille 9 d'Alembert 17 Novembre 2003 17 Approximation de Maxcut Principe général pour une large classe de problèmes: 1. Sous-graphe aléatoire 2. Evaluer Maxcut sur le sous-graphe 3. Combiner les estimations Sous-graphe aléatoire d'Alembert 17 Novembre 2003 18 Hasard et Hiérarchie polynomiale P étendu à BPP NP étendu à IP IP Perm Maxcut coNP NP BPP Factorisation P Non-Iso d'Alembert 17 Novembre 2003 19 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 20 Sens et dénotation Dénotation et Intension Quel est le « sens » d’une expression? xyyx 2.x1 "Fermat "11 « 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 21 Conclusion 1. Algorithmique: • • Existence, fonction calculable Analyse (Simplex) 2. Complexité • • Classes de Complexité Existence d’algorithme efficace 3. Approximations 1. Calcul probabiliste 2. Testeurs/Correcteurs 4. Modèles de Calcul 5. Sens et Dénotation. d'Alembert 17 Novembre 2003 22 Vérification polynomiale NP f4(A1,A2) si A1 A2, alors 1 sinon 0 Il existe une fonction g P t.q. g(A1,A2,) si i, jA1((i),(j))A2(i,j)alors 1 sinon 0 L est dans NP s’il existe une fonction g dans P t.q. f4(A1,A2) 1 ssi f nk g (A1,A2,) 1 5 Pour la fonction : f5(A1,A2) si A1 A2, alors 0 sinon 1 On ne connaît pas de telle fonction g!! La fonction f5 est le complément de f4NP C’est une fonction de co-NP. d'Alembert 17 Novembre 2003 23 Isomorphisme de graphes 5 4 3 4 3 5 1 2 Permutation : 1 2 12345 13245 Preuve de l’isomorphisme: 13245 d'Alembert 17 Novembre 2003 24 Non-Isomorphisme de graphes 5 3 4 4 3 5 1 2 12345 1 3 2 4 5 ne maintient pas (1,4) 1 2 Aucune Permutation ne maintient un isomorphisme: Preuve du non-isomorphisme: Enumérer n! Permutations (120) d'Alembert 17 Novembre 2003 25 Vérification probabiliste f5(A1,A2) si A1 A2, alors 0 sinon 1 Comment vérifier avec un protocole? 2. V choisit r {1,2} et construit H (A) 2. P envoit . 3. 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 : 1. Si xL , Prob [ P.V(x)=1] =1 2. Si xL, P' , Prob [ P’.V(x)=1] < 1/2 d'Alembert 17 Novembre 2003 26 Preuve Interactive B A 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 27 O-connaissance de l’isomorphisme h’(G1)=H h’’ B A 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 28