comparaison de 4 algorithmes pour le problème du vertex cover
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Lundi 4 octobre 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
Thèse préparée au laboratoire IBISC de l’université d’Évry Val d’Essonne
Journées Graphes et Algorithmes 2010
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)
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
Présentation du problème
Une couverture Une couverture optimale
Un problème NP-complet
Le problème du Vertex Cover
≈log()
Un algorithme onlineOLVC [Demange et Paschos, TCS 2005]
• Propriété : le VC construit est minimal pour l’inclusion.• Rapport d’approximation en pire cas : (atteint)
4 5 3 21 6
1 2
3 4 5 6
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.
Le problème du Vertex Cover
4
L’algorithme online et les étoiles
Exécution en pire cas
Le sommet central est dévoilé en premiercela concerne (n-1)! ordres de révélation
Le sommet central n’est pas dévoilé en premiercela concerne (n-1)(n-1)! ordres de révélation
Dans les autres cas
Considérons le cas des étoiles à n sommets
Sous hypothèse d’équiprobabilitéProbabilité 1/n Probabilité n-1/n
Espérance de la taille de la solution retournée:
Le problème du Vertex Cover
5
L’algorithme on line est 2-approché en moyenne
Théorème
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.
Algorithme glouton
Le problème du Vertex Cover
6
Glouton et online retournent la même solution
• 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.
Le problème du Vertex Cover
Par induction :
7
- Glouton sélectionne uu
Déjà parcouru/révélé online sélectionne u
- Glouton ne sélectionne pas uu
online ne sélectionne pas u
Pas de voisinparcouru/révélé
u Tous les voisinsparcourus/révéléssont déjà sélectionnés
Démonstration : l’algorithme on line est 2-approché en moyenne
Le problème du Vertex Cover
8
• 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 :
OPT
V/OPT
H
I
est une couverture de
Nous pouvons donc appliquer (Hyp.) sur
Démonstration : l’algorithme on line est 2-approché en moyenne
Le problème du Vertex Cover
9
≤0
Démonstration : l’algorithme on line est 2-approché en moyenne
Le problème du Vertex Cover
Ce qui prouve le résultat !
Comparaison de deux algorithmes de liste
• Traite les sommets un par un• Ordre fixé à l’avance (une liste) • Décision irrévocable
Algorithme de liste
Le problème du Vertex Cover
online liste offline
Manipulation/connaissance du graphe
L’algorithme List-LeftAlgorithme List-Left
• Avis et Imamura (ORL 2006) : si les listes sont triées par degrés décroissants alors rapc est de .
Le problème du Vertex Cover
4 5 3 21 6
1 2
3 4 5 6
L’algorithme List-Right
Algorithme List-Right
Nous avons proposé un autre algorithme de liste (IPL 2008):
Fait exactement les mêmes choix que l’algorithme online lorsqu’ils considèrent les sommets dans le même ordre.
Le problème du Vertex Cover
ListRight est meilleur que ListLeft
Pour toute liste, ListRight retourne une solution dont la taille estinférieure ou égale à celle retournée par ListLeft.
Théorème
Le problème du Vertex Cover
Démonstration en considérant une partition des sommets d’une liste :
5 1 4 62 3
5 6
1 2
4
3
• 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|.
21d
L’algorithme on line est un très bon algorithme !
• 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
• L’algorithme online (et glouton et ListRight) possède un mauvais rapport d’approximation en pire cas, mais :
Comment se comportent les autres algorithmes ?
Le problème du Vertex Cover
Présentation des algorithmes
Le problème du Vertex Cover
Algorithme Rapport d’approximation en pire cas Classement
ED 2 1
MDG ≈log() 2
ListRight 3
ListLeft Au moins au plus +1 4
Algorithme Rapport d’approximation en pire cas
ED 2
MDG ≈log()
ListRight
Algorithme Rapport d’approximation en pire casAlgorithme Rapport d’approximation en pire cas
ED 2
MDG ≈log()
Algorithme Rapport d’approximation en pire cas
ED 2
Algorithme Rapport d’approximation en pire cas
Calcul de l’espérance de différents algorithmes sur les chemins
Exemple de lemme
1 2 3 k-1 k k+1 n-1 n
En passant par les séries génératrices, on peut les dérécursiver etobtenir une formule close :Lorsqu’on retire un sommet du chemin, on obtient deux autres chemins :
Le problème du Vertex Cover
1 2 3 k-1 k+1 n-1 n
17
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))
Le problème du Vertex Cover
Algorithme Limite de l’espérance du rapport d’approximation
ClassementEn moyenne En pire cas
GIC 1 1 2
MDG 1+e-2 ≈ 1.13 2 3
ListRight 1+e-2 ≈ 1.13 3 4
ListLeft 4/3 ≈ 1.33 4 1
Algorithme Limite de l’espérance du rapport d’approximation
MDG 1+e-2 ≈ 1.13
ListRight 1+e-2 ≈ 1.13
ListLeft 4/3 ≈ 1.33
ED 2-2e-2 ≈ 1.73
Conclusion / Perspectives
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
Le problème du Vertex Cover
• Confirmer nos résultats expérimentaux par des résultats théoriques. Notamment, prouver la conjecture suivante :
• 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 »