Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Algebraic Algorithm for Weighted Linear Matroid Intersection

Similar presentations


Presentation on theme: "An Algebraic Algorithm for Weighted Linear Matroid Intersection"— Presentation transcript:

1 An Algebraic Algorithm for Weighted Linear Matroid Intersection
Nick Harvey

2 What is Matroid Intersection?
Network Flow Submodular Flow Minimum Spanning Tree Submodular Function Minimization Bipartite Matching Matroid Intersection Spanning Tree Packing Matroid Greedy Algorithm Non-Bip. Matching Matroid Matching Minimum Arboresence A central problem in discrete optimization

3 Matroid intersection has many uses
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]

4 An Example Problem Does this matrix have full rank?
2 x1 5 x2 x3 x4 9 4 3 8 x5 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]

5 What is a Matroid? a b c 1 rank = 2 Linearly independent sets of columns I = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }

6 What is a Matroid? a b c rank = Linearly independent sets of columns I = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} } What is rank? Is a ∈ span({b,c})? What properties of linear independence are needed to answer these questions?

7 Independence Properties
Linearly independent sets of columns I = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} } Properties: ∅ ∈ I If A ⊆ B ∈ I then A ∈ I If A, B ∈ I and |A| < |B| then ∃ b ∈ B such that A+b ∈ I

8 Definition A matroid is a pair (S,I) with I ⊆ 2S satisfying the axioms
If A ⊆ B ∈ I then A ∈ I If A, B ∈ I and |A| < |B| then ∃ b ∈ B such that A+b ∈ I

9 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| Matroid Greedy Algorithm Matroid Intersection Weighted Matroid Intersection NP-hard!

10 Two types of algorithms
Oracle Algorithms Access matroid by oracle queries “Is A ∈ I?” Linear Matroid Algorithms Input is a matrix M s.t. I is the set of linearly indep. columns of M

11 Weighted Linear Matroid Intersection
Find set of columns S such that AS and BS are both linearly independent and wt(S) is maximized AS 1 A = weights: 1 9 8 5 BS 7 6 3 1 9 2 4 8 5 B =

12 Oracle Algorithm History
Access matroid by oracle queries “Is A ∈ I?” Edmonds ’65-’70 Augmenting Paths O(nr2) Lawler ’75, Edmonds ’79 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

13 Linear 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 Solving for Polynomial Matrices O(nr-1 W1+ε) matrix M has size n x r W = max weight Grey row = unweighted algorithm † Randomized, and assumes matroids can be represented over same field

14 Anatomy of a Weighted Optimization 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

15 Polynomial Matrices Used in PRAM algs for matching [KUW ’86], [MVV ’87] a b c d e f g h 2 a e 2 x1y2 x2y2 x3y5 x4y0 x5y1 x6y0 x7y1 x8y1 5 b f 1 c g 1 1 d h

16 Max Weight of a Matching
Polynomial Matrices Used in PRAM algs for matching [KUW ’86], [MVV ’87] a b c d e f g h 2 a e 2 3y2 1y2 6y5 2y0 4y1 3y0 1y1 5 b f 1 c g 1 1 d h Determinant = 12y4 + 72y3 Max Weight of a Matching

17 Polynomial 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 W1+ε) time 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

18 Weighted Linear Matroid Intersection
1 A = weights: 1 9 8 5 7 6 3 1 9 2 4 8 5 B =

19 Weighted Linear Matroid Intersection
1 9 8 5

20 Weighted Linear Matroid Intersection
BT A 1 9 8 5 1 5 9

21 Weighted Linear Matroid Intersection
Y BT y1 y0 A y9 y8 y5 y1 y5 y9

22 Weighted Linear Matroid Intersection
Claim 1: max weight of intersection is max exponent of y in det( A Y BT ) Y BT y1 y0 A y9 y8 y5 y1 y5 y9

23 Weighted Linear Matroid Intersection
Claim 2: computing det( A Y BT ) takes time O(nr-1 W1+ε) Y BT y1 y0 A y9 y8 y5 y1 y5 y9

24 Using Storjohann for 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 dual for original instance. Given optimum dual, compute OPT.  Find optimal bip matching in O(n W1+ε) time

25 Extending Sankowski’s Method
Fast algorithm (using Storjohann) [Sankowski ’06] Network Flow Submodular Flow Minimum Spanning Tree Submodular Function Minimization Bipartite Matching Matroid Intersection Spanning Tree Packing Matroid Greedy Algorithm Non-Bip. Matching Matroid Matching Minimum Arboresence

26 Extending Sankowski’s Method
Fast algorithm (using Storjohann) log W O(nr-1 W1+ε) [This Paper] [Sankowski ’06] Matroid Intersection Bipartite Matching Non-Bip. Matching Network Flow Submodular Flow O(n W1+ε) log W Minimum Spanning Tree Submodular Function Minimization Spanning Tree Packing Matroid Greedy Algorithm Matroid Matching Minimum Arboresence

27


Download ppt "An Algebraic Algorithm for Weighted Linear Matroid Intersection"

Similar presentations


Ads by Google