An Algebraic Algorithm for Weighted Linear Matroid Intersection

Slides:



Advertisements
Similar presentations
Primal-dual Algorithm for Convex Markov Random Fields Vladimir Kolmogorov University College London GDR (Optimisation Discrète, Graph Cuts et Analyse d'Images)
Advertisements

Submodular Set Function Maximization via the Multilinear Relaxation & Dependent Rounding Chandra Chekuri Univ. of Illinois, Urbana-Champaign.
C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Totally Unimodular Matrices
Great Theoretical Ideas in Computer Science for Some.
1 Discrete Structures & Algorithms Graphs and Trees: III EECE 320.
Multicut Lower Bounds via Network Coding Anna Blasiak Cornell University.
Combinatorial Algorithms
Chapter 3 The Greedy Method 3.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Algorithms for Max-min Optimization
Greedy Algorithms for Matroids Andreas Klappenecker.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Semidefinite Programming
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
Approximation Algorithm: Iterative Rounding Lecture 15: March 9.
The Complexity of Matrix Completion Nick Harvey David Karger Sergey Yekhanin.
Great Theoretical Ideas in Computer Science.
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Deterministic Network Coding by Matrix Completion Nick Harvey David Karger Kazuo Murota.
CISS Princeton, March Optimization via Communication Networks Matthew Andrews Alcatel-Lucent Bell Labs.
Algebraic Structures and Algorithms for Matching and Matroid Problems Nick Harvey.
1 Submodular Functions in Combintorial Optimization Lecture 6: Jan 26 Lecture 8: Feb 1.
Recurrences / HW: 2.4 Quiz: 2.1, 4.1, 4.2, 5.2, 7.3, 7.4 Midterm: 8 given a recursive algorithm, state the recurrence solve a recurrence, using Master.
Query Lower Bounds for Matroids via Group Representations Nick Harvey.
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Approximation Algorithms: Bristol Summer School 2008 Seffi Naor Computer Science Dept. Technion Haifa, Israel TexPoint fonts used in EMF. Read the TexPoint.
C&O 355 Mathematical Programming Fall 2010 Lecture 17 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A.
SPANNING TREES Lecture 21 CS2110 – Spring
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Topics in Algorithms 2005 Constructing Well-Connected Networks via Linear Programming and Primal Dual Algorithms Ramesh Hariharan.
Linear Programming Data Structures and Algorithms A.G. Malamos References: Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani Introduction.
Theory of Computing Lecture 13 MAS 714 Hartmut Klauck.
Stochastic Protection of Confidential Information in SDB: A hybrid of Query Restriction and Data Perturbation ( to appear in Operations Research) Manuel.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
Approximation Algorithms
Greedy Algorithms and Matroids Andreas Klappenecker.
Discrete Optimization Lecture 4 – Part 1 M. Pawan Kumar Slides available online
3.2 Matchings and Factors: Algorithms and Applications This copyrighted material is taken from Introduction to Graph Theory, 2 nd Ed., by Doug West; and.
Online Social Networks and Media
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
Steiner Tree Problem Given: A set S of points in the plane = terminals
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Linear Programming Piyush Kumar Welcome to CIS5930.
Introduction to Approximation Algorithms
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Hamiltonian Cycle and TSP
Iterative Methods in Combinatorial Optimization
Hiroshi Hirai University of Tokyo
Edmonds-Karp Algorithm
Analysis of Algorithms
Great Ideas in Computing Average Case Analysis
Lecture 19-Problem Solving 4 Incremental Method
Lecture 11 Overview Self-Reducibility.
Problem Solving 4.
Exercices series 6 Approximation : constant ratio
Presentation transcript:

An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey

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

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]

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]

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

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?

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

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

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!

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

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 =

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

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

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

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

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

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

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

Weighted Linear Matroid Intersection 1 9 8 5

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

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

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

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