Comparaison de 4 algorithmes pour le problème du vertex cover 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
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 Pas industrie De nombreux pb… Rapc ne s’interresse qu’aux executions qui menent aux plus mauvaises sol francois.delbot@gmail.com
Présentation du problème Le problème du Vertex Cover Présentation du problème Un problème NP-complet Une couverture Une couverture optimale ≈log() francois.delbot@gmail.com
Un algorithme online Le problème du Vertex Cover 4 5 3 1 2 6 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 2 4 5 3 1 2 6 3 4 5 6 francois.delbot@gmail.com
L’algorithme online et les étoiles Le problème du Vertex Cover L’algorithme online et les étoiles Considérons le cas des étoiles à n sommets Exécution en pire cas Dans les autres 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 Faire apparaitre le graphe opt Sous hypothèse d’équiprobabilité Probabilité 1/n Probabilité n-1/n Espérance de la taille de la solution retournée: francois.delbot@gmail.com
L’algorithme on line est 2-approché en moyenne 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. francois.delbot@gmail.com
Glouton et online retournent la même solution 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 Pas de voisin parcouru/révélé A revoir… faire plus dynamique Lorsque l’algorithme glouton considère le sommet u : Glouton a déjà sélectionné u Il existe un voisin déjà parcouru/révélé qui n’est pas sélectionné online sélectionne u. Glouton ne sélectionne pas u Aucun voisin n’a été parcouru/révélé online ne sélectionne pas u. Tous les voisins déjà parcourus/révélés ont été sélectionnés online ne sélectionne pas u. u Tous les voisins parcourus/révélés sont déjà sélectionnés online ne sélectionne pas u francois.delbot@gmail.com
Démonstration : l’algorithme on line est 2-approché en moyenne 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 est une couverture de OPT Ne pas parler de connexite I V/OPT Nous pouvons donc appliquer (Hyp.) sur francois.delbot@gmail.com
Démonstration : l’algorithme on line est 2-approché en moyenne Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne Remplacer somme opt par untruc rouge qui est <= 0 ≤0 francois.delbot@gmail.com
Démonstration : l’algorithme on line est 2-approché en moyenne Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne Ce qui prouve le résultat ! francois.delbot@gmail.com
Comparaison de deux algorithmes de liste 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 Nous venons de voir que l’algorithme online possède de bonnes performances moyennes pour tout graphe. Mais c’est aussi le cas de n’importe quel algorithme 2-approché. Nous allons maintenant voir que l’algorithme online peut être toujours meilleur que d’autres algorithmes. Pour montrer cela, nous nous sommes intéressés aux algorithmes de liste. Un algorithme de liste traite les sommets un par un dans un ordre fixé à l’avance (une liste). Il ne parcourt la liste qu’une seule fois et prend une décision définitive pour le sommet courant. On peut voir c Manipulation/connaissance du graphe francois.delbot@gmail.com
L’algorithme List-Left Le problème du Vertex Cover L’algorithme List-Left Algorithme List-Left Avis et Imamura (ORL 2006) : si les listes sont triées par degrés décroissants alors rapc est de . 1 2 4 5 3 1 2 6 3 4 5 6 francois.delbot@gmail.com
L’algorithme List-Right 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. francois.delbot@gmail.com
ListRight est meilleur que ListLeft 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 que des voisins à gauche dans la liste : 3 et 6 ListLeft retourne tous les sommets possédant au moins un voisin à droite : 5, 1 et 2 Ce n’est pas le cas de ListRight qui ne retourne pas le sommet 1 Théorème entier d>2, un graphe G tel que pour n’importe quelle liste triée : ListRight retourne OPT. ListLeft retourne une solution de taille |OPT|. 5 6 4 5 1 4 2 6 3 1 2 3 francois.delbot@gmail.com
L’algorithme on line est un très bon algorithme ! 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 enrober Comment se comportent les autres algorithmes ? francois.delbot@gmail.com
Présentation des algorithmes Le problème du Vertex Cover Présentation des algorithmes Algorithme Rapport d’approximation en pire cas ED 2 Algorithme Rapport d’approximation en pire cas ED 2 MDG ≈log() Algorithme Rapport d’approximation en pire cas Algorithme Rapport d’approximation en pire cas ED 2 MDG ≈log() ListRight Algorithme Rapport d’approximation en pire cas Algorithme Rapport d’approximation en pire cas Classement ED 2 1 MDG ≈log() ListRight 3 ListLeft Au moins au plus +1 4 francois.delbot@gmail.com
Calcul de l’espérance de différents algorithmes sur les chemins Le problème du Vertex Cover Calcul de l’espérance de différents algorithmes sur les chemins Exemple de lemme En passant par les séries génératrices, on peut les dérécursiver et obtenir une formule close : Lorsqu’on retire un sommet du chemin, on obtient deux autres chemins : 1 2 3 k-1 k k+1 n-1 n Pour clarifier les choses, on est passé a la limite… 1 2 3 k-1 k+1 n-1 n francois.delbot@gmail.com
Bilan des performances des différents algorithmes sur les chemins 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 MDG 1+e-2 ≈ 1.13 ListRight ListLeft 4/3 ≈ 1.33 ED 2-2e-2 ≈ 1.73 Algorithme Limite de l’espérance du rapport d’approximation Classement En moyenne En pire cas GIC 1 2 MDG 1+e-2 ≈ 1.13 3 ListRight 4 ListLeft 4/3 ≈ 1.33 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)) francois.delbot@gmail.com
Graphes de Erdös-Renyi Le problème du Vertex Cover Graphes de Erdös-Renyi francois.delbot@gmail.com
Conclusion / Perspectives 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 francois.delbot@gmail.com
Je vous remercie de votre attention. C’est terminé ! Je vous remercie de votre attention. francois.delbot@gmail.com