An Algebraic Algorithm for Weighted Linear Matroid Intersection
-
Upload
ferguson-gavan -
Category
Documents
-
view
48 -
download
4
description
Transcript of An Algebraic Algorithm for Weighted Linear Matroid Intersection
![Page 1: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/1.jpg)
An Algebraic Algorithm forWeighted Linear Matroid Intersection
Nick Harvey
![Page 2: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/2.jpg)
What is Matroid Intersection?
MatroidIntersection
BipartiteMatching
Non-Bip.Matching
NetworkFlow
SubmodularFunction
Minimization
SubmodularFlow
MatroidMatching
MinimumSpanning
Tree
MatroidGreedy
Algorithm
Spanning TreePacking
MinimumArboresence
A central problem in discrete optimization
![Page 3: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/3.jpg)
• Edge connectivity [Gabow ’91]
• Uniprocessor scheduling [Stallman ’91]
• Survivable network design[Balakrishnan-Magnanti-Mirchandani ’98]
• k-Delivery TSP [Chalasani-Motwani ’99]
• Constrained MST [Hassin-Levin ’04]
• Multicast Network Codes [Harvey-Karger-Murota ’05]
• Bounded-Degree MST [Goemans ’06]
Matroid intersectionhas many uses
![Page 4: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/4.jpg)
An Example Problem
2 x1 5 x2
x3 x4 0 9
4 3 2 8
x5 0 x6 1
• Does this matrix have full rank?
• Can one replace xi’s with numbers s.t.rank is maximized?
• Solvable via Matroid Intersection [Murota ’93]
![Page 5: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/5.jpg)
What is a Matroid?
1 0 1
0 1 1
0 1 1
• rank = 2
• Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }
a b c
![Page 6: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/6.jpg)
What is a Matroid?
• rank =
• Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }
• What is rank? Is a ∈ span({b,c})?
• What properties of linear independenceare needed to answer these questions?
a b c
![Page 7: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/7.jpg)
Independence Properties
Properties:
1. ∅ ∈ I 2. If A ⊆ B ∈ I then A ∈ I3. If A, B ∈ I and |A| < |B| then
∃ b ∈ B such that A+b ∈ I
Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }
![Page 8: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/8.jpg)
Definition
1. ∅ ∈ I 2. If A ⊆ B ∈ I then A ∈ I3. If A, B ∈ I and |A| < |B| then
∃ b ∈ B such that A+b ∈ I
A matroid is a pair (S,I)
with I ⊆ 2S
satisfying the axioms
![Page 9: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/9.jpg)
Matroid Problems• Given M=(S,I)
– Find A ∈ I maximizing |A|
– Find A ∈ I maximizing wt(A)
• Given M1=(S,I1) and M2=(S,I2)
– Find A ∈ I1 ⋂ I2 maximizing |A|
– Find A ∈ I1 ⋂ I2 maximizing wt(A)
• Given M1=(S,I1), M2=(S,I2), M3=(S,I3)
– Find A ∈ I1 ⋂ I2 ⋂ I3 maximizing |A|
MatroidGreedy
Algorithm
MatroidIntersection
WeightedMatroid
Intersection
NP-hard!
![Page 10: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/10.jpg)
Two types of algorithms
• Oracle AlgorithmsAccess matroid by oracle queries “Is A ∈ I?”
• Linear Matroid AlgorithmsInput is a matrix M s.t.I is the set of linearly indep. columns of M
![Page 11: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/11.jpg)
Weighted Linear Matroid Intersection
1 1 0 0 1 0 1 01 0 0 1 1 1 0 10 0 1 1 0 1 1 00 1 0 1 1 0 1 1
7 6 6 3 7 1 9 09 2 9 2 4 9 6 13 3 4 7 0 4 3 31 4 8 4 2 2 5 3
Find set of columns S such thatAS and BS are both linearly independent
and wt(S) is maximized
A =
B =
AS
BS
weights: 1 0 9 8 5 1 5 9
![Page 12: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/12.jpg)
Edmonds ’65-’70 Augmenting Paths O(nr2)
Lawler ’75, Edmonds ’79 Augmenting Paths O(nr2)
Cunningham ’86 “Blocking Flows” O(nr1.5)
Shigeno-Iwata ’95 Dual Approximation ≈O(nr1.5 log(rW))
n = |S| r = rank(S) W = max weight
Oracle Algorithm History
Access matroid by oracle queries “Is A ∈ I?”
Grey row = unweighted algorithm
![Page 13: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/13.jpg)
matrix M has size n x r W = max weight
Given a matrix M s.t. I is set of indep. columns
Linear Matroid Algorithm History
Cunningham ’86 “Blocking Flows” O(nr2 log r)
Gabow-Xu ’89-’96 “Blocking Flows” &Fast Matrix Multiplication
O(nr1.77 log W)
Harvey ’06 Fast Matrix Multiplication O(nr-1)
This Paper Fast Linear System Solvingfor Polynomial Matrices
O(nr-1 W1+ε)
Grey row = unweighted algorithm
†
† Randomized, and assumes matroids can be represented over same field
†
![Page 14: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/14.jpg)
Anatomy of a WeightedOptimization Algorithm
e.g: Primal-Dual Method
repeatadjust dualfind best primal using items allowed by dual
until primal is optimal
• Can any fast primal alg be used here?– Want primal alg to work incrementally
• Sadly, algebraic method is not incremental
![Page 15: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/15.jpg)
Polynomial Matrices
• Used in PRAM algs for matching[KUW ’86], [MVV ’87]
0 x1y2 x2y
2 x3y5
x4y0 x5y
1 0 0
0 0 0 x6y0
x7y1 0 x8y
1 0d
a
c
b
a
b
c
d
e f g h
h
e
g
f
22
50
11
0
1
![Page 16: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/16.jpg)
Polynomial Matrices
• Used in PRAM algs for matching[KUW ’86], [MVV ’87]
0 3y2 1y2 6y5
2y0 4y1 0 0
0 0 0 3y0
1y1 0 4y1 0d
a
c
b
a
b
c
d
e f g h
h
e
g
f
22
50
11
0
1
Determinant = 12y4 + 72y3
Max Weight of a Matching
![Page 17: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/17.jpg)
• Matrix M, size n x n,each entry a degree W polynomial
• Computing determinant:– On PRAM: O(log2(nW)) time
– Sequentially: O(n5 W2) time [naive alg]
Can compute max weight of a perfect matching in O(n W1+ε) time
Polynomial Matrices
O(n+1 W) time [interpolation]
O(n W1+ε) time [Storjohann ’03]
Can compute max weight of a
matroid intersection in O(nr-1 W1+ε) time
![Page 18: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/18.jpg)
Weighted Linear Matroid Intersection
1 1 0 0 1 0 1 01 0 0 1 1 1 0 10 0 1 1 0 1 1 00 1 0 1 1 0 1 1
7 6 6 3 7 1 9 09 2 9 2 4 9 6 13 3 4 7 0 4 3 31 4 8 4 2 2 5 3
A =
B =
weights: 1 0 9 8 5 1 5 9
![Page 19: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/19.jpg)
Weighted Linear Matroid Intersection
1 0 9 8 5 1 5 9
A
![Page 20: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/20.jpg)
Weighted Linear Matroid Intersection
1 0 9 8 5 1 5 9
BT
A
![Page 21: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/21.jpg)
Weighted Linear Matroid Intersection
y5
y1
y0
y9
y8
y5
y1
y9
BT
A
Y
![Page 22: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/22.jpg)
Weighted Linear Matroid Intersection
y5
y1
y0
y9
y8
y5
y1
y9
BT
A
Y
Claim 1: max weight of intersection ismax exponent of y in det( A Y BT )
![Page 23: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/23.jpg)
Weighted Linear Matroid Intersection
y5
y1
y0
y9
y8
y5
y1
y9
BT
A
Y
Claim 2: computing det( A Y BT )
takes time O(nr-1 W1+ε)
![Page 24: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/24.jpg)
Using Storjohannfor Optimization Problems
• Can compute weight(OPT). How to find OPT?• Sankowski found a method
for bipartite matching [Sankowski ’06]
– Define a family of perturbed instances.Compute weight(OPT) for all perturbed instances.
– Using these weights, compute optimum dualfor original instance.
– Given optimum dual, compute OPT.
Find optimal bip matching in O(n W1+ε) time
![Page 25: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/25.jpg)
MatroidIntersection
SubmodularFunction
Minimization
SubmodularFlow
MatroidMatching
MinimumSpanning
Tree
MatroidGreedy
Algorithm
Spanning TreePacking
MinimumArboresence
Non-Bip.Matching
NetworkFlow
BipartiteMatching
Extending Sankowski’s Method
Fast algorithm(using Storjohann)
[Sankowski ’06]
![Page 26: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/26.jpg)
SubmodularFunction
Minimization
SubmodularFlow
MatroidMatching
MinimumSpanning
Tree
MatroidGreedy
Algorithm
Spanning TreePacking
MinimumArboresence
MatroidIntersection
BipartiteMatching
Non-Bip.Matching
NetworkFlow
[Sankowski ’06]
Fast algorithm(using Storjohann)
[This Paper]
O(n W1+ε)
O(nr-1 W1+ε)
log W
log W
Extending Sankowski’s Method
![Page 27: An Algebraic Algorithm for Weighted Linear Matroid Intersection](https://reader035.fdocuments.net/reader035/viewer/2022081513/56812d5f550346895d926c54/html5/thumbnails/27.jpg)