250 likes | 456 Vues
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
E N D
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 francois.delbot@gmail.com
Une couverture Une couverture optimale Le problème du Vertex Cover Présentation du problème Un problème NP-complet ≈log() francois.delbot@gmail.com
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 2 3 5 4 5 3 1 2 6 4 6 francois.delbot@gmail.com
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: francois.delbot@gmail.com
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
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 Pas de voisinparcouru/révélé - Glouton ne sélectionne pas u u Tous les voisinsparcourus/révéléssont déjà sélectionnés online ne sélectionne pas u francois.delbot@gmail.com
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 : est une couverture de H OPT I V/OPT Nous pouvons donc appliquer (Hyp.) sur francois.delbot@gmail.com
Le problème du Vertex Cover Démonstration : l’algorithme on line est 2-approché en moyenne ≤0 francois.delbot@gmail.com
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
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 francois.delbot@gmail.com
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 3 5 4 5 3 1 2 6 4 6 francois.delbot@gmail.com
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
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
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 ? francois.delbot@gmail.com
Le problème du Vertex Cover Présentation des algorithmes francois.delbot@gmail.com
Le problème du Vertex Cover Calcul de l’espérance de différents algorithmes sur les chemins Exemple de lemme Lorsqu’on retire un sommet du chemin, on obtient deux autres chemins : En passant par les séries génératrices, on peut les dérécursiver etobtenir une formule close : n-1 n 1 k 2 3 k+1 k-1 n-1 n 1 2 3 k+1 k-1 francois.delbot@gmail.com
Le problème du Vertex Cover Bilan des performances des différents algorithmes sur les chemins Limites atteintes dès la centaine de sommets. Les algorithmes ayant le meilleur rapport d’approximation en pire casobtiennent les plus mauvaises performances en moyenne. Remarque : Worst(MDG(Pn)) < Best(ED(Pn)) francois.delbot@gmail.com
Le problème du Vertex Cover Graphes de Erdös-Renyi francois.delbot@gmail.com
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
C’est terminé ! Je vous remercie de votre attention. francois.delbot@gmail.com