Title: An Algebraic Algorithm for Weighted Linear Matroid Intersection
1An Algebraic Algorithm forWeighted Linear
Matroid Intersection
2What is Matroid Intersection?
NetworkFlow
SubmodularFlow
MinimumSpanningTree
SubmodularFunctionMinimization
MatroidIntersection
BipartiteMatching
Spanning TreePacking
MatroidGreedyAlgorithm
Non-Bip.Matching
MatroidMatching
MinimumArboresence
A central problem in discrete optimization
3Matroid intersectionhas many uses
- Edge connectivity Gabow 91
- Uniprocessor scheduling Stallman 91
- Survivable network designBalakrishnan-Magnanti-M
irchandani 98 - k-Delivery TSP Chalasani-Motwani 99
- Constrained MST Hassin-Levin 04
- Multicast Network Codes Harvey-Karger-Murota
05 - Bounded-Degree MST Goemans 06
4An 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 xis with numbers s.t.rank is
maximized? - Solvable via Matroid Intersection Murota 93
5What is a Matroid?
a
b
c
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
6What is a Matroid?
a
b
c
- 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?
7Independence Properties
Linearly independent sets of columnsI Ø,
a, b, c, a,b, b,c, a,c
- Properties
- Ø ? I
- If A ? B ? I then A ? I
- If A, B ? I and A lt B then ? b ? B such
that Ab ? I
8Definition
A matroid is a pair (S,I) with I ? 2S satisfying
the axioms
- Ø ? I
- If A ? B ? I then A ? I
- If A, B ? I and A lt B then ? b ? B such
that Ab ? I
9Matroid 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
MatroidGreedyAlgorithm
MatroidIntersection
WeightedMatroidIntersection
NP-hard!
10Two 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
11Weighted Linear Matroid Intersection
- Find set of columns S such thatAS and BS are
both linearly independentand wt(S) is maximized
AS
1 1 0 0 1 0 1 0
1 0 0 1 1 1 0 1
0 0 1 1 0 1 1 0
0 1 0 1 1 0 1 1
A
weights
1 0 9 8 5 1 5 9
BS
7 6 6 3 7 1 9 0
9 2 9 2 4 9 6 1
3 3 4 7 0 4 3 3
1 4 8 4 2 2 5 3
B
12Oracle Algorithm History
Access matroid by oracle queries Is A ? I?
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
Grey row unweighted algorithm
13Linear Matroid Algorithm History
- Given a matrix M s.t. I is set of indep. columns
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 W1e)
matrix M has size n x r W max weight
Grey row unweighted algorithm
Randomized, and assumes matroids can be
represented over same field
14Anatomy of a WeightedOptimization Algorithm
- e.g Primal-Dual Method
- repeat
- adjust dual
- find 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
15Polynomial Matrices
- Used in PRAM algs for matchingKUW 86, MVV
87
2
a
e
2
0 x1y2 x2y2 x3y5
x4y0 x5y1 0 0
0 0 0 x6y0
x7y1 0 x8y1 0
5
0
b
f
1
0
c
g
1
1
d
h
16Polynomial Matrices
- Used in PRAM algs for matchingKUW 86, MVV
87
2
a
e
2
0 3y2 1y2 6y5
2y0 4y1 0 0
0 0 0 3y0
1y1 0 4y1 0
5
0
b
f
1
0
c
g
1
1
d
h
Determinant 12y4 72y3
Max Weight of a Matching
17Polynomial Matrices
- 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? W1e) time
O(n?1 W) time interpolation
O(n? W1e) time Storjohann 03
? Can compute max weight of a matroid
intersection in O(nr?-1 W1e) time
18Weighted Linear Matroid Intersection
1 1 0 0 1 0 1 0
1 0 0 1 1 1 0 1
0 0 1 1 0 1 1 0
0 1 0 1 1 0 1 1
A
weights
1 0 9 8 5 1 5 9
7 6 6 3 7 1 9 0
9 2 9 2 4 9 6 1
3 3 4 7 0 4 3 3
1 4 8 4 2 2 5 3
B
19Weighted Linear Matroid Intersection
A
1 0 9 8 5 1 5 9
20Weighted Linear Matroid Intersection
BT
A
1
0
9
8
5
1
5
9
21Weighted Linear Matroid Intersection
BT
Y
y1
y0
A
y9
y8
y5
y1
y5
y9
22Weighted Linear Matroid Intersection
Claim 1 max weight of intersection ismax
exponent of y in det( A Y BT )
BT
Y
y1
y0
A
y9
y8
y5
y1
y5
y9
23Weighted Linear Matroid Intersection
Claim 2 computing det( A Y BT )takes time
O(nr?-1 W1e)
BT
Y
y1
y0
A
y9
y8
y5
y1
y5
y9
24Using 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? W1e) time
25Extending Sankowskis Method
Fast algorithm(using Storjohann)
Sankowski 06
SubmodularFlow
NetworkFlow
MinimumSpanningTree
SubmodularFunctionMinimization
MatroidIntersection
BipartiteMatching
Spanning TreePacking
MatroidGreedyAlgorithm
MatroidMatching
Non-Bip.Matching
MinimumArboresence
26Extending Sankowskis Method
Fast algorithm(using Storjohann)
O(nr?-1 W1e)
This Paper
Sankowski 06
SubmodularFlow
O(n? W1e)
MinimumSpanningTree
SubmodularFunctionMinimization
Spanning TreePacking
MatroidGreedyAlgorithm
MatroidMatching
MinimumArboresence
27(No Transcript)