270 likes | 381 Views
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.
E N D
An Algebraic Algorithm forWeighted Linear Matroid Intersection Nick Harvey
What is Matroid Intersection? NetworkFlow SubmodularFlow MinimumSpanningTree SubmodularFunctionMinimization MatroidIntersection BipartiteMatching Spanning TreePacking MatroidGreedyAlgorithm Non-Bip.Matching MatroidMatching MinimumArboresence A central problem in discrete optimization
Matroid intersectionhas 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]
An Example Problem • 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? a b c • rank = 2 • Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }
What 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?
Independence Properties Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} } Properties: • ∅∈I • If A⊆B∈IthenA∈I • If A,B∈I and|A|<|B| then∃b∈B such that A+b∈I
Definition A matroid is a pair (S,I) with I⊆2S satisfying the axioms • ∅∈I • If A⊆B∈IthenA∈I • If A,B∈I and|A|<|B| then∃b∈B such that A+b∈I
Matroid Problems MatroidGreedyAlgorithm • Given M=(S,I) • Find A∈I maximizing |A| • Find A∈Imaximizing wt(A) • Given M1=(S,I1) and M2=(S,I2) • Find A∈I1⋂ I2maximizing |A| • Find A∈I1⋂ I2maximizing wt(A) • Given M1=(S,I1), M2=(S,I2), M3=(S,I3) • Find A∈I1⋂ I2⋂ I3maximizing |A| MatroidIntersection WeightedMatroidIntersection 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 Find set of columns S such thatAS and BS are both linearly independentand wt(S) is maximized AS A = weights: BS B =
Oracle Algorithm History Access matroid by oracle queries “Is A ∈I?” n = |S| r = rank(S) W = max weight Grey row = unweighted algorithm
Linear Matroid Algorithm History Given a matrix M s.t. I is set of indep. columns † † matrix M has size n x r W = max weight Grey row = unweighted algorithm † Randomized, and assumes matroids can berepresented over same field
Anatomy 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
e f g h a b c d Polynomial Matrices • Used in PRAM algs for matching[KUW ’86], [MVV ’87] 2 a e 2 5 0 b f 1 0 c g 1 1 d h
e f g h a b c d Polynomial Matrices • Used in PRAM algs for matching[KUW ’86], [MVV ’87] 2 a e 2 5 0 b f 1 0 c g 1 1 d h Determinant = 12y4 + 72y3 Max Weight of a Matching
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(nW1+ε) time O(n+1 W) time [interpolation] O(n W1+ε) time [Storjohann ’03] Can compute max weight of a matroid intersection in O(nr-1W1+ε) time
Weighted Linear Matroid Intersection A = weights: B =
Weighted Linear Matroid Intersection BT A 1 0 9 8 5 1 5 9
Weighted Linear Matroid Intersection Y BT y1 y0 A y9 y8 y5 y1 y5 y9
Weighted Linear Matroid Intersection Claim 1: max weight of intersection ismax exponent of y in det( A Y BT ) Y BT y1 y0 A y9 y8 y5 y1 y5 y9
Weighted Linear Matroid Intersection Claim 2: computing det( A Y BT )takes time O(nr-1W1+ε) Y BT y1 y0 A y9 y8 y5 y1 y5 y9
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
Extending Sankowski’s Method Fast algorithm(using Storjohann) [Sankowski ’06] NetworkFlow SubmodularFlow MinimumSpanningTree SubmodularFunctionMinimization MatroidIntersection BipartiteMatching Spanning TreePacking MatroidGreedyAlgorithm Non-Bip.Matching MatroidMatching MinimumArboresence
log W NetworkFlow MatroidIntersection BipartiteMatching log W Non-Bip.Matching Extending Sankowski’s Method Fast algorithm(using Storjohann) O(nr-1 W1+ε) [This Paper] [Sankowski ’06] SubmodularFlow O(n W1+ε) MinimumSpanningTree SubmodularFunctionMinimization Spanning TreePacking MatroidGreedyAlgorithm MatroidMatching MinimumArboresence