An Algebraic Algorithm for Weighted Linear Matroid Intersection

27
An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey

description

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. - PowerPoint PPT Presentation

Transcript of An Algebraic Algorithm for Weighted Linear Matroid Intersection

Page 1: An Algebraic Algorithm for Weighted Linear Matroid Intersection

An Algebraic Algorithm forWeighted Linear Matroid Intersection

Nick Harvey

Page 2: An Algebraic Algorithm for Weighted Linear Matroid Intersection

What is Matroid Intersection?

MatroidIntersection

BipartiteMatching

Non-Bip.Matching

NetworkFlow

SubmodularFunction

Minimization

SubmodularFlow

MatroidMatching

MinimumSpanning

Tree

MatroidGreedy

Algorithm

Spanning TreePacking

MinimumArboresence

A central problem in discrete optimization

Page 3: An Algebraic Algorithm for Weighted Linear Matroid Intersection

• 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]

Matroid intersectionhas many uses

Page 4: An Algebraic Algorithm for Weighted Linear Matroid Intersection

An 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 xi’s with numbers s.t.rank is maximized?

• Solvable via Matroid Intersection [Murota ’93]

Page 5: An Algebraic Algorithm for Weighted Linear Matroid Intersection

What is a Matroid?

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

a b c

Page 6: An Algebraic Algorithm for Weighted Linear Matroid Intersection

What is a Matroid?

• 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?

a b c

Page 7: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Independence Properties

Properties:

1. ∅ ∈ I 2. If A ⊆ B ∈ I then A ∈ I3. If A, B ∈ I and |A| < |B| then

∃ b ∈ B such that A+b ∈ I

Linearly independent sets of columnsI = { ∅, {a}, {b}, {c}, {a,b}, {b,c}, {a,c} }

Page 8: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Definition

1. ∅ ∈ I 2. If A ⊆ B ∈ I then A ∈ I3. If A, B ∈ I and |A| < |B| then

∃ b ∈ B such that A+b ∈ I

A matroid is a pair (S,I)

with I ⊆ 2S

satisfying the axioms

Page 9: An Algebraic Algorithm for Weighted Linear Matroid Intersection

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|

MatroidGreedy

Algorithm

MatroidIntersection

WeightedMatroid

Intersection

NP-hard!

Page 10: An Algebraic Algorithm for Weighted Linear Matroid Intersection

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

Page 11: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

1 1 0 0 1 0 1 01 0 0 1 1 1 0 10 0 1 1 0 1 1 00 1 0 1 1 0 1 1

7 6 6 3 7 1 9 09 2 9 2 4 9 6 13 3 4 7 0 4 3 31 4 8 4 2 2 5 3

Find set of columns S such thatAS and BS are both linearly independent

and wt(S) is maximized

A =

B =

AS

BS

weights: 1 0 9 8 5 1 5 9

Page 12: An Algebraic Algorithm for Weighted Linear Matroid Intersection

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

Oracle Algorithm History

Access matroid by oracle queries “Is A ∈ I?”

Grey row = unweighted algorithm

Page 13: An Algebraic Algorithm for Weighted Linear Matroid Intersection

matrix M has size n x r W = max weight

Given a matrix M s.t. I is set of indep. columns

Linear Matroid Algorithm History

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

Grey row = unweighted algorithm

† Randomized, and assumes matroids can be represented over same field

Page 14: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Anatomy of a WeightedOptimization Algorithm

e.g: Primal-Dual Method

repeatadjust dualfind 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

Page 15: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Polynomial Matrices

• Used in PRAM algs for matching[KUW ’86], [MVV ’87]

0 x1y2 x2y

2 x3y5

x4y0 x5y

1 0 0

0 0 0 x6y0

x7y1 0 x8y

1 0d

a

c

b

a

b

c

d

e f g h

h

e

g

f

22

50

11

0

1

Page 16: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Polynomial Matrices

• Used in PRAM algs for matching[KUW ’86], [MVV ’87]

0 3y2 1y2 6y5

2y0 4y1 0 0

0 0 0 3y0

1y1 0 4y1 0d

a

c

b

a

b

c

d

e f g h

h

e

g

f

22

50

11

0

1

Determinant = 12y4 + 72y3

Max Weight of a Matching

Page 17: An Algebraic Algorithm for Weighted Linear Matroid Intersection

• 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

Polynomial Matrices

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

Page 18: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

1 1 0 0 1 0 1 01 0 0 1 1 1 0 10 0 1 1 0 1 1 00 1 0 1 1 0 1 1

7 6 6 3 7 1 9 09 2 9 2 4 9 6 13 3 4 7 0 4 3 31 4 8 4 2 2 5 3

A =

B =

weights: 1 0 9 8 5 1 5 9

Page 19: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

A

Page 20: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

BT

A

Page 21: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

y5

y1

y0

y9

y8

y5

y1

y9

BT

A

Y

Page 22: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

y5

y1

y0

y9

y8

y5

y1

y9

BT

A

Y

Claim 1: max weight of intersection ismax exponent of y in det( A Y BT )

Page 23: An Algebraic Algorithm for Weighted Linear Matroid Intersection

Weighted Linear Matroid Intersection

y5

y1

y0

y9

y8

y5

y1

y9

BT

A

Y

Claim 2: computing det( A Y BT )

takes time O(nr-1 W1+ε)

Page 24: An Algebraic Algorithm for Weighted Linear Matroid Intersection

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

Page 25: An Algebraic Algorithm for Weighted Linear Matroid Intersection

MatroidIntersection

SubmodularFunction

Minimization

SubmodularFlow

MatroidMatching

MinimumSpanning

Tree

MatroidGreedy

Algorithm

Spanning TreePacking

MinimumArboresence

Non-Bip.Matching

NetworkFlow

BipartiteMatching

Extending Sankowski’s Method

Fast algorithm(using Storjohann)

[Sankowski ’06]

Page 26: An Algebraic Algorithm for Weighted Linear Matroid Intersection

SubmodularFunction

Minimization

SubmodularFlow

MatroidMatching

MinimumSpanning

Tree

MatroidGreedy

Algorithm

Spanning TreePacking

MinimumArboresence

MatroidIntersection

BipartiteMatching

Non-Bip.Matching

NetworkFlow

[Sankowski ’06]

Fast algorithm(using Storjohann)

[This Paper]

O(n W1+ε)

O(nr-1 W1+ε)

log W

log W

Extending Sankowski’s Method

Page 27: An Algebraic Algorithm for Weighted Linear Matroid Intersection