an algebraic algorithm for weighted linear matroid intersection

Post on 31-Dec-2015

48 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

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

An Algebraic Algorithm forWeighted Linear Matroid Intersection

Nick Harvey

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

• 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

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]

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

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

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

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

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!

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

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

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

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

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

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

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

• 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

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

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

A

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

BT

A

Weighted Linear Matroid Intersection

y5

y1

y0

y9

y8

y5

y1

y9

BT

A

Y

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 )

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

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

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]

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

top related