• Aucun résultat trouvé

Algorithme de lo alisation de k a hes et déploiement de CDN

de CDN

Nousappelonsi i

Mg

= (E,Fg)

et

Mk

= (E,Fk)

, quidésignentrespe tivementlematroïde desous-graphespartielsa y liques,etlematroïdedesous-graphestelsque

deg(o)≤ k

.Lafon - tionde oûtest lafon tion

c : E

→ R

+

orrespondantàl'installationd'unearête(l'installation des a hes orrespond également, surle graphe,àl'installationd'une arête). Nousappelons

Eo

l'ensembledesarêtes

oi∈ E, i ∈ V − {s}

.

Pour onstruire notre algorithme de résolution exa t et polynomial, nous allons appliquer l'algorithme générald'interse tion de deuxmatroïdes, en ee tuantle maximumdesimpli a- tions.Pour efairenousallons ommen erparexhiberquelquespropriétés.

Le le teur remarqueraqu'ils'agit i i d'unproblème de minimisationdu oût de l'ensemble indépendant maximal, et non de maximisation du oût de l'ensemble maximal. Il onviendra naturellement,d'adapterl'algorithmeen onséquen e.

2.5.1 Propriétés parti ulières

Nous introduisons quelques propriétés qui nous servirontà réduire le nombre d'étapes né- essaires ànotre algorithme.Lesnotations utiliséesi i sontles mêmesque ellesdonnées pour l'algorithmegénérald'interse tiondedeuxmatroïdes.

Proposition11. Lafermetured'unensemble

Fn

surlematroïde

Mk

seraégaleà

Fn

ou

CLk=

Eo

. Une fois la fermeture égale à

CLk

à une itération

n

, la fermeture reste onstante à une itération

m > n

.

Démonstration. Nous remarquons tout d'abord que pour le matroïde

Mk

, la fermeture d'un

Clk(F )

pourunensemble

F

∈ F

donnéestégaleà

F

, tantquela ontraintededegrén'estpas serrée(

deg(o) < k

).Celasignie qu'au unar de

G = (E, A)

pourlematroïde

Mk

nesera réé tant que

deg(o) < k

. Lorsqu'elle sera ensuite serrée (

deg(o) = k

), la fermeture sera onnue : il s'agiratout simplement des arêtes de l'ensemble

Eo

(puisque l'on ne peut ajouter un autre élément

e∈ Eo

sansviolerla ontraintededegré,tandisquelesautresar snesontpas on ernés par ette ontrainte).

Lesar slientdeuxélémentsàl'intérieurdelafermeture.L'utilisationdel'und'euxgénérera unepermutation àl'intérieur delafermeture, ette dernièrene hangeradon pas.

Lafermeturerestera don unensemble onstantjusqu'àlandel'algorithme, quelquesoit

Proposition12. Au oursdel'algorithme,tantquele ontrainte

deg(o) < k

et

Eg6= ∅

,ilexiste unélément

e∈ Eg∩ Ek

.

Démonstration. Avant quela ontrainte dedegré soit serréetousles oûts

ck(e)

seront nulset identiques, equisignie,d'aprèslapropriété(2.5.1)que

Ek

= E− Fk

. Onadon

Eg

⊆ Ek

, e quiveutdirequel'interse tionde esensemblesest nonnulle tantque

Eg

6= ∅

.

Proposition 13. Les oûts

ck(e), e∈ E − Eo

,resteront nulsà haqueitération.

Démonstration. Les oûts

ck(e), e

∈ E

sont initialement nuls, et le restent jusqu'à e que la ontrainte

deg(o)≤ k

soit serrée(d'après12).Si l'on nomme

H

l'ensemble desarêtesatteintes depuis

Eg

,onremarquequ'ilnepeutpas ontenirunepartiede

E−CLk

sansqu'un heminexiste de

Eg

à

Ek

, ar

ck(e) = 0,∀e ∈ E − CLk

.Ce isignieau un hangementde oût

ck(e)

pourles éléments

E− CLk

.Parré urren e, etteassertionresteravraiejusqu'àlandel'algorithme. Remarque 1. De manière analogue, les poids

cg(e),∀e ∈ E − CLk

ne hangeront pas (leurs hangements peuvent uniquement survenir si le oût de l'élément

e

selon le se ond matroïde dièreégalement).

Proposition 14. Une foisla ontrainte

deg(o)≤ k

serrée, àtouteitération

Ek

= E− Eo

. Démonstration. Unefoisla ontrainteserrée,ilestimpossiblede hoisirunélément

e

de

Eo

sans violer la ontrainte, et don respe ter l'appartenan eà lafamille du matroïde

Mk

. D'aprèsla propriété13,les oûts

ck(e), e∈ E − Eo

seronttouségauxetnulsàtouteitération.Celasignie quel'onpeut hoisirundesélémentsde etensembledemanièreindiéren iée.

Remarque 2. Ce i est parti ulièrement intéressant, arsinous ne voulons prendrequ'un élé- mentde

Ek

= E− Eo

.Sil'unestatteignable,onse hed'enatteindreunautre:iln'estdèslors pasné essairede onstruirelesar sselonlematroïde

Mg

qui relient deuxarêtesàl'intérieurde etensemble.

2.5.2 Simpli ations

Nous allonsdon pouvoirsupprimer/ra our irdesétapesdel'algorithme général.Dansun premiertemps,nouspourronsappliquerl'algorithmedeKruskaljusqu'à equela ontraintede degrésoit serréed'aprèslapropriété 12.Parlasuite,si unélément"préféré"ausensdes oûts parlematroïde graphique

Mg

nefait paspartiede l'ensemble

Eo

,nous savonsque et élément peutêtrerajoutédansnotreensemble

Fn

d'aprèslapropriété13.

Unefoisla ontrainteserrée,lesar sselonlematroïdededegré

Mk

,seront onstruitsystéma- tiquementàpartirdesarêtes

Eo

quin'ontpasétépris vers euxqui ontétéprisdans

Fn

,et qui possèdentun oût

ck

identique.L'algorithmepour réerlesar sd'unélément

e

estrésumédansle pseudo- ode6.Sa omplexitéestdonnéepar

O(k)

(nombred'arêtesde

Eo

prisesdans

Fn

àtester). D'autrepart,lesar sde

Mg

seront onstruitsàpartirdesarêtes

Fn

in lusesdans

Eo

(d'après 2), vers ellesqui doiventêtreretiréespourne pasformerde y le.L'algorithmepour réerles ar sd'unélément

e

estrésumédanslepseudo- ode7.Sa omplexitéestdonnéepar

O(|E|)

(test des

|E|

arêtesquipeuventre réerune omposante onnexea y liquestigme).

Onremarquealorsqu'unefoisla ontrainteserréel'ensembledesarêtes

Eo∩ Fn

vontformer une sortede"hub" parlequeld'éventuels hemin vontpasser.Ilnoussut don de réerpour haque élément

Eo∩ Fn

l'ensemble

E

+(e)

desarêtes "prédé esseurs",et

E

(e)

Reprenonsàprésentl'algorithmeprin ipal,et equ'ildevientdans8.Nousdevonsajouterun élémenttantque elaestpossible(répétitiondesétapesde3à19).Onre her helesélémentsde oûtsminimaux selonlematroïde

Mg

qui peuventêtreajoutéssansgénérerde y le(étape3). Nousdéterminonsl'ensembledesélémentsde oûtsminimauxselonlematroïde

Mk

quipeuvent êtreajoutéssansviolerla ontraintededegré(étape4).Ils'agitsoitde

E

( ontraintenonserrée) soitde

E− Eo

( ontrainteserrée).

S'ilexisteunélémentdel'interse tionde esdeuxensemble(étape5),nousl'ajoutons(étape 6et 7).

Sipar ontre etteinterse tionestnulle,alorsnous onstruisonslegraphe

G = (E, A)

àl'aide desalgorithmes7et 6,pour haqueélémentde

Fn

appartenantà

Eo

(étape9). Nous her hons ensuitel'ensemble desarêtesqui peuvent êtreatteinte depuisl'ensembledes élémentsde oûts minimumselonlematroïde

Mg

(étape10).Sinouspouvons réerun heminversunélémentde

E− CLk

, alors onee tue latransformation pour ajouterl'élément (diéren e symétriquede

Fn

ave le hemin

p

)(étape12).Sinonon "bas ule"unepartie des oûtsdel'ensembleatteint, entrelesdeuxmatroïdesdefaçonà"pénaliser"le hoixdumatroïdegraphique

Mg

sur esarêtes (étapes14et15).Cediérentiel

δ

est al uléàpartirdesalgorithmes7et6 ommelediérentiel de oût ( oût del'arête d'arrivée moins le oût de l'arêtede départ) des ar s divergents de

H

telsqu'ils auraient pu être réés par l'algorithme de onstru tion d'ar s sans la ontrainted'égalitéde oût(étape13).Lele teurpourraremarquerlelienave lanotionde valeurdevariabledualeasso iéeaux ontrainted'a y li itéet dedegré

k

.

Théorème 15. Notrealgorithmepossède une omplexité de

O(|E|.log(|E|) + (|E| − k).k.|E|)

. Démonstration. La omplexitéde etalgorithmepeutêtre al ulé ommesuit.Noussavonsque nousdevrons al ulerle(s)meilleursélémentsàajouter

e

pour haquematroïdes.La omplexité minimaleentre lesdeuxmatroïdesestdon

O(|E|log(|E|))

.

Ensuite nousdevronsensuiteéventuellement réerlegraphe

G = (E, A)

auplustt après

k

itérations.Cette onstru tionné essite

k

appelspour haquearête

e∈ Eo∩ Fn

.Onadon une omplexitétotalepourla réationdugraphede

O(k.|E|)

,donnéeparla omplexitémaximalede l'algorithme7.Leplus ourt heminparuneméthodedebreadth-rstsear hpeutêtreee tuée en

O(|E|)

,mais ette omplexitéestdéjàdominéeparla onstru tiondesar s.Enn, ommeil resteraauplus

|E| − k

élémentsàajouter,soit autantd'itérationsàfaire,nous obtenonsnotre omplexitéde

O(|E|.log(|E|) + (|E| − k).k.|E|)

.

Remarque3. Nousremarquonsquepourles asparti uliers

k = 0

ou

k =|E|

,nousretrouvons la omplexité del'algorithmedeKruskal.Lepremier asréduittoutsimplementleproblème ave unn÷udenmoins, etlese ondestune relaxation impli ite dela ontrainte de degré.

Documents relatifs