Primal Dual Combinatorial Algorithms Qihui Zhu May 11, 2009

Preview:

Citation preview

Primal Dual Primal Dual Combinatorial Combinatorial

AlgorithmsAlgorithms

Qihui ZhuQihui ZhuMay 11, 2009May 11, 2009

OutlineOutline

• Packing and covering

• Primal and dual problems

• Online prediction using feedback

• Primal-dual combinatorial

algorithm

• Applications and extensions

Packing Packing Problem (0-1 Knapsack)Problem (0-1 Knapsack)

• n objects with weights Wi and prices pi

• A knapsack with capacity c

• Pack objects maximizing the total price

without exceeding the capacity

Packing Problem (0-1 Knapsack)Packing Problem (0-1 Knapsack)

• n objects with weights Wi and prices pi

• A knapsack with capacity c

• Pack objects maximizing the total price

without exceeding the capacity

Knapsack IP

Packing Problem (General)Packing Problem (General)

• n objects with weights Wij and prices pi

• m constraints with capacity cj to fit

• Pack objects maximizing the total price

without exceeding the capacities

Packing IP

Covering ProblemCovering Problem

• n objects to cover at least pi times

• m sets with costs cj cover

each covers Wji objects

• Cover all objects with the minimal cost

Covering ProblemCovering Problem

• n objects to cover at least pi times

• m sets with costs cj cover

each covers Wji objects

• Cover all objects with the minimal cost

Covering IP

Fractional Packing Fractional Packing

Original form

Fractional Packing Fractional Packing

Matrix form

Original form

Fractional Packing and Covering Fractional Packing and Covering Are Dual Are Dual

Packing Covering

Fractional Packing and Covering Fractional Packing and Covering Are Dual Are Dual

Packing Covering

Covering: best upper bound on packingPacking: best lower bound on covering

Decision VersionDecision Version

Given constraint set

such that

For packing:

(PST 95)

Feasibility

Binary search for optimization

Flipped Sides of the Same CoinFlipped Sides of the Same Coin

“Yes” certificate “No” certificate

Think of the game of twenty questions...

Key Idea #1: Need Primal-Dual Key Idea #1: Need Primal-Dual AlgorithmAlgorithm

“Yes” certificate “No” certificate Primal: Dual:

How to Generate the How to Generate the Certificates?Certificates?

Randomly guessing ...

How to Generate the How to Generate the Certificates?Certificates?

Randomly guessing ...

Primal and Dual need to communicate

From Dual to PrimalFrom Dual to Primal

Efficient combinatorial algorithm

From Dual to PrimalFrom Dual to Primal

Given dual estimate and constraint set

Let , find such that

Oracle

Efficient combinatorial algorithm

From Dual to PrimalFrom Dual to Primal

Given dual estimate and constraint set

Let , find such that

Oracle

For packing, essentially ignore all capacity constraints

Reduce to sorting over !Complexity:

From Primal to DualFrom Primal to Dual

Combination of hyperplanes

From Primal to DualFrom Primal to Dual

Combination of hyperplanes

Tilt the hyperplanes using feedback , ..., etc.

One step not enough!

Getting complicated over iterations...

Online Prediction

Online PredictionOnline Prediction

• Experts predicting some uncertain event

Expert

Event

Online PredictionOnline Prediction

• Experts predicting some uncertain event

Expert

Event

Value

• Gain some value from the world (adversarial)

Online PredictionOnline Prediction

• Experts predicting some uncertain event

Expert

Event

Value

• Gain some value from the world (adversarial)

Weight

• Linearly combine by weights

Online PredictionOnline Prediction

• Experts predicting some uncertain event

Expert

Event

• Long term value over time

Time

Value

• Gain some value from the world (adversarial)

Weight

• Linearly combine by weights

A Simplified CaseA Simplified Case

Expert 1

Expert 2

Combined

Value Average playoff

Regret

1 0 1 0 1 0 1

history

? ? ? ? ?

• Only 2 experts

0 1 0 1 0 1 0? ? ? ? ?

?

?

• Value

0.9 0 0 0 0 0 0

Strategy IStrategy I

Expert 1

Expert 2

Combined

0.9 0 1 0 1 0 11 0 1 0 1

Take the best from history?

0.1 1 0 1 0 1 01 0 1 0 1

1

0

1

0 10.5

0 1 0 2/32/31/32/3

Strategy IIStrategy II

Expert 1

Expert 2

Combined

1 1 0 1 1 0 1

Linearly weighted by the cumulative values?

0 0 1 0 0 1 0

0

1

0 10.5

1 1 2/3 2/3 2/3

1 0 0 1/3 1/3 1/3

0 1 0 1 1 0 1

Strategy IIIStrategy III

Expert 1

Expert 2

Combined

1 1 0 1 1 0 1

Exponentially weighted by the cumulative values!

0 0 1 0 0 1 0

0

1

0 10.5

1 1 1-ε

1 0 0 ε ε ε

1-ε 1-ε

Key Idea #2: Need Multiplicative Key Idea #2: Need Multiplicative FeedbackFeedback

“Yes” certificate “No” certificate Primal: Dual:

From Primal to Dual: ContinuedFrom Primal to Dual: Continued

Multiplicative Weight Update (MW)

Let be the current state at step and be the “feedback”

Combination of hyperplanes

Regret BoundRegret Bound

Theorem (LW94) Suppose predictions of experts

have value . Each time the predictions are

combined by weights , where .

Update weights using . After time

Regret BoundRegret Bound

Theorem (LW94) Suppose predictions of experts

have value . Each time the predictions are

combined by weights , where .

Update weights using . After time

Proof. Consider the potential function

Show that it is dominated by the best expert.

Primal-Dual AlgorithmsPrimal-Dual Algorithms

Primal Dual

Multiplicative Weight Update

Oracle

AlgorithmAlgorithm

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm

AnalysisAnalysis

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial AlgorithmOracle: if failed, infeasible

AnalysisAnalysis

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm Oracle: if failed, infeasible

Regret bound:

Width:

Feasible solution!

Complexity depends on

ApplicationsApplications

• Fractional packing and covering

• Multicommodity flow

• Held-Karp Bound for TSP

• Semidefinite programming (SDP)

relaxation

• General convex programming

• Boosting

• Matrix game

ApplicationsApplications

• Fractional packing and covering

• Multicommodity flow

• Held-Karp Bound for TSP

• Semidefinite programming (SDP)

relaxation

• General convex programming

• Boosting

• Matrix game

Multicommodity FlowMulticommodity Flow

• Objective: maximizing total flow while respecting capacities

Multicommodity FlowMulticommodity Flow

• Objective: maximizing total flow while respecting capacities

• Packing paths

• Update: route some flow along shortest path

Multicommodity Flow

Congestion

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm

Multicommodity FlowMulticommodity Flow

Oracle : shortest path

keep pushing flows through

P : polytope of graph flows

Augment length (GK 98)

SDP RelaxationSDP RelaxationMax Cut (GW 95)

• Better bounds on Max Cut, Sparsest Cut, Max-2Sat, etc.

• Finding good geometric embedding by SDP + rounding

• Interior point method not scale-

Sparsest Cut (ARV 04)

Primal SDP Dual SDP

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm

Primal SDPPrimal SDP

P : set of semidefinite matrices

Oracle : compute eigenvectors!

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm

Dual SDPDual SDP

P & Oracle : same as packing

Multiplicative Weight Update

Use matrix exponential

!

Initialize: ,

Repeat

Set

Oracle

If then

Return infeasible, output

Set

Multiplicative Weight Update

Until

Return feasible solution

Primal-Dual Combinatorial Algorithm

Weighted Majority Weighted Majority Algorithm/BoostingAlgorithm/Boosting

Events/Classification results: not controlled by us!

Error on training examples

SummarySummary

Combinatorial subroutines

SummarySummary

Combinatorial subroutines

Fast algorithms!

ConclusionConclusion

• A computational paradigm– Applied to numerous problems – Cover at least convex problems

• Fast approximation algorithms– Trade accuracy for time: O(1/ε)– Fast combinatorial algorithms for oracle (without

solving LP!)

• Flexibility for algorithm design– Multiplicative weight update: a principle way to

use feedback– Free to separate and combine constraints

• Width management is important– Most algorithms polynomial to width– Separate high width constraints: nested primal-

dual– Decompose constraint set

Thank you!Thank you!

Questions …Questions …

Regret BoundRegret Bound

Theorem (LW94) Suppose predictions of experts

have value . Each time the predictions are

combined by weights , where .

Update weights using . After time

Proof. Consider the potential function

Show that it is dominated by the best expert.

Update rule

Update rule

Exp function

Width

Update rule

Exp function

Width

Recommended