Journées Graphes et Algorithmes 2010 Comparaison de 4 algorithmes pour le problème du vertex cover François Delbot Laboratoire d’Analyse, Topologie, Probabilités (CNRS - UMR 6632) Université d'Aix-Marseille 1 Post-doctorat financé par l'ANR Boole Travaux réalisés en collaboration avec : Étienne Birmelé (Laboratoire Statistique & Génome, Université d’Evry) Christian Laforest (LIMOS, Université Blaise Pascal de Clermont-Ferrand) Thèse préparée au laboratoire IBISC de l’université d’Évry Val d’Essonne Lundi 4 octobre 2010 Introduction • Algorithmes exacts • Théorie de la complexité – Problèmes polynomiaux (temps raisonnable) – Problèmes NP-complets (temps déraisonnable) • Algorithmes d’approximation – Solutions dégradées – Rapport d’approximation en pire cas (rapc) – Objectif : trouver le meilleur rapc • Rapc ne prend pas en compte toutes les exécutions possibles [email protected] 2 Le problème du Vertex Cover Présentation du problème Un problème NP-complet Une couverture Une couverture optimale ≈log() [email protected] 3 Le problème du Vertex Cover Un algorithme online OLVC [Demange et Paschos, TCS 2005] Modèle on line : Sommets dévoilés un par un. Décision irrévocable pour chaque sommet révélé. Algorithme : u est dévoilé. Si u possède un voisin dévoilé qui n’est pas dans la solution, on sélectionne u. • Propriété : le VC construit est minimal pour l’inclusion. • Rapport d’approximation en pire cas : (atteint) 1 4 5 3 1 2 6 [email protected] 3 2 4 5 6 4 Le problème du Vertex Cover L’algorithme online et les étoiles Considérons le cas des étoiles à n sommets Dans les autres cas Exécution en pire cas Le sommet central est dévoilé en premier cela concerne (n-1)! ordres de révélation Le sommet central n’est pas dévoilé en premier cela concerne (n-1)(n-1)! ordres de révélation Sous hypothèse d’équiprobabilité Probabilité 1/n Probabilité n-1/n Espérance de la taille de la solution retournée: [email protected] 5 Le problème du Vertex Cover L’algorithme on line est 2-approché en moyenne Théorème Algorithme glouton Au début, aucun sommet n'est sélectionné. Les sommets sont examinés un par un dans n'importe quel ordre donné. Soit u le sommet courant (celui que l'on examine). Si u n'est pas sélectionné, alors on sélectionne tout son voisinage. Lorsque tous les sommets ont été considérés, on retourne tous les sommets sélectionnés. [email protected] 6 Le problème du Vertex Cover Glouton et online retournent la même solution Par induction : • Le premier sommet n’est sélectionné par aucun des deux algorithmes. • (Hyp.) Les deux algorithmes sélectionnent exactement les mêmes sommets jusqu'au sommet courant u. u - Glouton sélectionne u Déjà parcouru/révélé online sélectionne u u - Glouton ne sélectionne pas u u online ne sélectionne pas u [email protected] Pas de voisin parcouru/révélé Tous les voisins parcourus/révélés sont déjà sélectionnés 7 Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne • Les sommets isolés n’influencent pas la solution • Par induction sur la taille optimale • Vrai pour opt(G)=1 (les étoiles) • (Hyp.) pour tout G tel que opt(G) ≤ k-1, • Soit G un graphe tel que opt(G)=k et une partition (H,I) de G : H OPT I V/OPT est une couverture de Nous pouvons donc appliquer (Hyp.) sur [email protected] 8 Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne ≤0 [email protected] 9 Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne Ce qui prouve le résultat ! [email protected] 10 Le problème du Vertex Cover Comparaison de deux algorithmes de liste Algorithme de liste • Traite les sommets un par un • Ordre fixé à l’avance (une liste) • Décision irrévocable online liste offline Manipulation/connaissance du graphe [email protected] 11 Le problème du Vertex Cover L’algorithme List-Left Algorithme List-Left 1 sont triées par 2degrés décroissants • Avis et Imamura (ORL 2006) : si les listes alors rapc est de . 4 5 3 1 2 6 [email protected] 3 4 5 6 12 Le problème du Vertex Cover L’algorithme List-Right Nous avons proposé un autre algorithme de liste (IPL 2008): Algorithme List-Right Fait exactement les mêmes choix que l’algorithme online lorsqu’ils considèrent les sommets dans le même ordre. [email protected] 13 Le problème du Vertex Cover ListRight est meilleur que ListLeft Théorème Pour toute liste, ListRight retourne une solution dont la taille est inférieure ou égale à celle retournée par ListLeft. Démonstration en considérant une partition des sommets d’une liste : • Aucun des deux algorithmes ne retourne de sommet isolé : 4 • Aucun des deux algorithmes ne retourne de sommet ne possédant Théorème que des voisins à gauche dans la liste : 3 et 6 entier d>2, tous un les graphe G tel que pour n’importe quelle liste • ListLeft retourne sommets possédant au moins un voisin à droite : 5,triée 1 et 2: • ListRight OPT. qui ne retourne pas le sommet 1 • Ce n’est pas leretourne cas de ListRight • ListLeft retourne une solution de taille d215 |OPT|. 6 4 5 1 4 2 6 3 1 [email protected] 2 3 14 Le problème du Vertex Cover L’algorithme on line est un très bon algorithme ! • L’algorithme online (et glouton et ListRight) possède un mauvais rapport d’approximation en pire cas, mais : • Il retourne des solutions minimales pour l’inclusion • Il peut toujours retourner une solution optimale • Il possède de bonnes performances en moyenne • Il est toujours meilleur que certains algorithmes (par exemple ListLeft) • On peut facilement le répartir Comment se comportent les autres algorithmes ? [email protected] 15 Le problème du Vertex Cover Présentation des algorithmes Algorithme Rapport d’approximation en pire cas Classement 2 1 ≈log() 2 ListRight 3 ListLeft Au moins au plus +1 4 ED MDG [email protected] 16 Le problème du Vertex Cover Calcul de l’espérance de différents algorithmes sur les chemins Exemple de lemme Lorsqu’on En passant retire par lesunséries sommet génératrices, du chemin, onon peut obtient les dérécursiver deux autres et chemins : obtenir une formule close : 1 2 3 k-1 1 2 3 k-1 [email protected] k k+1 n-1 n k+1 n-1 n 17 Le problème du Vertex Cover Bilan des performances des différents algorithmes sur les chemins Algorithme Limite de l’espérance du rapport d’approximation Classement En moyenne En pire cas GIC MDG 1+e-2 1≈ 1.13 1 2 MDG ListRight 1+e-2 ≈ 1.13 2 3 ListRight ListLeft 1+e 4/3-2≈≈1.33 1.13 3 4 ListLeft ED 2-2e 4/3 -2≈≈1.33 1.73 4 1 Limites atteintes dès la centaine de sommets. Les algorithmes ayant le meilleur rapport d’approximation en pire cas obtiennent les plus mauvaises performances en moyenne. Remarque : Worst(MDG(Pn)) < Best(ED(Pn)) [email protected] 18 Le problème du Vertex Cover Graphes de Erdös-Renyi [email protected] 19 Le problème du Vertex Cover Conclusion / Perspectives • Evaluation en pire cas : insuffisante • L’influence du non déterminisme est importante • Online possède de bonnes performances moyennes • Les algorithmes 2-approchés se comportent mal « globalement » • Confirmer nos résultats expérimentaux par des résultats théoriques. Notamment, prouver la conjecture suivante : Conjecture • Poursuivre ces travaux en considérant que tous les choix ne sont pas équiprobables • Comparer des classes d’algorithmes • Passer à d’autres problèmes, notamment le problème de l’ensemble dominant [email protected] 20 C’est terminé ! Je vous remercie de votre attention. [email protected] Lundi 4 octobre 2010