Transcript Algorithme

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 d215 |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