de CDN
Nousappelonsi i
Mg
= (E,Fg)
etMk
= (E,Fk)
, quidésignentrespe tivementlematroïde desous-graphespartielsa y liques,etlematroïdedesous-graphestelsquedeg(o)≤ k
.Lafon - tionde oûtest lafon tionc : 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êtesoi∈ 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ïdeMk
seraégaleàFn
ouCLk=
Eo
. Une fois la fermeture égale àCLk
à une itérationn
, la fermeture reste onstante à une itérationm > n
.Démonstration. Nous remarquons tout d'abord que pour le matroïde
Mk
, la fermeture d'unClk(F )
pourunensembleF
∈ F
donnéestégaleàF
, tantquela ontraintededegrén'estpas serrée(deg(o) < k
).Celasignie qu'au unar deG = (E, A)
pourlematroïdeMk
nesera réé tant quedeg(o) < k
. Lorsqu'elle sera ensuite serrée (deg(o) = k
), la fermeture sera onnue : il s'agiratout simplement des arêtes de l'ensembleEo
(puisque l'on ne peut ajouter un autre élémente∈ 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
etEg6= ∅
,ilexiste unélémente∈ 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)queEk
= E− Fk
. OnadonEg
⊆ Ek
, e quiveutdirequel'interse tionde esensemblesest nonnulle tantqueEg
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 ontraintedeg(o)≤ k
soit serrée(d'après12).Si l'on nommeH
l'ensemble desarêtesatteintes depuisEg
,onremarquequ'ilnepeutpas ontenirunepartiedeE−CLk
sansqu'un heminexiste deEg
àEk
, arck(e) = 0,∀e ∈ E − CLk
.Ce isignieau un hangementde oûtck(e)
pourles élémentsE− CLk
.Parré urren e, etteassertionresteravraiejusqu'àlandel'algorithme. Remarque 1. De manière analogue, les poidscg(e),∀e ∈ E − CLk
ne hangeront pas (leurs hangements peuvent uniquement survenir si le oût de l'élémente
selon le se ond matroïde dièreégalement).Proposition 14. Une foisla ontrainte
deg(o)≤ k
serrée, àtouteitérationEk
= E− Eo
. Démonstration. Unefoisla ontrainteserrée,ilestimpossiblede hoisirunélémente
deEo
sans violer la ontrainte, et don respe ter l'appartenan eà lafamille du matroïdeMk
. D'aprèsla propriété13,les oûtsck(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ïdeMg
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'ensembleEo
,nous savonsque et élément peutêtrerajoutédansnotreensembleFn
d'aprèslapropriété13.Unefoisla ontrainteserrée,lesar sselonlematroïdededegré
Mk
,seront onstruitsystéma- tiquementàpartirdesarêtesEo
quin'ontpasétépris vers euxqui ontétéprisdansFn
,et qui possèdentun oûtck
identique.L'algorithmepour réerlesar sd'unélémente
estrésumédansle pseudo- ode6.Sa omplexitéestdonnéeparO(k)
(nombred'arêtesdeEo
prisesdansFn
àtester). D'autrepart,lesar sdeMg
seront onstruitsàpartirdesarêtesFn
in lusesdansEo
(d'après 2), vers ellesqui doiventêtreretiréespourne pasformerde y le.L'algorithmepour réerles ar sd'unélémente
estrésumédanslepseudo- ode7.Sa omplexitéestdonnéeparO(|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émentEo∩ Fn
l'ensembleE
+(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ïdeMk
quipeuvent êtreajoutéssansviolerla ontraintededegré(étape4).Ils'agitsoitdeE
( ontraintenonserrée) soitdeE− 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émentdeFn
appartenantàEo
(étape9). Nous her hons ensuitel'ensemble desarêtesqui peuvent êtreatteinte depuisl'ensembledes élémentsde oûts minimumselonlematroïdeMg
(étape10).Sinouspouvons réerun heminversunélémentdeE− CLk
, alors onee tue latransformation pour ajouterl'élément (diéren e symétriquedeFn
ave le heminp
)(étape12).Sinonon "bas ule"unepartie des oûtsdel'ensembleatteint, entrelesdeuxmatroïdesdefaçonà"pénaliser"le hoixdumatroïdegraphiqueMg
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 deH
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àajoutere
pour haquematroïdes.La omplexité minimaleentre lesdeuxmatroïdesestdonO(|E|log(|E|))
.Ensuite nousdevronsensuiteéventuellement réerlegraphe
G = (E, A)
auplustt aprèsk
itérations.Cette onstru tionné essitek
appelspour haquearêtee∈ Eo∩ Fn
.Onadon une omplexitétotalepourla réationdugraphedeO(k.|E|)
,donnéeparla omplexitémaximalede l'algorithme7.Leplus ourt heminparuneméthodedebreadth-rstsear hpeutêtreee tuée enO(|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édeO(|E|.log(|E|) + (|E| − k).k.|E|)
.Remarque3. Nousremarquonsquepourles asparti uliers