64
Max Flows & Electrical Flows Thatchaphol Saranurak 2 July 2014 1

Max flows via electrical flows (long talk)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Max flows via electrical flows (long talk)

Max Flows & Electrical FlowsThatchaphol Saranurak

2 July 2014

1

Page 2: Max flows via electrical flows (long talk)

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

Page 3: Max flows via electrical flows (long talk)

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

Page 4: Max flows via electrical flows (long talk)

Outline

PreliminariesMultiplicative Weight Update

MWU for Max FlowGeometry of Electrical Flow

Alternating Projection Method

4

Page 5: Max flows via electrical flows (long talk)

Preliminaries

PreliminariesMultiplicative Weight Update

MWU for Max FlowGeometry of Electrical Flow

Alternating Projection Method

5

Page 6: Max flows via electrical flows (long talk)

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

Page 7: Max flows via electrical flows (long talk)

Capacity & Congestion

• Capacity 𝑢: 𝐸 → ℝ+

• Congestion

• 𝑐𝑜𝑛𝑔𝑓 𝑒 =𝑓 𝑒

𝑢 𝑒

• 𝑐𝑜𝑛𝑔(𝑓) = max𝑒

𝑐𝑜𝑛𝑔𝑓 𝑒

S T

2

4/3

2

3

4/2

4/3=1.33

3/41/3

1/3

7

Page 8: Max flows via electrical flows (long talk)

Max Flow Problem

• Solution: s-t flow 𝑓 of 𝑐𝑜𝑛𝑔 𝑓 ≤ 1• Note: Here we consider only s-t flow just for simplicity.

• Goal: max𝑓

𝑣𝑎𝑙𝑢𝑒(𝑓)

8

Page 9: Max flows via electrical flows (long talk)

Resistance & Energy

• Resistance 𝑟: 𝐸 → ℝ+

• Energy

• ℰ𝑓 (𝑒) = 𝑟(𝑒)𝑓(𝑒)2

• Note: called “Power” in physics: 𝑃 = 𝑅𝐼2

• ℰ 𝑓 = 𝑒 ℰ𝑓 𝑒 = 𝑒 𝑟(𝑒)𝑓(𝑒)2

• 𝑅: a diagonal matrix with 𝑅𝑒,𝑒 = 𝑟 𝑒 : R =𝑟(𝑒1) ⋯ 0⋮ ⋱ ⋮0 ⋯ 𝑟(𝑒𝑚)

• So ℰ(𝑓) = 𝑓𝑇𝑅𝑓

9

Page 10: Max flows via electrical flows (long talk)

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

Page 11: Max flows via electrical flows (long talk)

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

Page 12: Max flows via electrical flows (long talk)

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

Page 13: Max flows via electrical flows (long talk)

Multiplicative Weight Update (MWU)

PreliminariesMultiplicative Weight Update

MWU for Max FlowGeometry of Electrical Flow

Alternating Projection Method

13

Page 14: Max flows via electrical flows (long talk)

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

Page 15: Max flows via electrical flows (long talk)

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

Page 16: Max flows via electrical flows (long talk)

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

Page 17: Max flows via electrical flows (long talk)

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

Page 18: Max flows via electrical flows (long talk)

MWU for Max Flow

PreliminariesMultiplicative Weight Update

MWU for Max FlowGeometry of Electrical Flow

Alternating Projection Method

18

Page 19: Max flows via electrical flows (long talk)

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

Page 20: Max flows via electrical flows (long talk)

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

Page 21: Max flows via electrical flows (long talk)

The Algorithm: Scaled Average Flow

• After 𝑇 = 𝑂(𝜌 ln 𝑚

𝜖2) turns

• 𝑓 = 𝑡=1𝑇 𝑓𝑡 /𝑇 is an average flow

• Return 𝑓/(1 + 𝜖)2

• Runtime: 𝑂 𝑚𝑇 = 𝑂 𝑚𝜌

𝜖2. (Will bound 𝜌 = 𝑂( 𝑚/𝜖).)

21

Page 22: Max flows via electrical flows (long talk)

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

Page 23: Max flows via electrical flows (long talk)

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

Page 24: Max flows via electrical flows (long talk)

• ℰ 𝑓

• = 𝑖 𝑟 𝑒𝑖 𝑓 𝑒𝑖2

• = 𝑖(𝑓 𝑒𝑖

𝑢 𝑒𝑖)2 𝑝𝑖

𝑡+

𝜖

3𝑚

• = 𝑖 𝑐𝑜𝑛𝑔𝑓 𝑒𝑖2(𝑝𝑖

𝑡+

𝜖

3𝑚)

24

Page 25: Max flows via electrical flows (long talk)

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

Page 26: Max flows via electrical flows (long talk)

Proof (2)

ℰ 𝑓 =

𝑖

𝑐𝑜𝑛𝑔𝑓 𝑒𝑖2(𝑝𝑖

𝑡+

𝜖

3𝑚)

1. Gain of follower 𝒎(𝑡)𝒑(𝑡)

=

𝑖

𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 𝑝𝑖𝑡≤

𝑖

𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖2𝑝𝑖

𝑡

𝑖

𝑝𝑖𝑡

≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖

2. Bound 𝜌.𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖

2𝜖

3𝑚≤ ℰ 𝑓𝑡 ≤ 1 + 𝜖 ⟹ 𝑐𝑜𝑛𝑔𝑓𝑡 𝑒𝑖 ≤ 3(1 + 𝜖) ∙ 𝑚/𝜖

26

Page 27: Max flows via electrical flows (long talk)

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

Page 28: Max flows via electrical flows (long talk)

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

Page 29: Max flows via electrical flows (long talk)

Geometry of Electrical Flow

PreliminariesMultiplicative Weight Update

MWU for Max FlowGeometry of Electrical Flow

Alternating Projection Method

29

Page 30: Max flows via electrical flows (long talk)

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

Page 31: Max flows via electrical flows (long talk)

“Angle” is defined in inner product space

• Projection: 𝑥 𝑅 = 1 ⟹ 𝑥, 𝑦 𝑅 is size of “𝑦 projected to 𝑥”

• Orthogonal: when 𝑥, 𝑦 𝑅 = 0

• Pythagorean: 𝑥 𝑅2 + 𝑦 𝑅

2 = 𝑥 + 𝑦 𝑅2 ⟺ 𝑥, 𝑦 𝑅 = 0

31

𝑦

𝑥

Page 32: Max flows via electrical flows (long talk)

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

Page 33: Max flows via electrical flows (long talk)

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

Page 34: Max flows via electrical flows (long talk)

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

Page 35: Max flows via electrical flows (long talk)

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

Page 36: Max flows via electrical flows (long talk)

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

𝑎

𝑏𝑒

𝑃𝑒

Page 37: Max flows via electrical flows (long talk)

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}

Page 38: Max flows via electrical flows (long talk)

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

Page 39: Max flows via electrical flows (long talk)

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

Page 40: Max flows via electrical flows (long talk)

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

𝑎

𝑏𝑒

𝑃𝑒

Page 41: Max flows via electrical flows (long talk)

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

Page 42: Max flows via electrical flows (long talk)

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

Page 43: Max flows via electrical flows (long talk)

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

Page 44: Max flows via electrical flows (long talk)

Physical Intuition

• Some physical intuition to geometric quantities.

• 𝑓, 𝑐𝑒 𝑅 = 𝑓𝑒𝑇𝑅𝑐𝑒 = 𝑒′∈𝑐𝑒 𝑓 𝑒′ 𝑟(𝑒′)

• (in physics, 𝑉 = 𝐼𝑅)

• potential across cycle 𝑐𝑒

• 𝑐𝑒 , 𝑐𝑒 𝑅 = 𝑐𝑒𝑇𝑅𝑐𝑒 = 𝑒′∈𝑐𝑒

𝑟(𝑒′)

• resistance of cycle 𝑐𝑒• 𝑐𝑒 , 𝑐𝑒 𝑅 = 𝑐𝑒 𝑅

2

44

𝑎

𝑏𝑒

𝑃𝑒

Page 45: Max flows via electrical flows (long talk)

Projection to 𝑆𝑒 ≡ Circulate around 𝑐𝑒

• 𝑐𝑒 =𝑐𝑒

𝑐𝑒 𝑅is normalized 𝑐𝑒

• 𝑓′ = 𝑓 − 𝑓, 𝑐𝑒 𝑅 𝑐𝑒• 𝑐𝑒 is normal vector of 𝑆𝑒• 𝑓′, 𝑐𝑒 𝑅 = 0 ⟹ 𝑓′ ∈ 𝑆𝑒

• Circulate around cycle 𝑐𝑒

• Amount of flow =potential across cycle 𝑐𝑒

resistance of cycle 𝑐𝑒(𝐼 =

𝑉

𝑅)

• 𝑓, 𝑐𝑒 𝑅 𝑐𝑒 =𝑓,𝑐𝑒 𝑅

𝑐𝑒,𝑐𝑒 𝑅𝑐𝑒

45

𝑐𝑒

𝑆𝑒

𝑓

𝑓′

Page 46: Max flows via electrical flows (long talk)

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

𝑎

𝑏𝑒

𝑃𝑒

Page 47: Max flows via electrical flows (long talk)

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

Page 48: Max flows via electrical flows (long talk)

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

𝑓∗

Page 49: Max flows via electrical flows (long talk)

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

𝑓∗

Page 50: Max flows via electrical flows (long talk)

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

Page 51: Max flows via electrical flows (long talk)

Bound the Energy (distance from origin)

• Set 𝑡 = 𝜏 𝑇 log𝑠𝑡 𝑇

𝜖

• 𝔼 𝑓𝑡 − 𝑓∗ 𝑅2 ≤ 𝜖 𝑓∗ 𝑅

2

• 𝑓𝑡 − 𝑓∗ 𝑅2 + 𝑓∗ 𝑅

2 = 𝑓𝑡 𝑅2

• 𝑓∗ is orthogonal to circulation 𝑓𝑡 − 𝑓∗

𝔼[ 𝑓𝑡 𝑅2 − 𝑓∗ 𝑅

2 ] = 𝔼 𝑓𝑡 − 𝑓∗ 𝑅2 ≤ 𝜖 𝑓∗ 𝑅

2

𝔼 [ℰ 𝑓𝑡 ] ≤ (1 + 𝜖)ℰ 𝑓∗

51

Page 52: Max flows via electrical flows (long talk)

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

Page 53: Max flows via electrical flows (long talk)

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

Page 54: Max flows via electrical flows (long talk)

Q & A

54

Page 55: Max flows via electrical flows (long talk)

55

Page 56: Max flows via electrical flows (long talk)

Spare slides…

56

Page 57: Max flows via electrical flows (long talk)

Laplacian Solver

57

Page 58: Max flows via electrical flows (long talk)

Laplacian of Graphs

• 𝐺 = 𝑉, 𝐸

• For each edge 𝑒 = (𝑎, 𝑏) ∈ 𝐸 with weight 𝑤(𝑎,𝑏)

• 𝐿(𝑎,𝑏) ∈ ℝ|𝑉|×|𝑉|, 𝐿(𝑎,𝑏) =

• Laplacian of 𝐺

• 𝐿𝐺 = 𝑒∈𝐸 𝐿𝑒

a b

a

b

1 -1

1-1

× 𝑤(𝑎,𝑏)

58

Page 59: Max flows via electrical flows (long talk)

Laplacian System

• Given 𝐿𝐺 of some 𝐺 and 𝑏

• Find 𝑥 s.t. 𝐿𝐺𝑥 = 𝑏

59

Page 60: Max flows via electrical flows (long talk)

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

Page 61: Max flows via electrical flows (long talk)

Literature Review

61

Page 62: Max flows via electrical flows (long talk)

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

Page 63: Max flows via electrical flows (long talk)

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

Page 64: Max flows via electrical flows (long talk)

Thank you

64