Comparaison de 4 algorithmes pour le problème du vertex cover

21
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’Ev Christian Laforest (LIMOS, Université Blaise Pascal de Clermont-Fe

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 Presentation

Transcript of Comparaison de 4 algorithmes pour le problème du vertex cover

Page 1: Comparaison de 4 algorithmes pour le problème du vertex cover

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)

Page 2: Comparaison de 4 algorithmes pour le problème du vertex cover

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

Page 3: Comparaison de 4 algorithmes pour le problème du vertex cover

Présentation du problème

Une couverture Une couverture optimale

Un problème NP-complet

Le problème du Vertex Cover

[email protected] 3

≈log()

Page 4: Comparaison de 4 algorithmes pour le problème du vertex cover

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

[email protected]

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

Page 5: Comparaison de 4 algorithmes pour le problème du vertex cover

L’algorithme online et les étoiles

[email protected]

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

Page 6: Comparaison de 4 algorithmes pour le problème du vertex cover

L’algorithme on line est 2-approché en moyenne

[email protected]

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

Page 7: Comparaison de 4 algorithmes pour le problème du vertex cover

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.

[email protected]

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

Page 8: Comparaison de 4 algorithmes pour le problème du vertex cover

Démonstration : l’algorithme on line est 2-approché en moyenne

[email protected]

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

Page 9: Comparaison de 4 algorithmes pour le problème du vertex cover

Démonstration : l’algorithme on line est 2-approché en moyenne

[email protected]

Le problème du Vertex Cover

9

≤0

Page 10: Comparaison de 4 algorithmes pour le problème du vertex cover

Démonstration : l’algorithme on line est 2-approché en moyenne

10 [email protected]

Le problème du Vertex Cover

Ce qui prouve le résultat !

Page 11: Comparaison de 4 algorithmes pour le problème du vertex cover

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

11 [email protected]

Le problème du Vertex Cover

online liste offline

Manipulation/connaissance du graphe

Page 12: Comparaison de 4 algorithmes pour le problème du vertex cover

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 .

12 [email protected]

Le problème du Vertex Cover

4 5 3 21 6

1 2

3 4 5 6

Page 13: Comparaison de 4 algorithmes pour le problème du vertex cover

L’algorithme List-Right

Algorithme List-Right

Nous avons proposé un autre algorithme de liste (IPL 2008):

13 [email protected]

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

Page 14: Comparaison de 4 algorithmes pour 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.

14 [email protected]

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

Page 15: Comparaison de 4 algorithmes pour le problème du vertex cover

L’algorithme on line est un très bon algorithme !

15 [email protected]

• 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

Page 16: Comparaison de 4 algorithmes pour le problème du vertex cover

Présentation des algorithmes

16 [email protected]

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

Page 17: Comparaison de 4 algorithmes pour le problème du vertex cover

Calcul de l’espérance de différents algorithmes sur les chemins

[email protected]

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

Page 18: Comparaison de 4 algorithmes pour le problème du vertex cover

Bilan des performances des différents algorithmes sur les chemins

18 [email protected]

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

Page 19: Comparaison de 4 algorithmes pour le problème du vertex cover

Graphes de Erdös-Renyi

19 [email protected]

Le problème du Vertex Cover

Page 20: Comparaison de 4 algorithmes pour le problème du vertex cover

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

20 [email protected]

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 »

Page 21: Comparaison de 4 algorithmes pour le problème du vertex cover

Lundi 4 octobre 2010

Je vous remercie de votre attention.

C’est terminé !

[email protected]