an algebraic algorithm for weighted linear matroid intersection nick harvey
Post on 15-Jan-2016
228 Views
Preview:
TRANSCRIPT
An Algebraic Algorithm forWeighted Linear Matroid Intersection
Nick Harvey
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
• 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
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]
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
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
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} }
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
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!
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
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
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
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
†
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
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
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
• 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
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
Weighted Linear Matroid Intersection
1 0 9 8 5 1 5 9
A
Weighted Linear Matroid Intersection
1 0 9 8 5 1 5 9
BT
A
Weighted Linear Matroid Intersection
y5
y1
y0
y9
y8
y5
y1
y9
BT
A
Y
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 )
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+ε)
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
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]
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
top related