max flows via electrical flows (long talk)

Post on 05-Dec-2014

133 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

top related