550 likes | 1.32k Views
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.
E N D
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. 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)….? 17 Novembre 2003
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 Machine Universelle de Kleene 17 Novembre 2003
Fonctions calculables • Il existe des fonctions non calculables. • Il existe une hiérarchie de problèmes • indécidables. 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 : ? 17 Novembre 2003
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 . 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. 17 Novembre 2003
Algèbre linéaire 1. Fonctions classiques sur des matrices entières 2. Optimisation 4 2 1 3 3. Problèmes NP 4. Problèmes coNP 17 Novembre 2003
Hiérachie polynomiale Permanent Maxcut coNP NP Factoriser P Iso Non-Iso Det, Inversion, Primalité 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) 17 Novembre 2003
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. 17 Novembre 2003
ApproximationCalcul 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 17 Novembre 2003
Hasard et algorithme Jeu de Mikado t t s s 1 paquet 2 paquets 17 Novembre 2003
Marche aléatoire : espace log nsur un graphe symétrique à n sommets c c d s 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. 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 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) 17 Novembre 2003
Approximation • Fonctions • A approxime • Relations Dist (R,S) = # x : if Dist(R,S) < 17 Novembre 2003
Maxcut • Problème NP-complet • Problème de Maximisation • Approximable en temps polynomial Coupe de taille 9 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 17 Novembre 2003
Hasard et Hiérarchie polynomiale P étendu à BPP NP étendu à IP IP Perm BPP Maxcut coNP NP Factorisation P Non-Iso 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. 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. 17 Novembre 2003
Conclusion • Algorithmique: • 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. 17 Novembre 2003
Vérification polynomialeNP 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. 17 Novembre 2003
Isomorphisme de graphes 5 4 4 3 3 5 1 1 2 2 1 2 3 4 5 1 3 2 4 5 Permutation : Preuve de l’isomorphisme: 13245 17 Novembre 2003
Non-Isomorphisme de graphes 5 4 4 3 3 5 1 1 2 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) 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 17 Novembre 2003
Preuve Interactive A B Bob pose des questions à Alice (qui peut mentir) Bob utilise le hasard. Après un temps court (polynomial), Bob Accepte ou rejette. 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 17 Novembre 2003