4. Gomory-Hu Tree Cílem éo kapioly je popa daovou rukuru, kerá velice kompakně popiuje minimální -řezy pro všechny dvojice vrcholů, v daném neorienovaném grafu. Tuo rukuru poprvé popali Gomory a Hu v článku[1]. Zaím umíme naléz minimální -řez pro zadanou dvojici vrcholů v neorienovanémgrafuvčae τ= O(n 2/3 m)projednokovékapaciy, O(n 2 m)proobecné. Naléz minimální -řez pro každou dvojici vrcholů bychom edy dokázali v čae O(n 2 τ).tenovýledekbudemechízlepši. Značení:Máme-ligraf(V, E)aU V, δ(u)značíhranyvedoucímezi U a U, formálněedy δ(u)=e ((U U) (U U)).Kapaciuřezu δ(w)budemeznači d(w) a r(, ) bude kapacia nejmenšího -řezu. Pozorování: Minimální řez rozděluje graf jen na dvě komponeny(všimněe i, že pro eparáory nic akového neplaí) a každý minimální řez je ím pádem vždy možné zapajako δ(w)pronějakoumnožinu W V. Gomory-Hu Tree Definice: Gomory-Hu Tree(dále jen GHT) pro neorienovaný nezáporně ohodnocený graf G=(V, E)jerom T =(V, F)akový,žeprokaždouhranu F plaí: Označíme-li K 1 a K 2 komponenylea T \,je δ(k 1 )=δ(k 2 )minimální -řez. [Pozor, F nemuí bý podmnožina původních hran E.] Dalšíznačení:Pro e F budemeřezem δ(e)označovařez δ(k 1 )=δ(k 2 )ar(e) bude jeho kapacia. K čemu akový GHT je(exiuje-li)? To nám poví náledující věa: Věa(ovyužiíGHT):Buď TlibovolnýGHTprograf Gamějmedvavrcholy a. Dálenechť PjeceavTmezivrcholy aaejehrananaceě Pminimálním r(e).pak δ(e)jeminimální -řezvg. Důkaz: Nejprve i dokážeme jedno drobné lemmáko: Lemmáko: Pro každou rojici vrcholů x, y, z plaí, že: r(x, z) min(r(x, y), r(y, z)). Důkaz: Buď W minimální xz-řez. x δ(w) z Vrchol ymuíbývjednézkomponen,pokudjevkomponeněx,pak r(y, z) d(w),proože δ(w)jeaké yz-řez.pokudvédruhé,analogicky plaí r(x, y) d(w). 1 2007-03-07
Zpěkdůkazuvěy:Chcemedokáza,že δ(e)jeminimální -řez.to,žejeonějaký řez, plyne z definice GHT. Minimaliu dokážeme indukcí podle délky cey P: P =1:Hrana ejevomopřípaděpřímo,akžeiminimaliaplyne z definice GHT. P >1:Cea Ppojujevrcholy a,jejíprvníhranuoznačme x.naše právědokázanélemmákoříká,že r(, ) min(r(, x), r(x, )).Určiěje pravda,že r(, x) r(e),proože ebylahranacey Pnejmenším r(e). To,že r(x, ) r(e),plynezindukčníhopředpokladu,proožeceamezi x a jekrašínežcea P.Doávámeak,že r(, ) min(r(, x), r(x, )) r(e). Pokud dokážeme GHT eroji, naléz minimální -řez pro libovolnou dvojici vrcholů dokážeme ejně rychle jako naléz hranu nejmenší kapaciou na ceě mezi a v GHT. K omu můžeme použí například Sleaor-Tarjanovy romy, keré uo operaci dokážou prové v amorizovaném čae O(log n), nebo můžeme využí oho, že máme pouu čau na předvýpoče, a minimální hrany i pro každou dvojici proě přichya předem. Také lze vymyle redukci na problém nalezení polečného předchůdce vrcholů ve romě(nebude o GHT) a použí jedno z řešení ohoo problému. Konrukce GHT Nyní e naučíme GHT konruova, čímž aké rozpýlíme obavy o jejich exienci. Nejprve však budeme pořebova jedno užiečné lemma hnuně echnickým důkazem: Hnuně echnické lemma(htl): Buďež, vrcholy grafu(v, E), δ(u) minimální -řezau vdvarůznévrcholyzu.pakexiujemnožinavrcholů W Uaková, že δ(w)jeminimální uv-řez. 1 W U u v δ(u) V \ U Důkaz: Nechť je δ(x) minimální uv-řez. BÚNO můžeme předpokláda, že U a U, u Xa v X a X.Pokudbyomuaknebylo,můžemevrcholy přeznači nebo někerou z množin nahradi jejím doplňkem. 1 Todůležiéaneriviálníje,žecelá WležívU. 2 2007-03-07
Nyní mohou naa náledující dva případy: a) X.Tehdyivšimneme,žeplaí: d(u X) d(u), (1) d(u X)+d(U X) d(u)+d(x) (2) Prvnínerovnoplynezoho,že δ(u X) je nějaký -řez, zaímco δ(u) je minimální -řez. Druhou dokážeme rozborem případů. X u Množinuvrcholůidijunkněrozdělímena X \U, X U, U \Xaoaní. Každý z řezů vyupujících v nerovnoi(2) můžeme zapa jako jednocení hran mezi někerými z ěcho kupin vrcholů. Vyvoříme edy abulku hran mezi čyřmi označenými kupinami vrcholů a každému řezu z(2) označíme jemu odpovídající hrany. Proože je graf neorienovaný, ačí nám jen horní rojúhelník abulky. Pro přehlednoi i označíme L 1 = δ(u X), L 2 = δ(u X), P 1 = δ(u)ap 2 = δ(x). v U X \ U X U U \ X oaní X \ U L 1, P 1 P 1, P 2 L 2, P 2 X U L 1, P 2 L 1, L 2, P 1, P 2 U \ X L 2, P 1 oaní Vidíme, že ke každé hraně řezu na levé raně nerovnoi máme vpravo jejíproějšekanavíchranymezi U \ Xa X \ Upočíámejenomvpravo. Nerovno(2) edy plaí. Nyní ačí nerovnoi(2) a(1) odečí, čímž zíkáme: d(u X) d(x), což polu obrázkem dokazuje, že δ(u X) je aké minimální uv-řez. b) X.Poupovabudemeobdobnějako v předchozím případě. Tenokrá e budou hodi yo nerovnoi: X d(x \ U) d(u) (3) d(u \ X)+d(X \ U) d(u)+d(x) (4) u v Prvníplaíproo,že δ(x \ U)jenějaký -řez, zaímco δ(u) je minimální -řez, druhou dokážeme opě důkladným rozborem případů. U 3 2007-03-07
Označme L 1 = δ(u \ X), L 2 = δ(x \ U), P 1 = δ(u)ap 2 = δ(x)a vyvořme abulku: X \ U X U U \ X oaní X \ U L 2, P 1 L 1, L 2, P 1, P 2 L 2, P 2 X U L 1, P 2 P 1, P 2 U \ X L 1, P 1 oaní Sejně jako v předchozím případě nerovno(4) plaí. Odečením(4) a(3) zíkáme: d(u \ X) d(x), z čehož opě doaneme, že δ(u \ X) je aké minimální uv-řez. Nyní e konečně doáváme ke konrukci GHT. Abychom mohli používa indukci, zavedeme i rochu obecnější GHT. Definice: Mějme neorienovaný graf(v, E). Čáečný Gomory-Hu Tree(alia ČGHT) propodmnožinuvrcholů R Vjedvojice((R, F), C),kde(R, F)jeromamnožina C= {C(r) r R}jerozkladmnožinyvrcholů V.Tenorozkladnámříká,kjakým vrcholům ČGHT máme přilepi keré vrcholy původního grafu. Navíc muí plai, že: 1. r: r C(r),nebolikaždývrcholČGHTjepřilepenámkobě,a 2. F: δ ( r K 1 C(r) ) = δ ( r K 2 C(r) ) jeminimální -řez,kde K 1 a K 2 joukomponeny(r, F) \. Věa(o exienci ČGHT): Buď(V, E) neorienovaný nezáporně ohodnocený graf. Pro každou podmnožinu vrcholů R exiuje ČGHT. Důkaz: Dokážeme indukcí podle velikoi množiny R. R =1:ČGHTmájedinývrchol r RaC(r)=V. R >1:Najdemedvojicivrcholů, Rakovou,žejejichminimální -řez δ(w)jenejmenšímožný.nynívyvořímegraf G 1 zgrafu Gkonrahovánímvšechvrcholůmnožiny Wdojednohovrcholu,kerýoznačíme v 1, avyvořímegraf G 2 z GkonrahovánímvšechvrcholůzW dojednoho vrcholu v 2. 2 2 Pročoděláme akložiě apřidávámedo G 1 vrchol v 1?Naprvnípohledo přecivypadázbyečně.problémjevom,žeikdyždlehtlležívšechnyminimální řezyoddělujícívrcholyzwvmnožiněvrcholů W,hranyěchořezůcelévpodgrafu indukovaném W leženemuí.kěmořezůmoižpaříihrany,kerémajíve W jenomjedenkonec.proojmedo G 1 přidali v 1 donějvedouvšechnyzajímavé hrany,kerémajíve Wjedenkonec.Tímzajímavémylímeo,žezkaždéhovrcholu w Wvededo v 1 nejlevnějšíhrana,keráznějvedladomnožiny V \ W,případně žádná, pokud do éo množiny žádná hrana nevedla. 4 2007-03-07
W δ(w) G 1 G 2 v 1 v 2 Dále vyvořímemnožiny vrcholů R 1 = R W a R 2 = R W. Dle indukčního předpokladu (R 1 i R 2 jou menší než R) exiuje ČGHT T 1 =((R 1, F 1 ), C 1 )pro R 1 na G 1 a T 2 =((R 2, F 2 ), C 2 )pro R 2 na G 2. Nyní vyvořímečght propůvodní graf.označme r 1 en vrchol R 1, prokerýje v 1 C 1 (r 1 ),aobdobně r 2.ObaČGHT T 1 a T 2 pojíme hranou r 1 r 2,akžeČGHTpro Gbude T=((R 1 R 2, F 1 F 2 r 1 r 2 ), C). Třídyrozkladu Czvolímeak,žepro r R 1 bude C(r)=C 1 (r) \ {v 1 } apro r R 2 bude C(r)=C 2 (r) \ {v 2 }[odebralijmevrcholy v 1 a v 2 zrozkladu C]. Chcemeukáza,žeeno T jeopravdučght. Cjeurčiěrozkladvšech vrcholůakaždé r C(r)zindukčníhopředpokladu,akžepodmínka1je plněna.coeýčepodmínky2,ak: prohranu r 1 r 2 je δ(w)určiěminimální r 1 r 2 -řez,proožeřez mezi ajeoučaněir 1 r 2 -řezemajezevšechmožných minimálních řezů na R nejmenší, prohranu e r 1 r 2 je δ(e)zindukceminimálnířeznajednom zgrafů G 1, G 2.Tenořezaképřeněodpovídářezuvgrafu G, prooževg 1 ivg 2 jmepočíalihranamivedoucímido v 1, v 2 aproožejmečghtnapojilipřevrcholy,knimžbyly v 1 a v 2 přilepeny. HTL nám navíc říká, že exiuje minimální řez, kerý žije pouzevpřílušnémzgrafů G 1, G 2,akženalezenýřezjeminimální procelýgraf G. Nynívíme,žeGHTexiují,aakévíme,jakbyedalykonruova.Nicméně nalezení vrcholů, ak, aby byl minimální -řez nejmenší možný, je čaově náročné. Proo i polední věu ješě o něco vylepšíme. Vylepšení věy o exienci ČGHT: Na začáku důkazu není nuné hleda vrcholy a akové, aby byl minimální -řez nejmenší možný. Sačí zvoli libovolné vrcholy, Razvoli δ(w)jakominimální -řez. Důkaz: Nejprve i uvědomme, proč jme v předchozím důkazu pořebovali, aby byl δ(w)nejmenšízevšechmožných -řezů.byloojenomproo,žejmejímvčght 5 2007-03-07
nakoneceparovalivrcholy r 1 a r 2 apořebovalijmezáruku,abybyl δ(w)opravduminimální r 1 r 2 -řez.nynímuímeukáza,ženáminalezený -řez δ(w)jeaké minimálním r 1 r 2 -řezem. Proporedypředpokládejme,ženějaký r 1 r 2 -řez δ(x)mámenšíkapaciunež δ(w).navícvezměmeenpřípad,kdyeoalo poprvé,akžeprokaždémenší Rjevšechnovpořádku(omůžeme,proožepro R =1všechnovpořádkubylo). Proože δ(w)jeminimální -řezaδ(x)mámenšíkapaciu, δ(x)nemůže eparova a.přiomaleeparuje r 1 a r 2,akžemuíeparovabuď ar 1,nebo ar 2.BÚNOnechť Xeparuje ar 1. r 2 δ(x) r 1 U e δ(w) r 2 r 1 PodívejmeenynínaČGHT T 1 (víme,žeenjekorekní)analezněmevněm nejlevnějšíhranu enaceěpojující ar 1.Taohranadefinujeřez δ(u),cožje minimální r 1 -řez,podlehtlivcelém G.Proože δ(x)je r 1 -řez,je d(u) d(x) < d(w).teďiačíuvědomi,že v 1 C(r 1 ),akže δ(u)eparujenejenom ar 1,ale aké av 1.Tímpádemaleeparujeaké a.tojepor,proože d(u) < d(w),a přiom δ(w) měl bý minimální. Teď už dokážeme GHT konruova efekivně v každém kroku vybereme dvavrcholy a,naleznemevčae O(τ)minimální -řezavýlednékomponeny přidanými v 1, v 2 zpracujemerekurzivně.celouvýavbuedyzvládnemevčae O(nτ),čili O(n 5/3 m)proneohodnocenégrafy. Lieraura [1]R.E.GomoryandT.C.Hu. Muli-erminalneworkflow. JournalofSIAM, 9(4):551 570, 1961. 6 2007-03-07