Max Flows & Electrical Flows Thatchaphol Saranurak 2 July 2014 1
Max Flows & Electrical FlowsThatchaphol Saranurak
2 July 2014
1
Motivation
• Recently, there are many fast algorithms • Max flow, Multi-commodity flow, Oblivious Routing, Sparsest Cut, Computing eigenvector,…
• Since we can solve approx. electrical flow in 𝑂𝜖 𝑚
• Example: Exact Max Flow (unit capacities)• 𝑂 𝑚1.43 [Madry13]
• First improvement (over sparse graph case) in last ≈40 years!• 𝑂 min{𝑚3/2, 𝑚𝑛2/3} [ET75]
Notation• 𝑂 ⋅ hides 𝑝𝑜𝑙𝑦𝑙𝑜𝑔• 𝑂𝜖 ⋅ also hides 𝜖
2
Goal
• Will see 2 results with simple analysis in this line of research
1. [CKMST11] 𝜖-approx. Max Flow in 𝑂𝜖 𝑚4/3
• (will focus on 𝑂𝜖 𝑚3/2 )
2. [KOSZ13] 𝜖-approx. Electrical Flow in 𝑂𝜖 𝑚
Notation• 𝑂 ⋅ hides 𝑝𝑜𝑙𝑦𝑙𝑜𝑔• 𝑂𝜖 ⋅ also hides 𝜖
3
Outline
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
4
Preliminaries
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
5
Flow
• 𝐺 = (𝑉, 𝐸) undirected
• s-t Flow f: 𝐸 → ℝ
• Arbitrarily orient edges
• “directed” 𝑓 𝑎, 𝑏 = −𝑓 𝑏, 𝑎 , for 𝑒 = 𝑎, 𝑏 ∈ 𝐸
• 𝑖𝑛𝑓𝑙𝑜𝑤(𝑣) = 𝑜𝑢𝑡𝑓𝑙𝑜𝑤(𝑣), for 𝑣 ∈ 𝑉\{𝑠, 𝑡}• Formal: 𝑎:(𝑣,𝑎)∈𝐸 𝑓(𝑣, 𝑎) = 0.
• 𝑣𝑎𝑙𝑢𝑒(𝑓) = net flow into 𝑡
S T
4
4
4
31
1
6
Capacity & Congestion
• Capacity 𝑢: 𝐸 → ℝ+
• Congestion
• 𝑐𝑜𝑛𝑔𝑓 𝑒 =𝑓 𝑒
𝑢 𝑒
• 𝑐𝑜𝑛𝑔(𝑓) = max𝑒
𝑐𝑜𝑛𝑔𝑓 𝑒
S T
2
4/3
2
3
4/2
4/3=1.33
3/41/3
1/3
7
Max Flow Problem
• Solution: s-t flow 𝑓 of 𝑐𝑜𝑛𝑔 𝑓 ≤ 1• Note: Here we consider only s-t flow just for simplicity.
• Goal: max𝑓
𝑣𝑎𝑙𝑢𝑒(𝑓)
8
Resistance & Energy
• Resistance 𝑟: 𝐸 → ℝ+
• Energy
• ℰ𝑓 (𝑒) = 𝑟(𝑒)𝑓(𝑒)2
• Note: called “Power” in physics: 𝑃 = 𝑅𝐼2
• ℰ 𝑓 = 𝑒 ℰ𝑓 𝑒 = 𝑒 𝑟(𝑒)𝑓(𝑒)2
• 𝑅: a diagonal matrix with 𝑅𝑒,𝑒 = 𝑟 𝑒 : R =𝑟(𝑒1) ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝑟(𝑒𝑚)
• So ℰ(𝑓) = 𝑓𝑇𝑅𝑓
9
Electrical Flow Problem
• Solution: s-t flow 𝑓 of 𝑣𝑎𝑙𝑢𝑒 𝑓 = 𝐹, for a given 𝐹
• Goal: min𝑓
ℰ(𝑓) = 𝑓𝑇𝑅𝑓
• Electrical Flow ≡ Min Energy Flow.
• Note: don’t care about capacity here.
10
Approx. Flow
• 𝑓 is 𝜖-approx. Max flow • Suppose 𝑓∗ is Max flow:
• 𝜖-approx: 𝑣𝑎𝑙𝑢𝑒 𝑓 ≥ 1 − 𝜖 𝑣𝑎𝑙𝑢𝑒 𝑓∗
• Feasible: 𝑐𝑜𝑛𝑔 𝑓 , 𝑐𝑜𝑛𝑔 𝑓∗ ≤ 1
• 𝑓 is 𝜖-approx. Electrical flow (of fixed value 𝐹) • Suppose 𝑓∗ is electrical flow:
• 𝜖-approx: ℰ(𝑓) < (1 + 𝜖)ℰ(𝑓∗)
• Feasible: s-t flow with 𝑣𝑎𝑙𝑢𝑒 𝑓 , 𝑣𝑎𝑙𝑢𝑒 𝑓∗ = 𝐹
11
High Level: Max Flow via Electrical Flow
• Black Box: approx. Electrical Flow in 𝑂𝜖(𝑚) time
ApproxMax
Flows
ApproxElectrical
Flows
Multiplicative Weight Update𝑜𝜖( 𝑚) turns
First method to solve approx. max flow in 𝑜𝜖(𝑚3/2) time
Oracle
12
Multiplicative Weight Update (MWU)
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
13
Scenario
• 𝑛 experts and Follower gaining money in turn
• Each turn 𝑡,
1. Follower chooses dist. 𝒑(𝑡) = (𝑝1𝑡, … , 𝑝𝑛
𝑡) over experts:
“which guy to follow”
2. Oracle reveals: expert 𝑖 gain money 𝑚𝑖(𝑡)
∈ [0, 𝜌]. (Choose 𝑝𝑖
𝑡before knowing 𝑚𝑖
(𝑡))
3. Follower gains 𝒎(𝑡)𝒑(𝑡) = 𝑖𝑚𝑖(𝑡)𝑝𝑖
𝑡
• Goal: Maximize Follower’s total gain: 𝑡𝒎(𝑡)𝒑(𝑡)
14
Good Strategy for Follower
• Intuition: “Give more credit to experts who gain a lot”
• 𝑤𝑖(𝑡)
= 𝑤𝑖𝑡−1
(1 + 𝜂𝑚𝑖𝑡−1
)
• Init: 𝑤𝑖(1)
= 1 for all expert 𝑖
• Not too fast: 𝜂 ≤1
𝜌⇒ 𝜂𝑚𝑖
𝑡≤ 1. (𝑚𝑖
𝑡∈ 0, 𝜌 )
• 𝒑(𝑡) ∝ 𝒘(𝑡)
• Theorem: after 𝑇 turns,
𝑡=1𝑇 𝒎(𝑡)𝒑(𝑡) ≥ 1 − 𝜂𝜌 𝑡=1
𝑇 𝑚𝑖𝑡−
ln 𝑛
𝜂∀𝑖
15
Interpretation (Not precise)
𝑡=1𝑇 𝒎 𝑡 𝒑 𝑡
𝑇≥ 1 − 𝜂𝜌
𝑡=1𝑇 𝑚𝑖
𝑡
𝑇−ln 𝑛
𝜂𝑇
• Set 𝜂𝜌 = 𝜖 and 𝑇 ≈ln 𝑛
𝜂𝜖= 𝑂(
𝜌 ln 𝑛
𝜖2) (can neglect
ln 𝑛
𝜂𝑇≈ 𝜖)
• Average gain of follower≥ (1 − 𝜖) Average gain of expert 𝑖
• Average gain of expert 𝑖 ≤ (1 + 𝜖) Average gain of follower• Look another way (will use this)
16
Optimizing without Thinking: Study history
• Take home message about MWU…
• Even if the future is completely unpredictable,
• In long run (about total gain)…
• “Blindly following the vote of experts with good records”
• Already gives you ≈ gain of the best expert.
17
MWU for Max Flow
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
18
Reduce the task
• Task: find 𝑓 with 𝑣𝑎𝑙𝑢𝑒 𝑓 = 1 − 𝑂 𝜖 𝐹, 𝑐𝑜𝑛𝑔 𝑓 ≤ 1
• For fixed 𝐹
• Can find O(𝜖)-approx. Max flow 𝑓• Spend log factor more time, by binary search on 𝐹
19
The Algorithm: Money as Congestion
• Expert 𝑖: edge 𝑒𝑖
• Follower: maintain 𝒑(𝑡) using the “Good Strategy”
• Oracle: each turn 𝑡,
• Compute: (𝜖
3)-approx. electrical flow 𝑓𝑡 = 𝑓𝑡(𝒑
(𝑡))
• Resistance 𝑟(𝑒𝑖) depends on 𝑝𝑖(𝑡)
(will specify)
• 𝑣𝑎𝑙𝑢𝑒(𝑓𝑡) = 𝐹
• Reveal: expert 𝑖 gain money 𝑚𝑖(𝑡)
= 𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 , for each edge 𝑒𝑖.
20
The Algorithm: Scaled Average Flow
• After 𝑇 = 𝑂(𝜌 ln 𝑚
𝜖2) turns
• 𝑓 = 𝑡=1𝑇 𝑓𝑡 /𝑇 is an average flow
• Return 𝑓/(1 + 𝜖)2
• Runtime: 𝑂 𝑚𝑇 = 𝑂 𝑚𝜌
𝜖2. (Will bound 𝜌 = 𝑂( 𝑚/𝜖).)
21
Correctness
• 𝑐𝑜𝑛𝑔 𝑓 𝑒𝑖 = Average gain of expert 𝑖
• Will show: Average gain of follower≤ 1 + 𝜖
• 𝑐𝑜𝑛𝑔 𝑓 𝑒𝑖 ≤ 1 + 𝜖 2
• As, Average gain of expert 𝑖 ≤ (1 + 𝜖) Average gain of follower
• 𝑣𝑎𝑙𝑢𝑒( 𝑓) = 𝐹• 𝑣𝑎𝑙𝑢𝑒(𝑓𝑡) = 𝐹 for all 𝑡
• So 𝑓/(1 + 𝜖)2
• congestion ≤ 1• value =
𝐹
1+𝜖 2 = 1 − 𝑂 𝜖 𝐹
22
Clever Choice of Resistance
Remain to show
1. Average gain of follower ≤ (1 + 𝜖)• Will show: for every turn 𝑡, gain of follower 𝒎(𝑡)𝒑(𝑡) ≤ (1 + 𝜖)
2. Bound 𝜌 = 𝑂( 𝑚/𝜖).
• Upper bound 𝑚𝑖𝑡= 𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 for all 𝑖, 𝑡
• To show both statements simultaneously,
• At turn 𝑡, set
𝑟 𝑒𝑖 =1
𝑢 𝑒𝑖2(𝑝𝑖
𝑡+
𝜖
3𝑚)
23
• ℰ 𝑓
• = 𝑖 𝑟 𝑒𝑖 𝑓 𝑒𝑖2
• = 𝑖(𝑓 𝑒𝑖
𝑢 𝑒𝑖)2 𝑝𝑖
𝑡+
𝜖
3𝑚
• = 𝑖 𝑐𝑜𝑛𝑔𝑓 𝑒𝑖2(𝑝𝑖
𝑡+
𝜖
3𝑚)
24
Proof (1)
ℰ 𝑓 =
𝑖
𝑐𝑜𝑛𝑔𝑓 𝑒𝑖2(𝑝𝑖
𝑡+
𝜖
3𝑚)
• 𝑓∗ : the min congestion flow with value 𝐹
• 𝑐𝑜𝑛𝑔 𝑓∗ ≤ 1 (if 𝐹 is less than value of max flow)
• ℰ 𝑓∗ ≤ 𝑒𝑖 𝑝𝑖𝑡+
𝜖
3𝑚= 1 +
𝜖
3.
• 𝑓𝑡 : (𝜖
3)-approx. electrical flow with value 𝐹 at turn 𝑡
• ℰ 𝑓𝑡 ≤ 1 +𝜖
3ℰ 𝑓∗ ≤ 1 + 𝜖
25
Proof (2)
ℰ 𝑓 =
𝑖
𝑐𝑜𝑛𝑔𝑓 𝑒𝑖2(𝑝𝑖
𝑡+
𝜖
3𝑚)
1. Gain of follower 𝒎(𝑡)𝒑(𝑡)
=
𝑖
𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 𝑝𝑖𝑡≤
𝑖
𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖2𝑝𝑖
𝑡
𝑖
𝑝𝑖𝑡
≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖
2. Bound 𝜌.𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖
2𝜖
3𝑚≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖 ⟹ 𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 ≤ 3(1 + 𝜖) ∙ 𝑚/𝜖
26
Total Runtime: 𝑂𝜖(𝑚1.5)
• Each turn,
• Set resistance 𝑟 𝑒𝑖 =1
𝑢 𝑒𝑖2 (𝑝𝑖
𝑡+
𝜖
3𝑚)
• Oracle computes (𝜖
3)-approx. electrical flow 𝑓𝑡
• Follower updates 𝒑(𝑡)
• After 𝑇 turns, return scaled average flow 𝑓/(1 + 𝜖)2
• Runtime: 𝑂 𝑚𝑇 = 𝑂𝑚1.5
𝜖2.5
• 𝑇 = 𝑂𝜌
𝜖2= 𝑂
𝑚
𝜖2.5
27
Improvement: 𝑂𝜖(𝑚4/3)
• Each turn 𝑡,• 𝑐𝑜𝑛𝑔𝑓𝑡 𝑒 > Ω𝜖(𝑚
1/3) ⟹ delete 𝑒 from graph and recompute 𝑓𝑡.
• Now, 𝜌 ≤ 𝑂𝜖(𝑚1/3)
• Can show: need to recompute at most 𝑁 = 𝑂𝜖(𝑚1/3) times
• Runtime: 𝑂 𝑚(𝑇 + 𝑁) = 𝑂𝜖 𝑚(𝜌 + 𝑁) = 𝑂𝜖 𝑚4/3
28
Geometry of Electrical Flow
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
29
Inner product space
• Recall: R =𝑟(𝑒1) ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝑟(𝑒𝑚)
is a resistance matrix
• 𝑥, 𝑦 𝑅 = 𝑥𝑇𝑅𝑦 is inner product because• Symmetric: 𝑥, 𝑦 𝑅 = 𝑦, 𝑥 𝑅
• Linear: 𝑥 + 𝑦, 𝑧 𝑅 = 𝑥, 𝑧 𝑅 + 𝑦, 𝑧 𝑅 and 𝛼𝑥, 𝑦 𝑅 = 𝛼 𝑥, 𝑦 𝑅
• Positive def.: 𝑥, 𝑥 𝑅 ≥ 0 and 𝑥, 𝑥 𝑅 = 0 ⇒ 𝑥 = 0
• Norm (size): 𝑥 𝑅 = 𝑥, 𝑥 𝑅• Think as weighted Euclidean norm ⋅ 2
• Distance 𝑥, 𝑦: 𝑥 − 𝑦 𝑅
30
“Angle” is defined in inner product space
• Projection: 𝑥 𝑅 = 1 ⟹ 𝑥, 𝑦 𝑅 is size of “𝑦 projected to 𝑥”
• Orthogonal: when 𝑥, 𝑦 𝑅 = 0
• Pythagorean: 𝑥 𝑅2 + 𝑦 𝑅
2 = 𝑥 + 𝑦 𝑅2 ⟺ 𝑥, 𝑦 𝑅 = 0
31
𝑦
𝑥
Electrical Flow Problem: Geometric view
• Recall: Energy ℰ 𝑓 = 𝑓𝑇𝑅𝑓 = 𝑓, 𝑓 𝑅 = 𝑓 𝑅2
• 𝐵 ∈ ℝ𝐸×𝑉: incidence matrix 𝐵 𝑎,𝑏 ,𝑐 = 1, 𝑎 = 𝑐−1, 𝑏 = 𝑐0, 𝑜. 𝑤.
• 𝜒 ∈ ℝ𝑉: demand vector 𝜒𝑢 = 𝐹, 𝑢 = 𝑠−𝐹, 𝑢 = 𝑡0, 𝑜. 𝑤.
• Task: Find a point
• closest to the origin (min 𝑓 𝑅)
• in specific affine space (𝐵𝑇𝑓 = 𝜒)
32
𝐵𝑇𝑓 = 𝜒
𝑓∗
0
Circulation
• “Flow without source”
• circulation c: 𝐸 → ℝ
• 𝑐 𝑎, 𝑏 = −𝑐 𝑏, 𝑎 , for 𝑒 = 𝑎, 𝑏 ∈ 𝐸,
• 𝑖𝑛𝑓𝑙𝑜𝑤(𝑣) = 𝑜𝑢𝑡𝑓𝑙𝑜𝑤(𝑣), for all 𝑣 ∈ 𝑉
• 𝐵𝑇𝑓 = 0
• cycle c: 𝐸 → {−10,1}
• 𝑓, 𝑓’ are s-t flows of same value ⟹𝑓 − 𝑓’ is circulation
• Every circulation is linear combination of cycle
33
S T
4
4
4
31
1
4
Kirchhoff's Potential Theorem
1. 𝑓 is electrical flow
2. ⟺𝑓 is orthogonal to any circulation
3. ⟺ 𝑓, 𝑐 𝑅 = 0 ∀circulation 𝑐
4. ⟺ 𝑓, 𝑐 𝑅 = 0 ∀cycle 𝑐
5. ⟺ 𝑒∈𝑐 𝑓 𝑒 𝑟(𝑒) = 0 ∀cycle 𝑐
• Note: Still not easy to verify (maybe exponentially many cycles)
• 2,3,4,5 are equivalent
• Next slide: show (1⇒5) & (2⇒1)
34
𝐵𝑇𝑓 = 𝜒
𝐵𝑇𝑓 = 0
𝑓∗
0
Kirchhoff's Potential Theorem (Proof)
• 𝑓∗ be the electrical flow.
• (1⇒5) 𝑓𝑐 𝜖 : obtained from 𝑓∗ by increasing flow around cycle 𝑐 by 𝜖
• 𝑓𝑐 0 = 𝑓∗ is optimal ⟹𝑑ℰ 𝑓𝑐 𝜖
𝑑𝜖= 0 at 𝜖 = 0
• ⟹ 2 𝑒∈𝑐 𝑓∗ 𝑒 𝑟(𝑒) = 0
• (2⇒1) 𝑓 not elec. flow: ℰ 𝑓 > ℰ 𝑓∗
• 0 < ℰ 𝑓 − ℰ 𝑓∗ = 𝑓, 𝑓 𝑅 − 𝑓∗, 𝑓∗ 𝑅 + 𝑓∗, 𝑓∗ − 𝑓 𝑅
0
= 𝑓 − 𝑓∗, 𝑓 𝑅
35
Kirchhoff's Potential Theorem: compact form
• T: spanning tree
• For any e = (a, b) ∈ 𝐸\T, • 𝑃𝑒: unique path in 𝑇 connecting 𝑎 and 𝑏
• 𝑐𝑒 = 𝑃𝑒 ∪ 𝑒 : a cycle
• 𝑓 is electrical flow ⟺ 𝑓, 𝑐𝑒 𝑅 = 0 ∀e ∈ 𝐸\T
• Proof idea: • Cycles in graph form an 𝔽2-vector space.
• {𝑐𝑒 ∣ 𝑒 ∈ 𝐸\𝑇} is basis of that 𝔽2-vector space• hence in our ℝ-vector space as well
36
𝑎
𝑏𝑒
𝑃𝑒
Geometry of Electrical Flow
• Fix spanning tree 𝑇
• 𝑆𝑒 = {𝑓 ∣ 𝑓, 𝑐𝑒 𝑅 = 0} : hyper-plane• for e ∈ 𝐸\T
• 𝑓 is electrical flow ⟺ 𝑓, 𝑐𝑒 𝑅 = 0 ∀e ∈ 𝐸\T
• So, the electrical flow 𝑓∗ of value 𝐹• = ( e∈𝐸\T 𝑆𝑒) ∩ {𝑓 ∣ 𝐵𝑇𝑓∗ = 𝜒}
37
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}{𝑓| 𝑓, 𝑐2 𝑅 = 0}
Alternating Projection MethodHow to find approx. Electrical Flow in near linear time
38
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
Overview
• 𝑓∗ = ( e∈𝐸\T 𝑆𝑒) ∩ {𝑓 ∣ 𝐵𝑇𝑓∗ = 𝜒}
• High-Level Idea• Start from some flow 𝑓0 (which is not too bad)
• 𝑓𝑖+1 ← 𝑓𝑖 “projected” on some 𝑆𝑒 (so 𝑓𝑖+1, 𝑐𝑒 𝑅 = 0)
• Repeat…
39
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}{𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0
𝑓1
𝑓2
• Question (to be answered)1. Which spanning tree 𝑇: Low-stretch spanning tree2. Which initial flow 𝑓0: Flow restricted in 𝑇3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
Stretch of Edge in Tree
• T: spanning tree
• For any e = (a, b) ∈ 𝐸\T, • 𝑃𝑒: unique path in 𝑇 connecting 𝑎 and 𝑏
• 𝑐𝑒 = 𝑃𝑒 ∪ 𝑒 : a cycle
• 𝑠𝑡 𝑒 = 𝑒′∈𝑃𝑒
𝑟𝑒′
𝑟𝑒=
𝑃𝑒 𝑅2
𝑟𝑒
• 𝑠𝑡 𝑒 + 1 = 𝑒′∈𝑃𝑒
𝑟𝑒′
𝑟𝑒+
𝑟𝑒
𝑟𝑒=
𝑒′∈𝑐𝑒
𝑟𝑒′
𝑟𝑒=
𝑐𝑒 𝑅2
𝑟𝑒
40
𝑎
𝑏𝑒
𝑃𝑒
Low Stretch Spanning Tree
• Stretch: 𝑠𝑡 𝑇 = 𝑒∈𝐸𝑃𝑒 𝑅
2
𝑟𝑒
• Condition number: 𝜏 𝑇 = 𝑒∈𝐸\T𝑐𝑒 𝑅
2
𝑟𝑒• Almost same: 𝜏(𝑇) = 𝑠𝑡(𝑇) + Θ(𝑚)
• [Abraham Neiman ’12] Can find spanning tree 𝑇• with st(𝑇) = 𝑂(𝑚 log 𝑛 log log 𝑛)
• in time 𝑂(𝑚 log 𝑛 log log 𝑛) (not bottleneck)
• 𝜏 𝑇 , 𝑠𝑡 𝑇 determine efficiency of the algorithm
41
Initial Flow 𝑓0
• 𝑇: Low stretch spanning tree
• 𝑓0: Unique flow restricted to 𝑇• Can compute fast in 𝑂(𝑛) time
• Theorem: 𝑓0 − 𝑓∗ 𝑅2 ≤ 𝑠𝑡(𝑇) 𝑓∗ 𝑅
2
• Not too far from 𝑓∗
42
Overview
• 𝑓∗ = e∈𝐸\T {𝑓 ∣ 𝑓, 𝑐𝑒 𝑅 = 0}
• High-Level Idea• Start from some flow 𝑓0 (which is not too bad)
• 𝑓𝑖+1 ← 𝑓𝑖 “projected” on some 𝑆𝑒 (so 𝑓𝑖+1, 𝑐𝑒 𝑅 = 0)
• Repeat…
43
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}{𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0
𝑓1
𝑓2
• Question (to be answered)1. Which spanning tree 𝑇: Low-stretch spanning tree2. Which initial flow 𝑓0: Flow restricted in 𝑇3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
Physical Intuition
• Some physical intuition to geometric quantities.
• 𝑓, 𝑐𝑒 𝑅 = 𝑓𝑒𝑇𝑅𝑐𝑒 = 𝑒′∈𝑐𝑒 𝑓 𝑒′ 𝑟(𝑒′)
• (in physics, 𝑉 = 𝐼𝑅)
• potential across cycle 𝑐𝑒
• 𝑐𝑒 , 𝑐𝑒 𝑅 = 𝑐𝑒𝑇𝑅𝑐𝑒 = 𝑒′∈𝑐𝑒
𝑟(𝑒′)
• resistance of cycle 𝑐𝑒• 𝑐𝑒 , 𝑐𝑒 𝑅 = 𝑐𝑒 𝑅
2
44
𝑎
𝑏𝑒
𝑃𝑒
Projection to 𝑆𝑒 ≡ Circulate around 𝑐𝑒
• 𝑐𝑒 =𝑐𝑒
𝑐𝑒 𝑅is normalized 𝑐𝑒
• 𝑓′ = 𝑓 − 𝑓, 𝑐𝑒 𝑅 𝑐𝑒• 𝑐𝑒 is normal vector of 𝑆𝑒• 𝑓′, 𝑐𝑒 𝑅 = 0 ⟹ 𝑓′ ∈ 𝑆𝑒
• Circulate around cycle 𝑐𝑒
• Amount of flow =potential across cycle 𝑐𝑒
resistance of cycle 𝑐𝑒(𝐼 =
𝑉
𝑅)
• 𝑓, 𝑐𝑒 𝑅 𝑐𝑒 =𝑓,𝑐𝑒 𝑅
𝑐𝑒,𝑐𝑒 𝑅𝑐𝑒
45
𝑐𝑒
𝑆𝑒
𝑓
𝑓′
Implement Circulation around 𝑐𝑒
• Can do in 𝑂 log 𝑛 = 𝑂(1) time
1. Update flow at 𝑒
2. Update flow at 𝑃𝑒• 𝑃𝑒 can have Θ(𝑛) edges• Link-Cut Tree will do (more than enough!)
• Link-Cut Tree: for maintaining value of any path 𝑃 ⊂ 𝑇 (another tree)• Query min/max/sum of value of 𝑃• Add/reduce value of each edge in 𝑃• Link/cut edge of the tree itself (did not use here)• Everything in 𝑂 log 𝑛 time
46
𝑎
𝑏𝑒
𝑃𝑒
Overview
• 𝑓∗ = e∈𝐸\T {𝑓 ∣ 𝑓, 𝑐𝑒 𝑅 = 0}
• High-Level Idea• Start from some flow 𝑓0 (which is not too bad)
• 𝑓𝑖+1 ← 𝑓𝑖 “projected” on some 𝑆𝑒 (so 𝑓𝑖+1, 𝑐𝑒 𝑅 = 0)
• Repeat…
47
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}{𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0
𝑓1
𝑓2
• Question (to be answered)1. Which spanning tree 𝑇: Low-stretch spanning tree2. Which initial flow 𝑓0: Flow restricted in 𝑇3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
Progress in Projection
• 𝑓𝑡+1 − 𝑓∗ 𝑅2 = 𝑓𝑡 − 𝑓∗ 𝑅
2 − 𝑓𝑡+1 − 𝑓𝑡 𝑅2
Progress≥0
• Pythagorean: 𝑓𝑡+1 − 𝑓∗ and 𝑓𝑡+1 − 𝑓𝑡 are orthogonal
• The best 𝑆𝑒, over 𝑒 ∈ 𝐸\𝑇, maximizes 𝑓𝑡+1 − 𝑓𝑡 𝑅
• Don't know how to choose a good one fast…
• Random is good enough! • Appropriate distribution
48
𝑐𝑒
𝑆𝑒
𝑓𝑡
𝑓𝑡+1
𝑓∗
Random projection
• Project to 𝑆𝑒 with prob. 𝑝𝑒 =𝑐𝑒 𝑅
2
𝑟𝑒
• Recall: 𝜏 𝑇 = 𝑒∈𝐸\T𝑐𝑒 𝑅
2
𝑟𝑒• Oblivious: do not care where we are now
• Theorem: 𝔼 𝑔, 𝑐𝑒 𝑅 ≥𝑔 𝑅
2
𝜏 𝑇for any circulation 𝑔
• Progress: 𝑓𝑡+1 − 𝑓𝑡 𝑅 = 𝑓𝑡 , 𝑐𝑒 𝑅 − 𝑓∗, 𝑐𝑒 𝑅
0
= 𝑓𝑡 − 𝑓∗, 𝑐𝑒 𝑅
• Expect: 𝔼 𝑓𝑡+1 − 𝑓𝑡 𝑅 = 𝔼 𝑓𝑡 − 𝑓∗, 𝑐𝑒 𝑅 ≥1
𝜏 𝑇𝑓𝑡 − 𝑓∗ 𝑅
2
49
𝑐𝑒
𝑆𝑒
𝑓𝑡
𝑓𝑡+1
𝑓∗
Bound the Distance
1. 𝔼 [ 𝑓𝑡 − 𝑓∗ 𝑅2 ] ≤ (1 −
1
𝜏 𝑇)𝑡 𝑓0 − 𝑓∗ 𝑅
2
• Because 𝑓𝑡+1 − 𝑓∗ 𝑅2 = 𝑓𝑡 − 𝑓∗ 𝑅
2 − 𝑓𝑡+1 − 𝑓𝑡 𝑅2
• And 𝔼 𝑓𝑡+1 − 𝑓𝑡 𝑅 ≥1
𝜏 𝑇𝑓𝑡 − 𝑓∗ 𝑅
2
2. 𝑓0 − 𝑓∗ 𝑅2 ≤ 𝑠𝑡(𝑇) 𝑓∗ 𝑅
2
• Initial flow 𝑓0 is not too far
Set 𝑡 = 𝜏 𝑇 log𝑠𝑡 𝑇
𝜖,𝔼 𝑓𝑡 − 𝑓∗ 𝑅
2 ≤ 𝜖 𝑓∗ 𝑅2
50
Bound the Energy (distance from origin)
• Set 𝑡 = 𝜏 𝑇 log𝑠𝑡 𝑇
𝜖
• 𝔼 𝑓𝑡 − 𝑓∗ 𝑅2 ≤ 𝜖 𝑓∗ 𝑅
2
• 𝑓𝑡 − 𝑓∗ 𝑅2 + 𝑓∗ 𝑅
2 = 𝑓𝑡 𝑅2
• 𝑓∗ is orthogonal to circulation 𝑓𝑡 − 𝑓∗
𝔼[ 𝑓𝑡 𝑅2 − 𝑓∗ 𝑅
2 ] = 𝔼 𝑓𝑡 − 𝑓∗ 𝑅2 ≤ 𝜖 𝑓∗ 𝑅
2
𝔼 [ℰ 𝑓𝑡 ] ≤ (1 + 𝜖)ℰ 𝑓∗
51
Total Runtime
1. Find low-stretch spanning tree 𝑇 in time 𝑂 𝑚 log 𝑛 log log 𝑛
2. Find 𝑓0 restricted to 𝑇 in time 𝑂(𝑛)
3. Repeat 𝜏 𝑇 log𝑠𝑡 𝑇
𝜖times
• 𝑓𝑖+1 ← 𝑓𝑖 “projected” on some 𝑆𝑒 in time 𝑂(log 𝑛)
• Total runtime: 𝑂 𝜏 𝑇 log1
𝜖= 𝑂 𝑚 log
1
𝜖
52
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}{𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0
𝑓1
𝑓2
Summary1. Approx. Max Flow in 𝑂𝜖 𝑚1.5 (with small fix to get 𝑂𝜖 𝑚1.33.. )
2. Approx. Electrical Flow in 𝑂𝜖 𝑚
PreliminariesMultiplicative Weight Update
MWU for Max FlowGeometry of Electrical Flow
Alternating Projection Method
53
Q & A
54
55
Spare slides…
56
Laplacian Solver
57
Laplacian of Graphs
• 𝐺 = 𝑉, 𝐸
• For each edge 𝑒 = (𝑎, 𝑏) ∈ 𝐸 with weight 𝑤(𝑎,𝑏)
• 𝐿(𝑎,𝑏) ∈ ℝ|𝑉|×|𝑉|, 𝐿(𝑎,𝑏) =
• Laplacian of 𝐺
• 𝐿𝐺 = 𝑒∈𝐸 𝐿𝑒
a b
a
b
1 -1
1-1
× 𝑤(𝑎,𝑏)
58
Laplacian System
• Given 𝐿𝐺 of some 𝐺 and 𝑏
• Find 𝑥 s.t. 𝐿𝐺𝑥 = 𝑏
59
Solving Laplacian System ≡ Finding Electrical Flow
• Same run time for exact solution
• Almost same run time in approx. solution• Note: did not define “approx. solution of Laplacian System”
60
Literature Review
61
Literature Review: Max flow
Approx max flow in undir. graph
• 𝑂 𝑚𝑛1
3 𝑝𝑜𝑙𝑦1
𝜀
• [CKMST11] via multiplicative weight update
• [LRS12] unweighted, via “projection”, better 𝜀 dependency
• 𝑂(𝑚1+𝑜(1)𝑝𝑜𝑙𝑦1
𝜀)
• [KLOS13]• [Shermann13] slightly faster• Approaches are “Dual” to each other
Exact max flow in undir. graph
• 𝑂(𝑚1.5)• Combinatorial alg.• Blocking flow
• 𝑂(𝑚5/4𝐹1/4)• 𝐹 is value of max flow• [LRS12]• 𝑜(𝑚1.5) if 𝐹 = 𝑜(𝑚)
• 𝑂 𝑚1.43
• [Madry13]
𝑂 hides log factors
62
Literature Review: SDD Solver
• [ST04] 𝑂 𝑚 log20+ n log1
𝜀
• first break through
• Divided into 3 papers: [ST08a], [ST08b], [ST12] , 130+ pages
• [KMP10,11] 𝑂 𝑚 log 𝑛 log1
𝜀
• Based on [ST04]
• Still assume high precisions arithmetic
• [KOSZ13] 𝑂 𝑚 log2 n log1
𝜀
• [PS14] parallel solvers
• 𝑂 (𝑚 + 𝑛log3𝑛) log1
𝜀work
• 𝑂 log2𝑛 log1
𝜀depth
• [CKMPPRX14] 𝑂 𝑚 log0.5 n log1
𝜀
𝑂 hides loglog factors
63
Thank you
64