Cours 5: Algorithmes approchés

Documents pareils
Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Programmation linéaire

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Chapitre 5 : Flot maximal dans un graphe

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Resolution limit in community detection

Sujet 4: Programmation stochastique propriétés de fonction de recours

Programmation Linéaire - Cours 1

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Fondements de l informatique Logique, modèles, et calculs

Annexe 6. Notions d ordonnancement.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

OPTIMISATION À UNE VARIABLE

Introduction à la théorie des graphes. Solutions des exercices

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Image d un intervalle par une fonction continue

Intégration et probabilités TD1 Espaces mesurés Corrigé

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Algorithmique - Cours et Travaux Dirigés Ecole Normale Supérieure de Lyon

Commun à tous les candidats

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Statistiques Descriptives à une dimension

Intégration et probabilités TD1 Espaces mesurés

Limites finies en un point

Calculabilité Cours 3 : Problèmes non-calculables.

Continuité d une fonction de plusieurs variables

Séminaire TEST. 1 Présentation du sujet. October 18th, 2013

CHAPITRE 5. Stratégies Mixtes

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Rappels sur les suites - Algorithme

Cours de Master Recherche

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Plus courts chemins, programmation dynamique

Optimisation Discrète

Suites numériques 3. 1 Convergence et limite d une suite

Analyse en Composantes Principales

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chp. 4. Minimisation d une fonction d une variable

Algorithmique et Programmation Fonctionnelle

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Big Data et Graphes : Quelques pistes de recherche

Approximations variationelles des EDP Notes du Cours de M2

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Big Data et Graphes : Quelques pistes de recherche

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Introduction à l étude des Corps Finis

Rapport de stage de première année de Master Optimisation de cache d instructions

Algorithmique I. Algorithmique I p.1/??

Quelques algorithmes simples dont l analyse n est pas si simple

I. Polynômes de Tchebychev

Corrigé du baccalauréat S Asie 21 juin 2010

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Corrigé des TD 1 à 5

Quelques Algorithmes simples

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Correction du Baccalauréat S Amérique du Nord mai 2007

1 Définition et premières propriétés des congruences

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

Fonctions homographiques

MIS 102 Initiation à l Informatique

Chapitre VI - Méthodes de factorisation

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Université Paris-Dauphine DUMI2E 1ère année, Applications

Polynômes à plusieurs variables. Résultant

Optimisation for Cloud Computing and Big Data

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Quantification Scalaire et Prédictive

Propriétés des options sur actions

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Dérivées d ordres supérieurs. Application à l étude d extrema.

Apprentissage par renforcement (1a/3)

Programmation linéaire

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

CCP PSI Mathématiques 1 : un corrigé

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

4 Distributions particulières de probabilités

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Cours d analyse numérique SMI-S4

Fonctions de plusieurs variables

Jean-Philippe Préaux

Cours 02 : Problème général de la programmation linéaire

Principe de symétrisation pour la construction d un test adaptatif

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Transcription:

Cours 5: Algorithmes approchés Algorithmes approchés Schémas d approximation Bin-packing: limite de l approximabilité. Voyageur de commerce : non approximabilité 1-1

Un algorithme glouton pour COUVRANT NP-complet! Donnée: Un graphe G = (X, E) non-orienté Problème: Trouver un ensemble minimum de sommets couvrant les arêtes. Algorithme: F := E; Y := Tant que F est non vide: Choisir une arête f dans F ajouter ses 2 extrémités dans Y et supprimer de F toutes les arêtes couvertes par ces 2 sommets. Non optimalité: pour un graphe réduit à une arête, 2 sommets au lieu d 1 L algo peut il être encore plus mauvais que ce facteur 2? Remarque: si H est un couplage et C un couvrant de G alors H < C Or les arêtes utilisées pour constituer Y forment un couplage: Y /2 < C opt au pire on aura 2 fois trop de sommets 2-1

Algorithmes approchés Problème: Trouver parmi les solutions d un problème celle qui optimise une fonction f. Un algorithme est ε-approché s il donne un X qui satisfait f(x opt ) f(x) f(x opt ) ε si X opt maximise f f(x) f(x opt ) f(x) ε si X opt minimise f Un algorithme approche l optimum à un facteur θ si max ( f(x) f(x opt ), f(x opt) f(x) ) θ On veut θ proche de 1. Deux formulations équivalentes utilisées indifféremment. On veut ε proche de 0. 3-1

Un algorithme glouton pour COUVRANT Donnée: Un graphe G = (X, E) non-orienté Problème: Trouver un ensemble minimum de sommets couvrant les arêtes. Algorithme: F := E; Y := Tant que F est non vide: Choisir une arête f dans F ajouter ses 2 extrémités dans Y et supprimer de F toutes les arêtes couvertes par ces 2 sommets. L ensemble couvrant Y produit vérifie: Y < 2 C opt D où ε = Y C opt 1 Y, ou encore θ = Y 2 C opt 2. NP-complet! Cet algorithme est 1 -approché, ou approché à un facteur 2. 2 La classe des problème d optimisation pour lesquels il existe un algorithme polynomial d approximation à un facteur borné est notée APX. 4-1

Cours 5: Algorithmes approchés Algorithmes approchés Schémas d approximation Bin-packing: limite de l approximabilité. Voyageur de commerce : non approximabilité 5-1

Sac à dos et schéma d approximation polynomial Donnée: des poids p 1,..., p n, des gains a 1,..., a p et la capacité P Problème: Trouver max `P i a ix i P i p ix i P, x i {0, 1} Algorithme glouton exact pour x i réels: Réordonner les objets de sorte que a 1 p 1 a 2 p 2 a n pn. s := 0; Pour j := 1 à n faire - si s + p j P faire s := s + p j et x j := 1 - sinon x j := P s p j, x k := 0 pour k > j et sortir de la boucle. La dernière étape j complète le sac: P p j x j = P (sauf si P > P p j ) et l optimum est A = P a j x j = P j<j a j + P P j<j p j p j a j. Algorithme glouton naïf pour x i entiers: idem sauf la dernière étape où on ne prend rien. C est arbitrairement mauvais même avec 2 objets: si p 2 = (k + 1)p 1, a 2 = ka 1 et P = p 2, alors on a bien a 1 p 1 a 2 p 2 et on perd un facteur k. 6-1 INF-550-5: Réduction et NP-complétude

Sac à dos et schéma d approximation polynomial Donnée: des poids p 1,..., p n, des gains a 1,..., a p et la capacité P Problème: Trouver max `P i a ix i P i p ix i P, x i {0, 1} Amélioration triviale du glouton: On choisit le meilleur gain entre la solution du glouton et max(a i ) (on suppose que p i P pour tout i). Théorème: Le glouton amélioré trouve une solution dont le bénéfice A + est au moins la moitié de l optimum entier A opt. Preuve: L optimal entier A opt est au plus l optimal réel: A opt A = P j<j a j + P P j<j p j p j a j Comme on s est arrêté sur j, on a P < P j<j p j + p j. P j<j a j + a j. Or le glouton amélioré fait au moins P j<j a j (glouton) ou a j. Glouton amélioré est 1 2 -approché! 7-1 INF-550-5: Réduction et NP-complétude

Sac à dos et schéma d approximation polynomial Donnée: des poids p 1,..., p n, des gains a 1,..., a p et la capacité P Problème: Trouver max `P i a ix i P i p ix i P, x i {0, 1} Théorème (Schéma d approximation polynomial): Pour tout ε il existe un algorithme ε-approché pour le problème Sac-à-dos de complexité O(n 3 /ε). Idée: On utilise la programmation dynamique sur des données arrondies: On pose b i = a i 10k pour un k bien choisi. Par programmation dynamique, on obtient l optimum {x i } du problème arrondi en temps O(n 2 M ) = O( n2 M 10 ) où M = max(a i). k On compare l approximation du problème exact donnée par {x i } à un optimum {x i }: Pi a ix i P i 10k b i x i P i 10k b i x i P i (a i 10 k )x i P i a ix i n10 k 8-1 Si k log 10 A o ε n log 10 Mε n, on a une ε-approximation; temps O( n3 ε ).

Schémas d approximation polynomiaux efficaces Un problème admet un schéma d approximation polynomial si pour tout ε il admet un algorithme ε-approché de complexité polynomial à ε fixé. La classe de problème correspondante s appelle PTAS. Le schéma d approximation polynomial est efficace si la complexité est O(n c ) pour une constante c > 0 (i.e. le degré ne dépend pas de ε). La classe de problème correspondante s appelle EPTAS. Le schéma d approximation est totalement polynomial si la complexité est polynomiale en la taille et en ε. La classe de problème correspondante s appelle FPTAS. Pour sac-à-dos, on a obtenu O(n 2 /ε): sac-à-dos est dans FPTAS. Par construction, FPTAS PTAS APX. 9-1

Cours 5: Algorithmes approchés Algorithmes approchés Schémas d approximation Bin-packing: limite de l approximabilité. Voyageur de commerce : non approximabilité 10-1

Rangement optimal et approximation Donnée: n objets de poids p 1,..., p n, et des boites de capacité P. Problème: Mettre les objets dans un nombre minimum de boites. Exemple: 61, 41, 40, 40, 20, 19, 19 P = 120 avec 2 boites: 61+40+19=120 41+40+20+19=120. Algorithme glouton: ordonner les objets p 1 p 2... p n, et les ranger dans cet ordre dans la première boite possible: 61 + 41 Exemple: Théorème: L algorithme glouton utilise 40 + 40 + 20 + 19 au plus 1 + 3 2 N opt boites. 19 Preuve: Si tous les objets ont poids P/3, alors glouton est optimum: p 1... p i > 2 3 P p i+1... p j > 1 2 P p j+1... p n > 1 3 P Si chaque boite contient un objet de poids > 1 P alors glouton optimum. 3 Sinon toutes les boites sauf une sont remplies à plus des 2/3. 11-1

Rangement optimal et limite de l approximabilité Théorème: algorithme polynomial ε < 1 approché pour RangeOpt 3 algorithme polynomial pour Partition P = N P. Problème Partition: trouver une partition S 1, S 2 d un ensemble fini d entiers S telle que P s S 1 s = P s S 2 s = S/2. Preuve que Partition est N P-complet: clairement dans N P Réduction de SommePartielle à Partition. Preuve du théorème: E = {e 1, e 2,..., e n } une instance de Partition On considère le problème RangOpt avec P = 1 P ei 2 et on suppose d y appliquer un algorithme ε < 1 3 approché. si la réponse est 2, il y a une solution à Partition sinon, la réponse est 3 ou plus et il n y a pas de solution avec 2 boites (car 3 2 3 > ε), et donc pas de solution à Partition Conclusion: PTAS APX 12-1

Cours 5: Algorithmes approchés Algorithmes approchés Schémas d approximation Bin-packing: limite de l approximabilité. Voyageur de commerce : non approximabilité 13-1

Voyageur du commerce et inapproximabilité Donnée: un graphe G et une valuation des arêtes ( distances entre villes ) Problème: Trouver un ordre de visite des villes qui minimise la distance. Théorème: algo polynomial ε < 1 approché pour le voyageur de commerce algorithme polynomial pour Hamiltonien P = N P. Problème Hamiltonien: étant donné un graphe, trouver un cycle qui visite une et une seule fois les sommets. N P-complet (cf poly) Preuve du théorème: soit G un graphe (instance de Hamiltonien) On pose k entier 1 et on constuit la valuation: 1 ε v(x, y) = 1 si (x, y) arête de G, v(x, y) = nk + 1 sinon. Si on a une ε-approx de valuation n alors G admet un cycle hamiltonien, sinon la valuation trouvée est x (n 1) + (nk + 1) et comme n+nk C o n+nk ε, on a C o n(1 + k)(1 ε) > n. 14-1

Voyageur du commerce et inapproximabilité On vient de voir que TSP / APX On a vu en TD (exo 5 de la PC4) que par contre Euclidean TSP APX (facteur 2) En fait il existe un schéma d approximation polynomial pour Euclidean TSP : Euclidean TSP PTAS. Ce résultat date de 1998 et a valu le prix Gödel à ses auteurs en 2010. 15-1

Cours 5: Algorithmes approchés Algorithmes approchés Schémas d approximation Bin-packing: limite de l approximabilité. Voyageur de commerce : non approximabilité Que retenir? Algorithme approché : chercher une borne sur l optimum! Limite de l approximabilité : via la NP-complétude Des résultats d approximabilités très différents pour des problèmes tous NP-complets! 16-1