Graphs, ¡Linear ¡Algebra, ¡ and ¡Con4nuous ¡Op4miza4on ¡ ¡ Part ¡III: ¡Approx. ¡Max ¡Flow ¡in ¡Undirected ¡Graphs ¡ Aleksander ¡Mądry ¡
¡ Maximum ¡flow ¡problem ¡ Input: ¡ ¡ Directed ¡graph ¡ G , ¡ ¡integer ¡ capaci4es ¡u e , ¡ ¡source ¡s ¡ and ¡sink ¡t ¡ value ¡= ¡net ¡flow ¡out ¡of ¡ s ¡ 3 ¡ 5 ¡ 1 ¡ 1 ¡ 8 ¡ 1 ¡ 1 ¡ 1 ¡ t ¡ s ¡ 10 ¡ 3 ¡ 4 ¡ 6 ¡ 2 ¡ 2 ¡ 6 ¡ 6 ¡ 6 ¡ 2 ¡ 7 ¡ Here, ¡value ¡= ¡ 7 ¡ 4 ¡ 4 ¡ no ¡overflow ¡ on ¡arcs : ¡ ¡ no ¡leaks ¡ at ¡all ¡ v≠s,t ¡ 0 ¡≤ ¡f(e) ¡≤ ¡u(e) ¡ Task: ¡ Find ¡a ¡ feasible ¡s-‑t ¡flow ¡of ¡ max ¡value ¡
Breaking ¡the ¡Ω(n 3/2 ) ¡barrier ¡ Undirected ¡graphs ¡and ¡approx. ¡answers ¡ ( Ω(n 3/2 ) ¡ barrier ¡sEll ¡holds ¡here) ¡ ¡[M ¡‘10]: ¡ ¡ Crude ¡ approx. ¡of ¡ max ¡flow ¡ value ¡ in ¡ close ¡to ¡linear ¡ Eme ¡ ¡[CKMST ¡‘11]: ¡ (1-‑ε)-‑approx. ¡ to ¡max ¡flow ¡in ¡ Õ(n 4/3 ε -‑3 ) ¡ Eme ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[LSR ¡’13, ¡S ¡’13, ¡KLOS ¡’14, ¡P ¡’14]: ¡ (1-‑ε)-‑approx. ¡in ¡ Õ(nε -‑2 ) ¡ Eme ¡ ¡ But: ¡ What ¡about ¡the ¡ directed ¡ and ¡ exact ¡seJng? ¡ Today ¡ [M ¡‘13]: ¡ Exact ¡ Õ(n 10/7 )=Õ(n 1.43 )-‑ Eme ¡alg. ¡ ¡ ( n ¡= ¡# ¡of ¡verEces, ¡ Õ() ¡ hides ¡polylog ¡factors) ¡
¡ New ¡approach: ¡ ¡ Bring ¡linear-‑algebraic ¡techniques ¡into ¡play ¡ Idea: ¡ Probe ¡the ¡ global ¡flow ¡structure ¡ ¡ of ¡the ¡graph ¡by ¡ solving ¡linear ¡systems ¡ How ¡to ¡relate ¡ flow ¡structure ¡ to ¡ linear ¡algebra ? ¡ (And ¡why ¡should ¡it ¡even ¡help?) ¡ ¡ Key ¡object: ¡ Electrical ¡flows ¡
Input: ¡ ¡Undirected ¡graph ¡ G , ¡ Electrical ¡flows ¡ ¡ ¡ resistances ¡r e , ¡ ¡source ¡s ¡ and ¡sink ¡t ¡ Principle ¡of ¡least ¡energy ¡ Electrical ¡flow ¡of ¡value ¡F: ¡ The ¡unique ¡minimizer ¡of ¡ the ¡energy ¡ ¡ ¡ E (f) ¡= ¡Σ e ¡ r e ¡ f(e) 2 ¡ ¡ among ¡all ¡ s-‑t ¡ flows ¡f ¡ of ¡value ¡F ¡ Electrical ¡flows ¡= ¡ l 2 -‑minimizaEon ¡ ¡
How ¡to ¡compute ¡an ¡electrical ¡flow? ¡ Bojom ¡line: ¡ ¡ = ¡ χ s,t ¡ ϕ ¡ L ¡ Electrical ¡flow ¡ Solving ¡ a ¡Laplacian ¡system ¡ ¡ computaEon ¡ Bad ¡news: ¡ Solving ¡a ¡linear ¡system ¡can ¡take ¡ O(n ω )=O(n 2.373 ) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(ProhibiEve!) ¡ Key ¡observa4on: ¡ ¡ BR -‑1 B T ¡ is ¡the ¡ Laplacian ¡ matrix ¡ L ¡ ¡ How ¡to ¡uElize ¡it? ¡ of ¡the ¡underlying ¡graph ¡ Laplacian ¡systems ¡can ¡be ¡(essenEally) ¡solved ¡in ¡ nearly-‑linear ¡4me ! ¡ Result: ¡ Electrical ¡flow ¡is ¡a ¡ nearly-‑linear ¡4me ¡ primiEve ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ST ¡’04, ¡KMP ¡’10, ¡KMP ¡’11, ¡KOSZ ¡’13, ¡LS ¡’13, ¡CKPPR ¡‘14] ¡ ¡
From ¡electrical ¡flows ¡to ¡ ¡ undirected ¡max ¡flow ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[CKMST ¡’11] ¡
Approx. ¡undirected ¡max ¡flow ¡ ¡ ¡via ¡electrical ¡flows ¡ s Assume: ¡F * ¡ known ¡(via ¡binary ¡search) ¡ ¡ ¡ 3/4 ¡ → ¡ Treat ¡edges ¡as ¡resistors ¡of ¡resistance ¡ 1 ¡ 3/4 ¡ → ¡ Compute ¡electrical ¡flow ¡of ¡value ¡ F * ¡ (This ¡flow ¡has ¡ no ¡leaks , ¡but ¡ can ¡ ¡ 3/4 ¡ ¡overflow ¡some ¡edges) ¡ → ¡ To ¡fix ¡that: ¡ Increase ¡resistances ¡ on ¡the ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡overflowing ¡edges ¡ 1.5 ¡ ¡ ¡ ¡ ¡ ¡Repeat ¡ ( hope: ¡it ¡doesn’t ¡happen ¡too ¡ocen) ¡ 3/4 ¡ t Surprisingly: ¡ This ¡approach ¡can ¡be ¡made ¡work! ¡ But: ¡One ¡needs ¡to ¡be ¡careful ¡how ¡to ¡fill ¡in ¡the ¡blanks ¡ We ¡will ¡do ¡this ¡now ¡
Filling ¡in ¡the ¡blanks ¡ Recall: ¡ We ¡are ¡dealing ¡with ¡ undirected ¡ graphs ¡ From ¡now ¡on: ¡ All ¡capaciEes ¡are ¡ 1 , ¡ m=O(n) ¡ ¡ and ¡ the ¡value ¡ F * ¡of ¡max ¡flow ¡is ¡known ¡
Electrical ¡vs. ¡maximum ¡flows ¡ Fix ¡some ¡resistances ¡ r ¡and ¡consider ¡the ¡elect. ¡flow ¡ f E ¡of ¡value ¡ F* ¡ We ¡don’t ¡expect ¡ f E ¡to ¡obey ¡ all ¡capacity ¡constraints ¡ (i.e., ¡we ¡can ¡have ¡| f E (e) | ¡>> ¡1 ¡ for ¡some ¡edge ¡ e ) ¡ SEll, ¡ f E ¡obeys ¡these ¡constraints ¡in ¡a ¡certain ¡sense... ¡ ¡We ¡have: ¡ ¡ ¡ ¡Σ e ¡r e ¡|f E (e)| ¡≤ ¡Σ e ¡r e ¡ ¡ ¡ In ¡other ¡words: ¡ Capacity ¡constraints ¡are ¡ ¡ preserved ¡on ¡ average ¡ (weighted ¡wrt ¡to ¡ r e s) ¡ Proof: ¡ ¡
Electrical ¡vs. ¡maximum ¡flows ¡ This ¡gives ¡rise ¡to ¡a ¡ very ¡fast ¡ algorithm ¡for ¡the ¡following ¡task: ¡ ¡‘Feasibility ¡on ¡average’: ¡ ¡ Given ¡weights ¡ w ¡ compute ¡a ¡flow ¡ f ¡ of ¡value ¡ F * ¡ s.t. ¡ ¡ ¡ Σ e ¡w e ¡|f(e)| ¡≤ ¡Σ e ¡w e ¡ Key ¡point: ¡ We ¡already ¡know ¡how ¡to ¡make ¡such ¡a ¡ crude ¡algorithm ¡useful ¡to ¡us! ¡
Mul4plica4ve ¡weights ¡update ¡method ¡ ¡ [FS ’97, PST ’95, AHK ’05] ‘Technique ¡for ¡turning ¡weak ¡algorithms ¡ ¡ into ¡strong ¡ones’ ¡ ¡ ¡ ¡In ¡our ¡sesng: ¡ ¡ Crude ¡algorithm ¡ compuEng ¡ ‘feasible ¡on ¡average’ ¡ flows ¡ ↓ ¡ (1-‑ε)-‑approx. ¡max ¡flow ¡ ¡ [( 1+ε)-‑approx . ¡feasibility ¡ everywhere ] ¡ How ¡does ¡this ¡method ¡work? ¡
Crude ¡algorithm ¡ Underlying ¡idea ¡ Maintain ¡weights ¡w ¡ ¡ w 0 ¡ (IniEally, ¡all ¡weights ¡ w e =1 ) ¡ A ¡ feasible ¡on ¡average ¡ f 1 ¡ Update ¡ weights ¡ ¡ w 1 ¡ (based ¡on ¡ f 1 ) ¡ A ¡ f 2 ¡ Update ¡ weights ¡ w 3 ¡ (based ¡on ¡ f 2 ) ¡ A ¡ (Process ¡conEnues ¡for ¡ N ¡rounds) ¡ At ¡the ¡end: ¡ Return ¡the ¡ average ¡of ¡ all ¡f i s ¡ (This ¡is ¡sEll ¡a ¡flow ¡of ¡value ¡ F* ) ¡
Upda4ng ¡weights ¡ Want ¡this ¡term ¡to ¡be ¡ Weights ¡w i-‑1 ¡ ¡ w i-‑1 ¡ between ¡ 1 ¡ and ¡ 1+ε ¡ A ¡ f i ¡ Update ¡step: ¡ For ¡each ¡ e ¡ ¡ w i ¡ w e i ¡← ¡w e i-‑1 (1+ε|f i (e)|/ρ i ) ¡ A ¡ Maximum ¡congesEon ¡in ¡ f i ¡ ρ i ¡ ¡ = ¡max e ¡|f i (e)| ¡
Upda4ng ¡weights ¡ Weights ¡w i-‑1 ¡ ¡ w i-‑1 ¡ A ¡ f i ¡ Update ¡step: ¡ For ¡each ¡ e ¡ ¡ w i ¡ w e i ¡← ¡w e i-‑1 (1+ε|f i (e)|/ρ i ) ¡ A ¡ Underlying ¡dynamics: ¡ ¡ Edge ¡e ¡suffers ¡large ¡ overflow ¡→ ¡w e ¡ grows ¡rapidly ¡ ¡ ¡ ¡Average ¡ overflow ¡small ¡→ ¡Σ e w e ¡ ¡ grows ¡slowly ¡ ↓ ¡ No ¡edge ¡suffers ¡large ¡overflow ¡too ¡oyen ¡ → ¡averaging ¡out ¡ yields ¡(almost) ¡no ¡overflow ¡
Upda4ng ¡weights ¡ Weights ¡w i-‑1 ¡ ¡ w i-‑1 ¡ A ¡ f i ¡ Update ¡step: ¡ For ¡each ¡ e ¡ ¡ w i ¡ w e i ¡← ¡w e i-‑1 (1+ε|f i (e)|/ρ i ) ¡ A ¡ Width ¡ρ ¡= ¡max i ¡ ¡ρ i ¡ ¡ [AHK ¡’05] : ¡ It ¡suffices ¡to ¡repeat ¡this ¡step ¡ N=Õ(ρε -‑2 ) ¡Emes ¡ ¡ to ¡get ¡a ¡ (1-‑ε)-‑approx ¡to ¡max ¡flow ¡ Think: ¡ρ ¡ measures ¡the ¡ electrical ¡vs. ¡max ¡ flow ¡discrepancy ¡ Note: ¡ Linear ¡dependence ¡on ¡ρ ¡ is ¡unavoidable ¡
Upda4ng ¡weights ¡ Weights ¡w i-‑1 ¡ ¡ w i-‑1 ¡ A ¡ f i ¡ Update ¡step: ¡ For ¡each ¡ e ¡ ¡ w i ¡ w e i ¡← ¡w e i-‑1 (1+ε|f i (e)|/ρ i ) ¡ A ¡ Width ¡ρ ¡= ¡max i ¡ ¡ρ i ¡ ¡ [AHK ¡’05] : ¡ It ¡suffices ¡to ¡repeat ¡this ¡step ¡ N=Õ(ρε -‑2 ) ¡Emes ¡ ¡ to ¡get ¡a ¡ (1-‑ε)-‑approx ¡to ¡max ¡flow ¡ Details: ¡ ¡
Bojom ¡line: ¡ = A ¡ Electrical ¡flow ¡primiEve ¡gives ¡us ¡the ¡crude ¡algorithm ¡ ¡ We ¡can ¡use ¡MWU ¡framework ¡ ¡ to ¡fill ¡in ¡our ¡blanks! ¡
Recommend
More recommend