faster all-pairs shortest paths via circuit complexityrussell/fgca/apsp-berkeley... ·...

21
Faster All-Pairs Shortest Paths Via Circuit Complexity Ryan Williams Stanford

Upload: others

Post on 21-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Faster All-Pairs Shortest Paths

Via Circuit Complexity

Ryan Williams Stanford

Page 2: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

All-Pairs Shortest Paths (APSP)

Needs no definition…

or does it?

Meaning? (Could take �(��) space just to write down paths!)

APSPGiven: �-node graph G defined by a weight function

w : [�] × [�] � ℝ� ∪ {∞}

Compute: For all i, j ∈ [�], a shortest path from i to j

Page 3: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

All-Pairs Shortest Paths (APSP)

Needs no definition…

or does it?

Such an S always exists, and can be described in ϴ(n2 log n) bits.

Given S, we can compute the shortest path between any nodes sand t in O(p) time, where p is the number of edges in the path.

APSPGiven: �-node graph G defined by a weight function

w : [�] × [�] � ℝ� ∪ {∞}

Compute: � by � matrix S with the property:

for all i, j ∈ [�], S[i,j] = k ∈ [�] such that

there is a shortest path from i to j

starting with edge (i,k)

Page 4: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

The Computational Model

We’re working with real weights, and an adjacency matrix

An instance of APSP is specified with � real-valued registers.

This model is designed to be as general as possible, such that

Floyd-Warshall (1961) takes O(��) steps to solve APSP.

The Real RAM ModelRandom access machine model with two types of registers

The outcome of a Comparison goes into a typical register

Register Types Real-Valued Typical

Holds: real numbers O(log �) bits

Operations: Addition, Subtraction,

Comparison (a ≤ b)

All the usual bit

instructions

Page 5: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

The Necessity of Cubic Time for APSP?

Major Open Question (in the 60’s):

Is O(��) time optimal for APSP?

(partial) Answer [Kerr’71]

YES… if only additions/comparisons on reals are allowed

But the Real RAM allows us to do arbitrary bit operations

on the outcomes of comparisons… could this help?

(better) Answer: [Fredman’75]

NO! On the Real RAM, APSP is in Ŏ(n3/log1/3 n) time

(Ŏ omits poly(log log n) factors)

This spawned a long line of work…

Page 6: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

The Necessity of Cubic Time for APSP?

Author Ŏ Runtime Year

Floyd, Warshall n3 1962

Fredman n3 / log1/3 n 1975

Takaoka,

Dobosiewicz

n3 / log1/2 n 1990,1991

Han n3 / log5/7 n 2004

Takaoka,

Zwick,

Chan

n3 / log n 2004,2005

Han n3 / log5/4 n 2006

Chan,

Han-Takaoka

n3 / log2 n 2007,2012

MAJOR QUESTION: Is APSP in ���� time, for some � > �?

Page 7: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Is APSP in ���� time?

Maybe… NO? [Vassilevska Williams-W. ‘10]

Theorem: Either all of the following have ���� time

algorithms, or none of them do.

1. APSP

2. Minimum Weight Triangle

3. Metricity

4. Minimum Cycle

5. Distance Product Verification

6. Distance Product

7. Second Shortest Path

8. Replacement Paths

9. Negative Triangle Listing

….

A theory of hardness and completeness for polynomial-time problems

Page 8: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

The Necessity of Cubic Time for APSP?

Author Ŏ Runtime Year

Floyd, Warshall n3 1962

Fredman n3 / log1/3 n 1975

Takaoka,

Dobosiewicz

n3 / log1/2 n 1990,1991

Han n3 / log5/7 n 2004

Takaoka,

Zwick,

Chan

n3 / log n 2004,2005

Han n3 / log5/4 n 2006

Chan,

Han-Takaoka

n3 / log2 n 2007,2012

BIG QUESTION: Is APSP in n3/logc n time, for every c?

Page 9: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Faster APSP

Theorem 1: There is a randomized algorithm for

APSP running in ��

�� �time, where � � ≥ � log � �/�.

Theorem 2: There is a � > � and a deterministic APSP alg

running in ��

�� �time, where � � ≥ � log � �

[Recently with T. M. Chan] Deterministic algorithm for

APSP running in ��

�� �time, where � � ≥ � log � �/�

Corollary: APSP is in ��

��� �time for every ≥ �.

Corollary: All 9 problems mentioned earlier have algorithms with similar running times as well!

Page 10: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Faster APSP: In this talk

Theorem 1’: For all !, there is a randomized algorithm

for APSP on graphs with integer weights in the interval

[�, �!] running in ��

�� �time, where � � ≥ � log � �

This was already an open problem, and practically all the key new ideas are illustrated in this case.

Page 11: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

IntuitionThere is a natural matrix product associated with APSP

Theorem [Fischer-Meyer, Munro ‘71]

To solve APSP, it suffices to compute the

min-plus matrix product of %, & ∈ ℝn × n

% ○ & (, ) = min!

% (, ! + & !, )

There is a natural mapping from max-plus matrix products to

“normal” matrix products (hence min-plus as well)

Given %, & ∈ ℝn × n, define A’[i,j] := xA[i,j], B’[i,j] = xB[i,j]

Let (A’ ⋅ B’) be the usual matrix product, over ℝ[x]

Then for all i,j,

deg((A’ ⋅ B’)[i,j]) = deg(∑ xA[i,k]+B[k,j]

k ) = 123! (%[(, !] + &[!, )])

Problem: These polynomials will in general have �(n) terms and

degree �(M), where M is the largest weight

Could take �(M ��.7) or �(��.7) time, even using fast matrix mult!

Page 12: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

A new reduction from min-plus algebra to “normal” algebra

Key Idea 1: Min-plus inner products are EASY wrt circuit complexity!

They are computable with AC0 circuits

constant depth, AND/OR/NOT, polynomial size

Key Idea 2:EASY inner products can be reduced to polynomials over 82

[Razborov-Smolensky’87] Randomized reduction from AC0

circuits to polylog-degree polynomials over 8�: for every input,

the probability the polynomial agrees with the circuit is > ¾.

Key Idea 3:Polynomials can be eff. evaluated on many pairs of points[Coppersmith’82] (Very) fast rectangular matrix multiplication

Intuition

Page 13: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

1. Min-plus inner products are EASY

Let 9, : ∈ ℕ�. Define 9 ○ : ≔ min!

9! + :!

Lemma: Let 1 ∈ ℕ. The min-plus inner product of 9, : ∈ 1 � can be

computed with � log 1 = � -size AC0 circuits.

Proof Sketch:

1. Adding two (log 1)-bit numbers is in log 1 = � -size AC0 (depth 4)

Carry Lookahead Adder:

- Determine in parallel

which bit positions will

have carry bits in them

- For each bit position,

take the XOR of the

carry bit and the two

corresponding input bits

Page 14: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

1. Min-plus inner products are EASY

Let 9, : ∈ ℕ�. Define 9 ○ : ≔ min!

9! + :!

Lemma: Let 1 ∈ ℕ. The min-plus inner product of 9, : ∈ 1 � can be

computed with � log 1 = � -size AC0 circuits.

Proof Sketch:

1. Adding two (log 1)-bit numbers is in log 1 = � -size AC0.

2. Computing the minimum of � numbers each with (log 1)-bits can

be done with >?@A(�, log 1)-size AC0.

Computing whether 3 ≤ A is in AC0:

3 ≤ A �

A number 3 is minimum if and only if 3 ≤ A for all other numbers A

So, output 3( as the min of 3�, … , 3� if and only if ⋀) 3( ≤ 3) is true

Page 15: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

2. Reducing AC0 to polynomials

Theorem [Razborov-Smolensky’87] For every AC0 circuit E

(even with XOR gates), with � inputs, size F, and depth G,

there is an efficiently samplable distribution H(C) of

polynomials of degree log F = G over 8� such that

For all 3 ∈ �, � �, PrK ~ H(E)

> 3 = E 3 > ¾.

Proof Idea: Induction on the depth G.

NOT gate: M=N 3( = � + 3(

XOR gate: O=P 3�, … , 3� = ∑ 3(( 1?G �.

OR gate: For all 3 ∈ �, � �, observe that

PrQ ∈ �,� �

=P 3�, … , 3� = ∑ Q(3(( 1?G � ≥ ½

Pick P ∈ 8�! ×� at random, where ! = error parameter

For all 3 ∈ �, � �,

PrP

=P 3�, … , 3� = 1 + ∏ � + ∑ R),(U 3(V mod 2 ≥ 1-�

�!

This is a degree-! polynomial simulating OR with error < 1/�!.

Page 16: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

3: Polynomial evaluation

A well-known result: One can evaluate a degree-� univariate

polynomial at � points of one’s choice, in O(� log �) ops.

Want to evaluate min-plus inner product on �� pairs of vectors.

We will translate that problem into evaluating a

multivariate polynomial at �� pairs of points.

We can do this very efficiently, provided the polynomial is sparse

Theorem: Given %, & ⊆ {�, �}1, % = & = �, and

a polynomial Z 3�, … , 31, A�, … , A1 over 8�, with Z ≤ ��.�,

can evaluate Z on all 3, A ∈ % × & in �� >?@A log � time.

Proof Idea: Embed the problem into an efficient matrix product.

Page 17: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Theorem: Given %, & ⊆ {�, �}1, % = & = �, and

a polynomial Z 3�, … , 31, A�, … , A1 over 8�, with Z ≤ ��.�,

can evaluate Z on all 3, A ∈ % × & in �� >?@A log � time.

Proof: Let % = 2�, … , 2� , & = [�, … , [�

Create n by |q| matrix %’ with rows indexed by elements of %

columns indexed by monomials of Z

Create |q| by n matrix &’ with rows indexed by monomials of Z

columns indexed by elements of &Define:

%’[(, )] := the value of the )th monomial of Z restricted to the 3-variables and evaluated on 2(, the (th element of %

&’[), !] := the value of the )th monomial of Z restricted to the A-variables and evaluated on [!, the !th element of &

Then %’ (, ) ⋅ &’ ), ! = value of the )th monomial of Z on 2(, [!

Then % ⋅ &’ (, ! = ∑ %’ (, ) ⋅ &’ ), !) = Z 2(, [!

[Coppersmith’81] An � × ��.� matrix and ��.� × � matrix

can be multiplied in �� >?@A log � time

Page 18: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

APSP Algorithm Given %, & ∈ 1 �×�,

We want to compute % ○ & (, ) = min!

% (, ! + & !, )

Let G = � ��� � �be a parameter, � > �

Step 1. Partition % into � × G matrices %�, … , %�/G

Partition & into G × � matrices &�, … , &�/G

Note that % ○ & (, ) = min!]�,…,�/G %! ○ &! (, )

Given the %! ○ &! , takes = �� �

Gtime to compute % ○ & .

Now: We wish to maximize G such that � × G and G × �

min-plus matrix product is computable in �� >?@A log � time.

Page 19: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Now: We wish to maximize G such that � × G and G × �

min-plus matrix product is computable in �� >?@A log � time

Then, APSP will be in ��

G>?@A log � time.

Step 2. Given %!, &! which are � × G and G × �

Let E be an AC0 circuit for the min-plus inner product of two d-length

vectors with entries from �, … , �!

E has =(G ! log �) inputs, =(! log �) outputs, G ! log � = � size

For every output bit ) = �, … , = ! log � of E,

a. Pick random >�)

, … , >�� ��� �

) ~ H E simulating the circuit E

For all (,) we have G^_ >(

)≤ log G ! log � ; hence

>(

)≤ G ! log � ��� G ��� �

b. Evaluate >�)

, … , >�� ��� �

)on all rows of %! and columns of &!.

c. Output the majority bit. (Correct whp in all n2 entries, by Chernoff)

Step b can be performed in �� >?@A log � time, provided

G ! log � ��� G ��� � ≤ ��.�

Set G = � ��� � �/( `�)/��� APSP in ��/�� ��� � �/( `�)

time

Page 20: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Conclusion

• The approach leads to faster algorithms for many problems

[FSTTCS’14 survey, AWY SODA’15, AW FOCS’15]

• Recently, [W’14] gave an algorithm for efficiently evaluating a

depth-two linear threshold circuit on a combinatorial

rectangle of inputs. This implies:

� Suppose the min-plus inner product of two vectors can be

computed by depth-two linear threshold circuits of

polynomial size. Then APSP is in ���� time!

� Either we get lower bounds for threshold circuits,

or we get “truly subcubic” APSP!

• Circuit complexity has developed many tools for analyzing

and manipulating low-depth circuits. Find more applications

to algorithm design!

(Recently have found more …

have even derandomized the APSP algorithm)

Page 21: Faster All-Pairs Shortest Paths Via Circuit Complexityrussell/FGCA/apsp-berkeley... · 2015-10-16 · The Computational Model We’re working with real weights, and an adjacency matrix

Thank you!