Un algorithme d’approximation pour le
sous-digraphe fortement connexe minimal.
St´
ephane Bessy
Laboratoire LaPCS, Universit´e Claude Bernard Lyon 1, 50 Avenue Tony Garnier, 69007 Lyon, France.
Dans cet article, nous ´etudions le probl`eme du sous-digraphe couvrant minimum d’un digraphe D. Ce probl`eme est
NP-difficile et le meilleur algorithme polynomial d’approximation, du `a A. Vetta [5], a un rapport d’approximation de
3/2. Nous proposons ici un algorithme d’approximation en O V D 4avec un rapport 1 2αD V D , o`u αDest
la stabilit´e de D. Cet algorithme est donc meilleur lorsque le digraphe consid´er´e est dense (αD V D 4) .
Keywords: algorithme d’approximation, probl`eme MSSS, sous-digraphe couvrant minimum.
1 Introduction
Dans un r´eseau, lorsque l’on veut ´etablir une communication de groupe,on recherche une sous-structure de
coˆut minimum qui sera d´edi´ee `a cette communication. Dans une telle structure, un message doit pouvoir
ˆetre achemin´e de tout membre du groupe vers tout autre. Si on mod´elise le r´eseau par un graphe non
orient´e, cela revient `a trouver un sous-graphe connexe de coˆut minimum, couvrant tous les membres du
groupe. C’est le probl`
eme de l’arbre de Steiner qui est NP-difficile (cf [4]). Cependant lorsque le groupe
est l’ensemble des nœuds du r´eseau, c’est le probl`
eme de l’arbre couvrant de poids minimum qui peut ˆetre
r´esolu polynomialement avec les algorithmes tr`es connus de Kruskal et Prim.
Malheureusement, beaucoup de r´eseaux ne peuvent pas ˆetre mod´elis´es par un graphe non orient´e. Par ex-
emple, dans un r´eseau ad-hoc, un nœud apeut disposer de suffisamment de puissance pour ´emettre jusqu’`a
un nœud balors que le nœud bne puisse pas faire l’inverse. Dans cet article, nous ´etudions donc le cas o`u
le r´eseau est mod´elis´e par un graphe orient´e ou digraphe. Un r´eseau dans lequel la communication entre
tout couple de nœuds est possible correspond `a un digraphe D fortement connexe, c’est-`a-dire dans lequel,
pour tout couple de sommets x y , il existe un chemin de x`a ydans D. De plus, nous consid´ererons le cas
dans lequel le groupe consid´er´e est l’ensemble des nœuds du r´eseau et o`u les arˆetes sont toutes de mˆeme
coˆut 1. Le probl`eme est donc de trouver un sous-digraphe fortement connexe couvrant minimum :
Probl`
eme MSSS (Minimum Strong Spanning Sub-digraph):
Instance : Dun digraphe fortement connexe.
Question : Trouver un sous-digraphe fortement connexe couvrant Det ayant un nombre minimum d’arcs.
Contrairement au cas non orient´e, ce probl`eme est NP-difficile car il contient le probl`eme de l’existence
d’un circuit hamiltonien. Le meilleur algorithme d’approximation connu, dˆu `a A. Vetta [5], a un rap-
port d’approximation de 3 2, i.e. il fournit un sous-digraphe couvrant Dfortement connexe ayant au plus
3
2msss D arcs avec msss D le nombre d’arcs minimum d’un sous-digraphe couvrant fortement connexe.
Un stable de Dest un ensemble de sommet de Ddeux-`a-deux non reli´es dans D. La stabilit´
ede D,
not´ee αD, est la taille d’un plus grand stable de D. Dans cet article, nous exposons un algorithme en
O V D 4, correspondant au th´eor`eme suivant :
Th´
eor`
eme 1 Tout digraphe D fortement connexe poss`
ede un sous-digraphe couvrant fortement connexe
ayant au plus V D 2αD2arcs.
St´
ephane Bessy
Comme msss D V D , celui-ci poss`ede au plus 1 2αD V D msss D arcs. Le rapport
d’approximation de cet algorithme est donc au plus 3 car αD V D et est proche de 1 lorsque αD
est petit, c’est-`a-dire que le graphe est dense. En particulier, lorsque αD V D 4 notre algorithme est
meilleur que celui de A. Vetta.
Seuls certains points de l’algorithme sont d´etaill´es, une ´etude plus pr´ecise peut se trouver dans [1] ou [2].
2 Cas d’un sommet dominant.
Le coeur de l’algorithme repose sur le cas particulier o`u un sommet domine tout le digraphe. Pour un
sommet w, on note NDw(ou w) l’ensemble des voisins sortants de w, et NDw(ou w) l’ensemble des
voisins entrants de w. On suppose donc dans cette partie que w w w couvre D. On suppose de plus
que Dne contient pas de circuits de longueur 2, ceux-ci s’´eliminant facilement grˆace `a un pr´e-traitement.
2.1 Structures de donn´
ees.
Pour un chemin Pde D, on note dPson d´
ebut,f P sa fin et l P sa longueur. Lint´
erieur de P, c’est-
`a-dire P d P f P est not´e P. Si xet ysont des sommets de P, on note xPy le sous-chemin de P
(possiblement vide) de d´ebut xet de fin y. On note plus simplement Py le chemin d P Py et xP le chemin
xPf P . Si Pa pour sommets x1xk, on note P x1xk. Enfin, si Aet Bsont deux ensembles de
sommets de Ddisjoints, Pest un AB-chemin si d P A,f P B et P A B /
0.
Une anse est un chemin Ppour lequel on permet ´eventuellement que dP f P .
Une arborescence sortante est une orientation d’un arbre dans laquelle tout sommet a degr´e entrant au
plus 1. Le seul sommet de degr´e entrant 0 est appel´e la racine. Les sommets de degr´e sortant 0 sont les
feuilles. De fac¸on duale, on d´efinit une arborescence entrante.
Une bi-arborescence A est l’union d’une arborescence entrante Aet d´une arborescence sortante A,A
et Aayant uniquement leur racine en commun. Les feuilles de A(resp. A) sont appel´ees les feuilles
entrantes de Aet not´ees fe A (resp. feuilles sortantes de Aet not´ees fs A ). La racine commune est
appel´ee centre de Aet not´ee c A . Notons que le centre de Apeut ˆetre une feuille de A, si Aou Aest con-
stitu´ee d’un seul sommet. Les sommets de Aqui ne sont pas des feuilles sont appel´es sommets internes de A.
Fixons un sommet wde D. Un w-syst`
eme de Dest un ensemble S W A1AkP1Pl, o`u W
et Ai, pour 1 i k, sont des bi-arborescences dont les centres sont respectivement wet ai, et o`u Pj, pour
1j l, sont des anses, le tout v´erifiant les propri´et´es suivantes :
i) Les ensemblesV W V A1V AkV P1V Plsont deux-`a-deux disjoints.
ii) Le digraphe RSform´e par W A1AkP1Plest un sous-digraphe couvrant de D, on le nomme
r´
ealisation de S.
iii) Le d´ebut (resp. la fin) de Pj, pour 1 j l, est un sommet sortant (resp. entrant) d’une Aiou de W.
iv) Tout sommet xde D, except´e possiblement w, v´erifie dRSx1 et dRSx1.
v) Pour 1 i k, les voisins sortants (resp. les voisins entrants) de aidans RSsont des voisins entrants
(resp. des voisins sortants) de wdans D.
On nomme lle nombre d’anses de Set kle nombre d’arbres de S. La r´ealisation d’un w-syst`eme n’est
pas forc´ement fortement connexe cependanton peut contrˆolerle nombre d’arcs de cette r´ealisation grˆace au
r´esultat suivant (voir [1]).
Lemme 1 La r´
ealisation d’un w-syst`
eme couvrant D et ayant l anses et k arbres poss`
ede au plus V D
l k arcs.
PourSunw-syst`eme de D, on noteASl’ensemble des bi-arborescences A1Ak,WSla bi-arborescence
Wet CHSl’ensemble des anses de S. Pour un sommet xde S,arbSxd´esigne la bi-arborescence de S
contenant xsi elle existe et chSxl’anse de Scontenant xsi elle existe et est unique.
Algorithme d’approximation pour le sous-digraphe fortement connexe minimal.
2.2 w-syst`
eme initial.
Il s’agit maintenant de construire un w-syst`eme de D. Un ´
etoile entrante est une union de chemins de
longueur 1 ayant la mˆeme fin, c’est-`a-dire une arborescence entrante de hauteur 1. On d´efinit de mani`ere
similaire une ´
etoile sortante. On note Xles voisins sortants de wdans wet Yles voisins entrants de
wdans w. On recouvre X Y par un ensemble Et d’´etoiles entrantes et sortantes disjointes tel que toute
´etoile entrante (resp. sortante) ait ses feuilles entrantes (resp. sortantes) dans w(resp. w) et sa feuille
sortante (resp. entrante) dans w(resp. w). Cette construction se fait simplement de mani`ere gloutonne
sur les sommets de X Y. En prolongeant Et par des arborescences sortantes sur wet des arborescences
entrantes sur w, on peut alors construire les bi-arborescences Aidu w-syst`eme initial de D.
SYSTEME-INITIAL D Et;S
1CHS/
0;ASw Et;
2V V X Y w );
3pour y V faire
4si y w alors on choisit Pun (y V S )-chemin; arbSf P arbSf P P;
5si y w alors on choisit Pun (V S y)-chemin; arbSd P arbSd P P;
6pour A ASfaire
7si fe A 1alors ASASAet WSWSA wf ; (o`u f fe A )
8si fs A 1alors ASASAet WSWSA fw ; (o`u f fs A )
9pour A ASWSfaire
10 pour x fe A faire CHSCHSwx ;
11 pour x fs A faireCHSCHSxw ;
La construction des bi-arborescences couvrant w w , effectu´ee aux lignes 3 `a 5, demande un temps
en O V D E D . Les lignes 6 `a 8 servent `a rattacher les arborescences entrantes ou sortantes `a WSet
consomment un temps en O V D . Enfin, la cr´eation des chemins de Sdes lignes 9 `a 11 consomme un
temps en O V D . Finalement, SYSTEME-INITIAL fonctionne en O V D E D .
2.3 R´
eduction du nombre d’anses.
L’algorithme suivant permet de r´eduire la taille d’un ensemble de chemins disjoints Pcouvrant un sous-
ensembleVde sommets de Dtant que PαD V . Cet algorithme s’appuie sur la preuve du Th´eor`eme
de Gallai-Milgamdonn´ee par J. A.Bondy [3]. Pour un ensemblePP1Ppde pchemins, l’algorithme
renvoie s0 et Q/
0si la r´eduction n’est pas possible (ce qui arrive si αD V p), et s1 si la
r´eduction est possible. Dans ce dernier cas, Qcontient les p1 chemins r´esultants. De plus les d´ebuts
(resp. fins) des chemins de Qforment un sous-ensemble des d´ebuts (resp. fins) des chemins de P.
ECHANGE-CHEMINS(DP;sQ)
1si il existe iet jtels que d Pid PjEalors
2P1Pi;P2Pj;
3si l P10alors
4s1 ; Q1d P1P2;pour i2p1faire QiPi1;
5sinon x d P1;y d P2;z d P1x;
6 ECHANGE-CHEMIN(D x P1x P2Pp;sQ);
7si s1alors si on trouve itel que d Qiz;QixQi;
8sinon on trouve itel que d Qiy;QixQi;
9sinon s0 ; Q/
0;
En omettant l’appel r´ecursif de la ligne 6, les instructions des autres lignes consomment un temps en
O p2, ceci `a cause des recherches effectu´ees lignes 1, 7 et 8. On effectue r´ecursivement des appels `a
ECHANGE-CHEMINS tant que l P10 et `a chaque fois Dperd un sommet. Donc, au pire on effectue
V p 1 appels (en comptant l’appel initial). Donc, ECHANGE-CHEMINS a un temps d’ex´ecution
St´
ephane Bessy
total en O p2V p , majorable par O V 3.
L’algorithme suivant permetde r´eduire un w-syst`eme Sde Den un w-syst`eme Sdont les feuillesentrantes
(resp. sortantes) des bi-arborescences ont toutes degr´e entrant (resp. sortant) sup´erieur ou ´egal `a 2. On
pourra ainsi appliquer un ´echange de chemins sur l’int´erieur des anses de Sen conservant la propri´et´e iv)
de la d´efinition des w-syst`emes.
REDUCTION D S;S
1FS /
0;pour AASWSfaire FS FS fs A w ;
2FE /
0;pour AASWSfaire FE FE fe A w ;
3tant que FS /
0faire pour xFS
4cas 1: dRSx2alors FS FS x;
5cas 2: dRSx1 et xn’est pas centre de arbSxalors
6 on trouve yle voisin entrant de xdans RS;
7arbSx arbSx x;chSx yx chSx;FS FS x y :
8cas 3: dRSx1, xest centre de arbSxet f chSx arbSxalors
9arbSf chSx arbSx chSx arbSf chSx;
10 FS FS x;FE FE f chSx;
11 ASASarbSx;CHSCHSchSx;
12 cas 4: dRSx1, xest centre de arbSxet f chSx arbSxalors
13 On construit le circuit C, union de chSxet du chemin de f chSx`a xdans arbSx;
14 on trouve y w C et z w successeur de ysur C;
15 FS FS x;FE FE z f ch x;S;
16 WSWSarb x;S ch x;S yw yz;CHSCHSwz chSx;
17 Sym´etriquement, on traite FE, l’ensemble des feuilles entrantes des bi-arborescences de S;
Quatre cas possibles peuvent apparaˆıtre et il n’est, a priori, pas clair que l’algorithme termine. Une
preuve de cela est donn´ee dans [1], il est, de plus, montr´e que les cas 3et 4se produisent au plus O V D
fois par appel de l’algorithme REDUCTION. A cause des tests des lignes 8 et 12 et de la recherche `a la
ligne 14, les cas 3et 4ont chacun une ex´ecution en O V D . Les cas 1et 2ont un temps d’ex´ecution
constant et s’ex´ecutent au plus V D fois. Finalement, REDUCTION consomme un temps en O V D 2.
Enfin, l’algorithme SYSTEME permet d’obtenir un w-syst`eme Sde Dayant au plus αD w w
anses.
SYSTEME(D Et;S)
1 SYSTEME-INITIAL(D Et;S1);
2s1;
3tant que s1faire
4 REDUCTION(D S1;S2);
5si il existe P PS2tel que l P 1alors PS2PS2P;
6sinon ECHANGE-CHEMINS(D P :P PS2;s,P);
7pour PPfaire
8y NRS1d P ;z NRS1f P ;P yPz;
9CHS2P;
10 S1S2;
11 S S1;
Pour calculer le temps d’ex´ecution de SYSTEME, il suffit de s’int´eresser `a la boucle des lignes 3 `a 10,
celle-ci s’ex´ecutant tant qu’il est possible de r´eduire le nombre d’anses de S, c’est-`a-dire au plus V D 1
fois. L’appel `a ECHANGE-CHEMINS demande le plus de temps parmi les instructions des lignes 4 `a 10,
c’est-`a-dire un temps en O V D 3, et finalement, SYSTEME s’ex´ecute en O V D 4.
Algorithme d’approximation pour le sous-digraphe fortement connexe minimal.
2.4 Recouvrement fortement connexe.
Le nombre d’anses du w-syst`eme S´etant maintenant major´e par αD w w , il ne reste plus qu’`a rendre
sa r´ealisation fortement connexe sans trop augmenter le nombre d’arcs. Un tel sous-digraphe Rde Dest
fourni par l’algorithme suivant.
RECOUVREMENT(D S;R)
1R RS;
2tant que Rn’est pas fortement connexe faire
3 choisir Xune composante fortement connexe de Rqui ne contient pas wavec X2;
4 choisirCun circuit de Xet trouver dans Cun arc xy tel que x w et y w ;
5R R xwy xy;
Il est prouv´e dans [1] que RECOUVREMENT retourne un sous-digraphe fortement connexe couvrant
Det ayant au plus V D αD1 arcs. La recherche des composantes fortement connexe de RSaux
lignes 2 et 3 demande un temps en O E D . Les autres instructions demandant un temps n´egligeable,
RECOUVREMENT consomme un temps en O V D 2.
3 Algorithme principal.
Pour un digraphe Dfortement connexequelconque, il est alors possible de fourniren temps polynomialune
1 2αD V D -approximation pour le probl`eme MSSS en utilisant les algorithmes pr´ec´edents. En
r´esum´e, un tel algorithme choisit un sommet w1de D, construit un digraphe auxiliaire Dw1contenantw1,w1
et w1tel que tout sous-digraphe fortement connexe couvrant Dw1corresponde `a un sous-digraphe fortement
connexe Dw1de Dcontenant w1,w1et w1. Les algorithmes SYSTEME et RECOUVREMENT permettent
de construire untel Dw1contenant au plus Dw1αD w1w11 arcs. L’algorithme contractealors Dw1
en un sommet w2et poursuit r´ecursivement la construction. Le fait que les structures Dwisoient disjointes
nous assure que le temps d’ex´ecution total sera au plus en O V D 4. Un calcul pr´ecis de la stabilit´e du
digraphe Dvis-`a-vis de la stabilit´e des digraphes Dwi(voir [1]) permet d’affirmer que l’ensemble d’arcs
retourn´e par l’algorithme correspond aux arcs d’un sous-digraphe fortement connexe couvrant Det a taille
au plus V D 2αD2.
References
[1] S. Bessy. Stabilit´e et d´ecomposition en circuits d’un digraphe, Th`
ese de doctorat, 2003.
[2] S. Bessy and S. Thomass´e. Every strong digraphhas a spanningstrong subgraph with at most n2α2
arcs. Journal of Combinatorial Theory Ser. B,87 (2): 289-299, 2003.
[3] J. A. Bondy. A short proof of the Chen-Manalastas theorem. Discrete Math.,146 (1-3): 289-292, 1995.
[4] F. K. Hwang, D. S. Richards and P. Winter, The Steiner tree problem, Ann. Discrete Math.,53, North-
Holland, Amsterdam, 1992.
[5] A. Vetta. Approximating the minimum strongly connected subgraph via matching lower bound. Pro-
ceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms (Washington DC, 2001:
417-426, Philadelphia, PA, 2001. SIAM.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !