Download presentation
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 deg3 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 nn integer matrices L=L[X]=i Lixi nn 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 nn integer matrices L(k)=L(k)[X]=i LiXi Xi kk nknk 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.