Upload
ferguson-gavan
View
48
Download
4
Tags:
Embed Size (px)
DESCRIPTION
An Algebraic Algorithm for Weighted Linear Matroid Intersection. Nick Harvey. What is Matroid Intersection?. Network Flow. Submodular Flow. Minimum Spanning Tree. Submodular Function Minimization. Matroid Intersection. Bipartite Matching. Spanning Tree Packing. Matroid Greedy Algorithm. - PowerPoint PPT Presentation
Citation preview
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