SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
Max Flows & Electrical Flows
Thatchaphol 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
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry of Electrical Flow
Alternating Projection Method
4
Preliminaries
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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
3
1
1
6
Capacity & Congestion
• Capacity 𝑢: 𝐸 → ℝ+
• Congestion
• 𝑐𝑜𝑛𝑔 𝑓 𝑒 =
𝑓 𝑒
𝑢 𝑒
• 𝑐𝑜𝑛𝑔(𝑓) = max
𝑒
𝑐𝑜𝑛𝑔 𝑓 𝑒
S T
2
4/3
2
3
4/2
4/3=1.33
3/4
1/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
Approx
Max
Flows
Approx
Electrical
Flows
Multiplicative Weight Update
𝑜 𝜖( 𝑚) turns
First method to solve approx. max flow in 𝑜𝜖(𝑚3/2) time
Oracle
12
Multiplicative Weight Update (MWU)
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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
3
1
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 Method
How to find approx. Electrical Flow in near linear time
38
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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 tree
2. 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 tree
2. 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 tree
2. 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: 𝑂 𝜏 𝑇 log
1
𝜖
= 𝑂 𝑚 log
1
𝜖
52
𝑓∗
{𝑓| 𝑓, 𝑐1 𝑅 = 0}
{𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0
𝑓1
𝑓2
Summary
1. Approx. Max Flow in 𝑂𝜖 𝑚1.5
(with small fix to get 𝑂𝜖 𝑚1.33..
)
2. Approx. Electrical Flow in 𝑂𝜖 𝑚
Preliminaries
Multiplicative Weight Update
MWU for Max Flow
Geometry 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 log
1
𝜀
• first break through
• Divided into 3 papers: [ST08a], [ST08b],
[ST12] , 130+ pages
• [KMP10,11] 𝑂 𝑚 log 𝑛 log
1
𝜀
• Based on [ST04]
• Still assume high precisions arithmetic
• [KOSZ13] 𝑂 𝑚 log2 n log
1
𝜀
• [PS14] parallel solvers
• 𝑂 (𝑚 + 𝑛log3 𝑛) log
1
𝜀
work
• 𝑂 log2 𝑛 log
1
𝜀
depth
• [CKMPPRX14] 𝑂 𝑚 log0.5 n log
1
𝜀
𝑂 hides loglog factors
63
Thank you
64

Weitere ähnliche Inhalte

Was ist angesagt?

Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMOCircuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
bofo900393
 

Was ist angesagt? (20)

Vibration Isolation of a LEGO® plate
Vibration Isolation of a LEGO® plateVibration Isolation of a LEGO® plate
Vibration Isolation of a LEGO® plate
 
Transient analysis
Transient analysisTransient analysis
Transient analysis
 
Vibration isolation progect lego(r)
Vibration isolation progect lego(r)Vibration isolation progect lego(r)
Vibration isolation progect lego(r)
 
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityProbabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
 
Soluções dos exercícios de cinética química digitados
Soluções dos exercícios de cinética química digitadosSoluções dos exercícios de cinética química digitados
Soluções dos exercícios de cinética química digitados
 
3 recursive bayesian estimation
3  recursive bayesian estimation3  recursive bayesian estimation
3 recursive bayesian estimation
 
Robust Fuzzy Output Feedback Controller for Affine Nonlinear Systems via T–S ...
Robust Fuzzy Output Feedback Controller for Affine Nonlinear Systems via T–S ...Robust Fuzzy Output Feedback Controller for Affine Nonlinear Systems via T–S ...
Robust Fuzzy Output Feedback Controller for Affine Nonlinear Systems via T–S ...
 
Energy-Based Control of Under-Actuated Mechanical Systems - Remotely Driven A...
Energy-Based Control of Under-Actuated Mechanical Systems - Remotely Driven A...Energy-Based Control of Under-Actuated Mechanical Systems - Remotely Driven A...
Energy-Based Control of Under-Actuated Mechanical Systems - Remotely Driven A...
 
Week 10 part 3 pe 6282 mecchanical liquid and electrical
Week 10 part 3 pe 6282 mecchanical liquid and electricalWeek 10 part 3 pe 6282 mecchanical liquid and electrical
Week 10 part 3 pe 6282 mecchanical liquid and electrical
 
No Cloning Theorem with essential Mathematics and Physics
No Cloning Theorem with essential Mathematics and PhysicsNo Cloning Theorem with essential Mathematics and Physics
No Cloning Theorem with essential Mathematics and Physics
 
Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMOCircuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
Circuitos ELECTRICOS EJEMPLOS TAREA ELECTRICIDAD Y MAGNETISMO
 
State space design
State space designState space design
State space design
 
Owa method
Owa methodOwa method
Owa method
 
Control system exercise
Control system exercise Control system exercise
Control system exercise
 
DC servo motor
DC servo motorDC servo motor
DC servo motor
 
Appendix E
Appendix EAppendix E
Appendix E
 
Transfer fn mech. systm
Transfer fn mech. systmTransfer fn mech. systm
Transfer fn mech. systm
 
Quantum Computing 101, Part 2 - Hello Entangled World
Quantum Computing 101, Part 2 - Hello Entangled WorldQuantum Computing 101, Part 2 - Hello Entangled World
Quantum Computing 101, Part 2 - Hello Entangled World
 
Quantum Computing 101, Part 1 - Hello Quantum World
Quantum Computing 101, Part 1 - Hello Quantum WorldQuantum Computing 101, Part 1 - Hello Quantum World
Quantum Computing 101, Part 1 - Hello Quantum World
 
State space modelling of a quadcopter
State space modelling of a quadcopterState space modelling of a quadcopter
State space modelling of a quadcopter
 

Andere mochten auch (7)

Cpmpert
CpmpertCpmpert
Cpmpert
 
Project management cpm-pert
Project management   cpm-pertProject management   cpm-pert
Project management cpm-pert
 
Decision making techniques ppt @ mba opreatiop mgmt
Decision making techniques ppt @ mba opreatiop mgmt Decision making techniques ppt @ mba opreatiop mgmt
Decision making techniques ppt @ mba opreatiop mgmt
 
Project management planning
Project management planningProject management planning
Project management planning
 
Project time management
Project time managementProject time management
Project time management
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Critical Path Ppt
Critical Path PptCritical Path Ppt
Critical Path Ppt
 

Ähnlich wie Max flows via electrical flows (long talk)

Generalised 2nd Order Active Filter Prototype_B
Generalised 2nd Order Active Filter Prototype_BGeneralised 2nd Order Active Filter Prototype_B
Generalised 2nd Order Active Filter Prototype_B
Adrian Mostert
 
Optimum engineering design - Day 5. Clasical optimization methods
Optimum engineering design - Day 5. Clasical optimization methodsOptimum engineering design - Day 5. Clasical optimization methods
Optimum engineering design - Day 5. Clasical optimization methods
SantiagoGarridoBulln
 
Engineering Analysis -Third Class.ppsx
Engineering Analysis -Third Class.ppsxEngineering Analysis -Third Class.ppsx
Engineering Analysis -Third Class.ppsx
HebaEng
 

Ähnlich wie Max flows via electrical flows (long talk) (20)

Mathematics of nyquist plot [autosaved] [autosaved]
Mathematics of nyquist plot [autosaved] [autosaved]Mathematics of nyquist plot [autosaved] [autosaved]
Mathematics of nyquist plot [autosaved] [autosaved]
 
Generalised 2nd Order Active Filter Prototype_B
Generalised 2nd Order Active Filter Prototype_BGeneralised 2nd Order Active Filter Prototype_B
Generalised 2nd Order Active Filter Prototype_B
 
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - System Models
Lecture Notes:  EEEC4340318 Instrumentation and Control Systems - System ModelsLecture Notes:  EEEC4340318 Instrumentation and Control Systems - System Models
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - System Models
 
LC oscillations.pdf
LC oscillations.pdfLC oscillations.pdf
LC oscillations.pdf
 
DC AC.pptx
DC AC.pptxDC AC.pptx
DC AC.pptx
 
control_5.pptx
control_5.pptxcontrol_5.pptx
control_5.pptx
 
Mod 3.pptx
Mod 3.pptxMod 3.pptx
Mod 3.pptx
 
lecture 5 courseII (6).pptx
lecture 5 courseII (6).pptxlecture 5 courseII (6).pptx
lecture 5 courseII (6).pptx
 
Geometry of Continuous Time Markov Chains
Geometry of Continuous Time Markov ChainsGeometry of Continuous Time Markov Chains
Geometry of Continuous Time Markov Chains
 
DC DC Converter
DC DC ConverterDC DC Converter
DC DC Converter
 
A short introduction to Quantum Computing and Quantum Cryptography
A short introduction to Quantum Computing and Quantum CryptographyA short introduction to Quantum Computing and Quantum Cryptography
A short introduction to Quantum Computing and Quantum Cryptography
 
ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)ZK Study Club: Supernova (Srinath Setty - MS Research)
ZK Study Club: Supernova (Srinath Setty - MS Research)
 
Essential_&_Practical_Circuit_Analysis_Part 1_ DC_Circuits.pptx
Essential_&_Practical_Circuit_Analysis_Part 1_ DC_Circuits.pptxEssential_&_Practical_Circuit_Analysis_Part 1_ DC_Circuits.pptx
Essential_&_Practical_Circuit_Analysis_Part 1_ DC_Circuits.pptx
 
Optimum engineering design - Day 5. Clasical optimization methods
Optimum engineering design - Day 5. Clasical optimization methodsOptimum engineering design - Day 5. Clasical optimization methods
Optimum engineering design - Day 5. Clasical optimization methods
 
Engineering Analysis -Third Class.ppsx
Engineering Analysis -Third Class.ppsxEngineering Analysis -Third Class.ppsx
Engineering Analysis -Third Class.ppsx
 
Ac/AC conveter
Ac/AC conveterAc/AC conveter
Ac/AC conveter
 
Page rank - from theory to application
Page rank - from theory to applicationPage rank - from theory to application
Page rank - from theory to application
 
Optimum Engineering Design - Day 2b. Classical Optimization methods
Optimum Engineering Design - Day 2b. Classical Optimization methodsOptimum Engineering Design - Day 2b. Classical Optimization methods
Optimum Engineering Design - Day 2b. Classical Optimization methods
 
Introduction of Quantum Annealing and D-Wave Machines
Introduction of Quantum Annealing and D-Wave MachinesIntroduction of Quantum Annealing and D-Wave Machines
Introduction of Quantum Annealing and D-Wave Machines
 
Orbital_Simulation (2).pptx
Orbital_Simulation (2).pptxOrbital_Simulation (2).pptx
Orbital_Simulation (2).pptx
 

Mehr von Thatchaphol Saranurak

Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
Thatchaphol Saranurak
 

Mehr von Thatchaphol Saranurak (9)

Computer Science in Saarland
Computer Science in Saarland Computer Science in Saarland
Computer Science in Saarland
 
เรียนต่อเยอรมนีที่ Saarland University
เรียนต่อเยอรมนีที่ Saarland Universityเรียนต่อเยอรมนีที่ Saarland University
เรียนต่อเยอรมนีที่ Saarland University
 
Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
Summary of "A Universally-Truthful Approximation Scheme for Multi-unit Auction"
 
A Universally-Truthful Approximation Scheme for Multi-unit Auction
A Universally-Truthful Approximation Scheme for Multi-unit AuctionA Universally-Truthful Approximation Scheme for Multi-unit Auction
A Universally-Truthful Approximation Scheme for Multi-unit Auction
 
แข่งเขียนโปรแกรม
แข่งเขียนโปรแกรมแข่งเขียนโปรแกรม
แข่งเขียนโปรแกรม
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile Practices
Agile PracticesAgile Practices
Agile Practices
 
No-Mouse Word Processor
No-Mouse Word ProcessorNo-Mouse Word Processor
No-Mouse Word Processor
 
Augmented Reality -- very brief
Augmented Reality -- very briefAugmented Reality -- very brief
Augmented Reality -- very brief
 

Max flows via electrical flows (long talk)

  • 1. Max Flows & Electrical Flows Thatchaphol Saranurak 2 July 2014 1
  • 2. 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
  • 3. 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
  • 4. Outline Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 4
  • 5. Preliminaries Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 5
  • 6. Flow • 𝐺 = (𝑉, 𝐸) undirected • s-t Flow f: 𝐸 → ℝ • Arbitrarily orient edges • “directed” 𝑓 𝑎, 𝑏 = −𝑓 𝑏, 𝑎 , for 𝑒 = 𝑎, 𝑏 ∈ 𝐸 • 𝑖𝑛𝑓𝑙𝑜𝑤(𝑣) = 𝑜𝑢𝑡𝑓𝑙𝑜𝑤(𝑣), for 𝑣 ∈ 𝑉{𝑠, 𝑡} • Formal: 𝑎:(𝑣,𝑎)∈𝐸 𝑓(𝑣, 𝑎) = 0. • 𝑣𝑎𝑙𝑢𝑒(𝑓) = net flow into 𝑡 S T 4 4 4 3 1 1 6
  • 7. Capacity & Congestion • Capacity 𝑢: 𝐸 → ℝ+ • Congestion • 𝑐𝑜𝑛𝑔 𝑓 𝑒 = 𝑓 𝑒 𝑢 𝑒 • 𝑐𝑜𝑛𝑔(𝑓) = max 𝑒 𝑐𝑜𝑛𝑔 𝑓 𝑒 S T 2 4/3 2 3 4/2 4/3=1.33 3/4 1/3 1/3 7
  • 8. Max Flow Problem • Solution: s-t flow 𝑓 of 𝑐𝑜𝑛𝑔 𝑓 ≤ 1 • Note: Here we consider only s-t flow just for simplicity. • Goal: max 𝑓 𝑣𝑎𝑙𝑢𝑒(𝑓) 8
  • 9. Resistance & Energy • Resistance 𝑟: 𝐸 → ℝ+ • Energy • ℰ 𝑓 (𝑒) = 𝑟(𝑒)𝑓(𝑒)2 • Note: called “Power” in physics: 𝑃 = 𝑅𝐼2 • ℰ 𝑓 = 𝑒 ℰ 𝑓 𝑒 = 𝑒 𝑟(𝑒)𝑓(𝑒)2 • 𝑅: a diagonal matrix with 𝑅 𝑒,𝑒 = 𝑟 𝑒 : R = 𝑟(𝑒1) ⋯ 0 ⋮ ⋱ ⋮ 0 ⋯ 𝑟(𝑒 𝑚) • So ℰ(𝑓) = 𝑓 𝑇 𝑅𝑓 9
  • 10. 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
  • 11. 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
  • 12. High Level: Max Flow via Electrical Flow • Black Box: approx. Electrical Flow in 𝑂𝜖(𝑚) time Approx Max Flows Approx Electrical Flows Multiplicative Weight Update 𝑜 𝜖( 𝑚) turns First method to solve approx. max flow in 𝑜𝜖(𝑚3/2) time Oracle 12
  • 13. Multiplicative Weight Update (MWU) Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 13
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. MWU for Max Flow Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 18
  • 19. 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
  • 20. 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
  • 21. The Algorithm: Scaled Average Flow • After 𝑇 = 𝑂( 𝜌 ln 𝑚 𝜖2 ) turns • 𝑓 = 𝑡=1 𝑇 𝑓𝑡 /𝑇 is an average flow • Return 𝑓/(1 + 𝜖)2 • Runtime: 𝑂 𝑚𝑇 = 𝑂 𝑚 𝜌 𝜖2 . (Will bound 𝜌 = 𝑂( 𝑚/𝜖).) 21
  • 22. 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
  • 23. 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
  • 24. • ℰ 𝑓 • = 𝑖 𝑟 𝑒𝑖 𝑓 𝑒𝑖 2 • = 𝑖( 𝑓 𝑒 𝑖 𝑢 𝑒 𝑖 )2 𝑝𝑖 𝑡 + 𝜖 3𝑚 • = 𝑖 𝑐𝑜𝑛𝑔 𝑓 𝑒𝑖 2 (𝑝𝑖 𝑡 + 𝜖 3𝑚 ) 24
  • 25. 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
  • 26. Proof (2) ℰ 𝑓 = 𝑖 𝑐𝑜𝑛𝑔 𝑓 𝑒𝑖 2 (𝑝𝑖 𝑡 + 𝜖 3𝑚 ) 1. Gain of follower 𝒎(𝑡) 𝒑(𝑡) = 𝑖 𝑐𝑜𝑛𝑔 𝑓𝑡 𝑒𝑖 𝑝𝑖 𝑡 ≤ 𝑖 𝑐𝑜𝑛𝑔 𝑓𝑡 𝑒𝑖 2 𝑝𝑖 𝑡 𝑖 𝑝𝑖 𝑡 ≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖 2. Bound 𝜌. 𝑐𝑜𝑛𝑔 𝑓𝑡 𝑒𝑖 2 𝜖 3𝑚 ≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖 ⟹ 𝑐𝑜𝑛𝑔 𝑓𝑡 𝑒𝑖 ≤ 3(1 + 𝜖) ∙ 𝑚/𝜖 26
  • 27. 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
  • 28. 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
  • 29. Geometry of Electrical Flow Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 29
  • 30. 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
  • 31. “Angle” is defined in inner product space • Projection: 𝑥 𝑅 = 1 ⟹ 𝑥, 𝑦 𝑅 is size of “𝑦 projected to 𝑥” • Orthogonal: when 𝑥, 𝑦 𝑅 = 0 • Pythagorean: 𝑥 𝑅 2 + 𝑦 𝑅 2 = 𝑥 + 𝑦 𝑅 2 ⟺ 𝑥, 𝑦 𝑅 = 0 31 𝑦 𝑥
  • 32. 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
  • 33. 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 3 1 1 4
  • 34. 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
  • 35. 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
  • 36. 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 𝑎 𝑏 𝑒 𝑃𝑒
  • 37. 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}
  • 38. Alternating Projection Method How to find approx. Electrical Flow in near linear time 38 Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method
  • 39. 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 tree 2. Which initial flow 𝑓0: Flow restricted in 𝑇 3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
  • 40. 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 𝑎 𝑏 𝑒 𝑃𝑒
  • 41. 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
  • 42. 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
  • 43. 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 tree 2. Which initial flow 𝑓0: Flow restricted in 𝑇 3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
  • 44. Physical Intuition • Some physical intuition to geometric quantities. • 𝑓, 𝑐 𝑒 𝑅 = 𝑓𝑒 𝑇 𝑅𝑐 𝑒 = 𝑒′∈𝑐 𝑒 𝑓 𝑒′ 𝑟(𝑒′) • (in physics, 𝑉 = 𝐼𝑅) • potential across cycle 𝑐 𝑒 • 𝑐 𝑒, 𝑐 𝑒 𝑅 = 𝑐 𝑒 𝑇 𝑅𝑐 𝑒 = 𝑒′∈𝑐 𝑒 𝑟(𝑒′) • resistance of cycle 𝑐 𝑒 • 𝑐 𝑒, 𝑐 𝑒 𝑅 = 𝑐 𝑒 𝑅 2 44 𝑎 𝑏 𝑒 𝑃𝑒
  • 45. Projection to 𝑆 𝑒 ≡ Circulate around 𝑐 𝑒 • 𝑐 𝑒 = 𝑐 𝑒 𝑐 𝑒 𝑅 is normalized 𝑐 𝑒 • 𝑓′ = 𝑓 − 𝑓, 𝑐 𝑒 𝑅 𝑐 𝑒 • 𝑐 𝑒 is normal vector of 𝑆 𝑒 • 𝑓′ , 𝑐 𝑒 𝑅 = 0 ⟹ 𝑓′ ∈ 𝑆 𝑒 • Circulate around cycle 𝑐 𝑒 • Amount of flow = potential across cycle 𝑐 𝑒 resistance of cycle 𝑐 𝑒 (𝐼 = 𝑉 𝑅 ) • 𝑓, 𝑐 𝑒 𝑅 𝑐 𝑒 = 𝑓,𝑐 𝑒 𝑅 𝑐 𝑒,𝑐 𝑒 𝑅 𝑐 𝑒 45 𝑐 𝑒 𝑆 𝑒 𝑓 𝑓′
  • 46. 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 𝑎 𝑏 𝑒 𝑃𝑒
  • 47. 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 tree 2. Which initial flow 𝑓0: Flow restricted in 𝑇 3. Fast projection: Link-cut tree 4. How many projections: ∼ 𝜏 𝑇 in expectation
  • 48. 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 𝑓∗
  • 49. 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 𝑓∗
  • 50. 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
  • 51. Bound the Energy (distance from origin) • Set 𝑡 = 𝜏 𝑇 log 𝑠𝑡 𝑇 𝜖 • 𝔼 𝑓𝑡 − 𝑓∗ 𝑅 2 ≤ 𝜖 𝑓∗ 𝑅 2 • 𝑓𝑡 − 𝑓∗ 𝑅 2 + 𝑓∗ 𝑅 2 = 𝑓𝑡 𝑅 2 • 𝑓∗ is orthogonal to circulation 𝑓𝑡 − 𝑓∗ 𝔼[ 𝑓𝑡 𝑅 2 − 𝑓∗ 𝑅 2 ] = 𝔼 𝑓𝑡 − 𝑓∗ 𝑅 2 ≤ 𝜖 𝑓∗ 𝑅 2 𝔼 [ℰ 𝑓𝑡 ] ≤ (1 + 𝜖)ℰ 𝑓∗ 51
  • 52. 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: 𝑂 𝜏 𝑇 log 1 𝜖 = 𝑂 𝑚 log 1 𝜖 52 𝑓∗ {𝑓| 𝑓, 𝑐1 𝑅 = 0} {𝑓| 𝑓, 𝑐2 𝑅 = 0}𝑓0 𝑓1 𝑓2
  • 53. Summary 1. Approx. Max Flow in 𝑂𝜖 𝑚1.5 (with small fix to get 𝑂𝜖 𝑚1.33.. ) 2. Approx. Electrical Flow in 𝑂𝜖 𝑚 Preliminaries Multiplicative Weight Update MWU for Max Flow Geometry of Electrical Flow Alternating Projection Method 53
  • 55. 55
  • 58. Laplacian of Graphs • 𝐺 = 𝑉, 𝐸 • For each edge 𝑒 = (𝑎, 𝑏) ∈ 𝐸 with weight 𝑤(𝑎,𝑏) • 𝐿(𝑎,𝑏) ∈ ℝ|𝑉|×|𝑉|, 𝐿(𝑎,𝑏) = • Laplacian of 𝐺 • 𝐿 𝐺 = 𝑒∈𝐸 𝐿 𝑒 a b a b 1 -1 1-1 × 𝑤(𝑎,𝑏) 58
  • 59. Laplacian System • Given 𝐿 𝐺 of some 𝐺 and 𝑏 • Find 𝑥 s.t. 𝐿 𝐺 𝑥 = 𝑏 59
  • 60. 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
  • 62. 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
  • 63. Literature Review: SDD Solver • [ST04] 𝑂 𝑚 log20+ n log 1 𝜀 • first break through • Divided into 3 papers: [ST08a], [ST08b], [ST12] , 130+ pages • [KMP10,11] 𝑂 𝑚 log 𝑛 log 1 𝜀 • Based on [ST04] • Still assume high precisions arithmetic • [KOSZ13] 𝑂 𝑚 log2 n log 1 𝜀 • [PS14] parallel solvers • 𝑂 (𝑚 + 𝑛log3 𝑛) log 1 𝜀 work • 𝑂 log2 𝑛 log 1 𝜀 depth • [CKMPPRX14] 𝑂 𝑚 log0.5 n log 1 𝜀 𝑂 hides loglog factors 63