+ All Categories
Home > Documents > An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

Date post: 15-Jan-2016
Category:
View: 225 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey
Transcript
Page 1: An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

An Algebraic Algorithm forWeighted Linear Matroid Intersection

Nick Harvey

Page 2: An Algebraic Algorithm for Weighted 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

Page 3: An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

• 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 Nick Harvey.

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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 Nick Harvey.

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

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

A

Page 20: An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

Weighted Linear Matroid Intersection

1 0 9 8 5 1 5 9

BT

A

Page 21: An Algebraic Algorithm for Weighted Linear Matroid Intersection Nick Harvey.

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

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

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

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

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

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

Recommended