1 / 27

An Algebraic Algorithm for Weighted Linear Matroid Intersection

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.

shiela
Download Presentation

An Algebraic Algorithm for Weighted Linear Matroid Intersection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Algebraic Algorithm forWeighted Linear Matroid Intersection Nick Harvey

  2. What is Matroid Intersection? NetworkFlow SubmodularFlow MinimumSpanningTree SubmodularFunctionMinimization MatroidIntersection BipartiteMatching Spanning TreePacking MatroidGreedyAlgorithm Non-Bip.Matching MatroidMatching MinimumArboresence A central problem in discrete optimization

  3. 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]

  4. 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]

  5. What is a Matroid? a b c • rank = 2 • Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }

  6. 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?

  7. 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

  8. 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

  9. 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!

  10. 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

  11. 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 =

  12. Oracle Algorithm History Access matroid by oracle queries “Is A ∈I?” 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 † † matrix M has size n x r W = max weight Grey row = unweighted algorithm † Randomized, and assumes matroids can berepresented over same field

  14. 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

  15. 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

  16. 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

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

  18. Weighted Linear Matroid Intersection A = weights: B =

  19. Weighted Linear Matroid Intersection A

  20. Weighted Linear Matroid Intersection BT A 1 0 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 ismax 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-1W1+ε) Y BT y1 y0 A y9 y8 y5 y1 y5 y9

  24. 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

  25. Extending Sankowski’s Method Fast algorithm(using Storjohann) [Sankowski ’06] NetworkFlow SubmodularFlow MinimumSpanningTree SubmodularFunctionMinimization MatroidIntersection BipartiteMatching Spanning TreePacking MatroidGreedyAlgorithm Non-Bip.Matching MatroidMatching MinimumArboresence

  26. 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

More Related