Presentation is loading. Please wait.

Presentation is loading. Please wait.

Happy 80th B’day Dick.

Similar presentations


Presentation on theme: "Happy 80th B’day Dick."— Presentation transcript:

1 Happy 80th B’day Dick

2 Perfect matchings and symbolic matrices
Avi Wigderson IAS, Princeton

3 Perfect Matchings [Edmonds-Karp ’72] Jacoby 1890 [Hopcroft-Karp ’72]
[Karp-Sipser ‘81] [Karp-Upfal-W ‘85] [Karp-Vazirani-Vazirani ’90] sequential, parallel, on-line deterministic, randomized, Average-case,… Jacoby 1890 ODEs Optimization Combinatorics Stat Physics Economics Biology CS - Unfamiliar algorithms Favorite open problems Something new…

4 Perfect Matchings V U 1 G AG Bipartite graphs G(U,V;E). |U|=|V|=n
G U V AG Bipartite graphs G(U,V;E). |U|=|V|=n Fact: G has a PM iff Per(AG)>0 [Hall 1935] G has a PM iff G has no ixj minor with i+j>n [Jacoby 1890] PM  P (Augmenting paths)

5 PMs & symbolic matrices [Edmonds‘67]
G U V 1 AG X31 X21 X11 X12 X13 AG[X] Of course, this is in PPM [Edmonds ‘67] G has a PM iff Det(AG[X])  0 ( P)

6 Symbolic matrices [Edmonds‘67]
L[X] X = {X1,X2,… } Lij(X) = aX1+bX2+… :affine form SDIT: Is Det(L[X]) = 0 ? [Edmonds ‘67] SDIT  P ?? [Lovasz ‘79] SDIT  RP [Valiant ‘79] SDIT  PIT for arithmetic formulas [Kabanets-Impagliazzo‘01] SDIT  P  circuit lower bds [Valiant ‘82] PM  RNC ! FindPM  NC ?? Of course, this is in PPM

7 FindPM  RNC [KUW ‘85] G(U,V;E), Assume G has a PM. Let S E
rank(S) = max { |S M| : M is PM } redundant(S) = { e : rank(S+e) = rank(S) } Lemma: rank, redundant  RNC (symbolic matrices) Repeat c.log n times: Pick S at random (clever) Remove red(S) Clean & Update G Analysis: Pr[ |red(S)| < |E|/10 ] < 1/10 Notes: “no regret” algorithm! Two sources of randomness! rank(S) = 2 red(S) = rank(S) = 1 red(S) =  rank(S) = 2 red(S) = A year later MVV discovered the

8 FindPM  NC ? [Sharan-W ‘96]
Augmenting paths out, Augmenting cycles in G(U,V;E), Assume G has a PM. degree(G)  3 (wlog) quasiPM: S E, odd degree in every vertex Find a quasiPM S Repeat c.log2n times: Find augmenting cycles C (many disjoint ones) S  S  C Analysis: In cubic graphs, Q is a perfect matching In deg3 graphs, Q is an induced forest Linear Algebra C C Lev-Pippenger-Valiant

9 Approximating the Permanent
Non-negative matrix A: efficiently approximate Per(A) [Jerrum-Sinclair-Vigoda’04] Probabilistic. (1+ )-approx. [Linial-Samorodnitsky-W’01] Deterministic. en- approx. [Gurvits-Samorodnitsky‘14] Deterministic. 2n- approx. Open: Deterministic. (1+ )-approx. [Sinkhorn ‘64] Iterations: make A doubly stochastic  exp(n.999)

10 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) 1

11 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) 1 1/3

12 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) 3/7 1/7 1

13 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) 1 1/15 7/15

14 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) 1/2 1

15 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) 1 1/2

16 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) 1

17 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) 1 1/2 1/3

18 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) 6/11 3/11 3/5 2/11 2/5 1

19 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) 1 15/48 33/48 10/87 22/87 55/87

20 Scaling algorithm [LSW ‘01]
A non-negative matrix. Try making it doubly stochastic. (e.g. the adjacency matrix A=AG of a bipartite graph G) R(A) = diag(row sums)-1 C(A) = diag(column sums)-1 Repeat n2 times: Normalize rows A  R(A)A Normalize cols A  A C(A) (C(A)=I) Test if R(A) I (up to 1/n) Yes: Per(A) > 0. No: Per(A) = 0. Analysis: Progress measure = Permanent  1 Grows by (1+1/n) (AMGM inequality) Initially > e-n (van der Waerden conj) 1

21 Quantum scaling alg [Gurvits ‘04]
L=L[X]=iLixi symbolic matrix (Li integer matrices)  completely positive quantum operator. Try making it “doubly stochastic”. R(L) = (iLiLit)-1/2 C(L) = (iLitLi)-1/2 Repeat nc times: Normalize rows L  R(L)L Normalize cols L  L C(L) Test if R(L) I (up to 1/n) Yes: QuantPer(L) > 0. No: QuantPer(L) = 0. Analysis: Progress measure = “Qantum Permanent” Grows by (1+1/n) (AMGM inequality) Initially ?? (large if Det(L[X])  0 ) What does this Algorithm do ?? if Det(L[X])  0  Det(L[X]) = 0

22 Matching “in the dark” [Gurvits ‘04]
1 AG X31 X21 X11 X12 X13 AG[X] Of course, this is in PPM Can be NPC toinvert B->A (in matroid intersection) Open over finite fields Invertible left, right & variable change Det(A[X])  0 iff Det(B[Y])  0 [Gurvits] “Quantum” algorithm determines if G has PM B[Y]

23 What does Gurvits alg do?? [Garg-Gurvits-Olivera-W ‘15]
Li nn integer matrices L=L[X]=i Lixi nn symbolic matrix SDIT: Is Det(L)  0 ? [GGOW ‘15] NC-SDIT  P (Previously  EXP) Non-commutative algebra Is L invertible when in the skew field? (NC PIT for rational functions) Invariant Theory Is (L1,…Lm)  nullcone of L-R gp action? Quantum Information Theory Is the completely positive quantum operator defined by (L1,…Lm) rank decreasing? Optimization Matroid intersection,… (in the dark) Li nn integer matrices L(k)=L(k)[X]=i LiXi Xi kk nknk symbolic matrix NC-SDIT: k Det(L(k)) 0 ? ANALITIC Even EXP bd for NC-SDIT is nontrivial Best upper bound on k is exponential (but this is essential to our analysis giving polytime alg [H,D,IQS] k<exp(n2)

24 Homework Perfect Matching in NC (1+ )-approx of the Permanent in P
Symbolic Determinant / PIT in P What does NC-SDIT  P imply? Even EXP bd for NC-SDIT is nontrivial Best upper bound on k is exponential (but this is essential to our analysis giving polytime alg

25 Happy 80th B’day Dick


Download ppt "Happy 80th B’day Dick."

Similar presentations


Ads by Google