550 likes | 878 Views
Primal Dual Combinatorial Algorithms. Qihui Zhu May 11, 2009. Outline. Packing and covering Primal and dual problems Online prediction using feedback Primal-dual combinatorial algorithm Applications and extensions. Packing Problem (0-1 Knapsack).
E N D
Primal Dual Combinatorial Algorithms Qihui Zhu May 11, 2009
Outline • Packing and covering • Primal and dual problems • Online prediction using feedback • Primal-dual combinatorial algorithm • Applications and extensions
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
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) • n objects with weights Wijand prices pi • m constraints with capacity cjto fit • Pack objects maximizing the total price without exceeding the capacities Packing IP
Covering 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 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 Original form
Fractional Packing Original form Matrix form
Fractional Packing and Covering Are Dual Packing Covering
Fractional Packing and Covering Are Dual Packing Covering Covering: best upper bound on packing Packing: best lower bound on covering
Decision Version (PST 95) Given constraint set such that Feasibility For packing: Binary search for optimization
Flipped Sides of the Same Coin Think of the game of twenty questions... “Yes”certificate “No”certificate
Key Idea #1: Need Primal-Dual Algorithm Primal: Dual: “Yes” certificate “No” certificate
How to Generate the Certificates? Randomly guessing ...
How to Generate the Certificates? Primal and Dual need to communicate Randomly guessing ...
From Dual to Primal Efficient combinatorial algorithm
From Dual to Primal Oracle Given dual estimate and constraint set Let , find such that Efficient combinatorial algorithm
From Dual to Primal Oracle Given dual estimate and constraint set Let , find such that For packing, essentially ignore all capacity constraints Reduce to sorting over ! Complexity:
From Primal to Dual Combination of hyperplanes
From Primal to Dual Tilt the hyperplanes using feedback , ..., etc. One step not enough! Getting complicated over iterations... Online Prediction Combination of hyperplanes
Online Prediction Event Expert • Experts predicting some uncertain event
Gain some value from the world (adversarial) Value Online Prediction Event Expert • Experts predicting some uncertain event
Gain some value from the world (adversarial) • Linearly combine by weights Weight Value Online Prediction Event Expert • Experts predicting some uncertain event
Gain some value from the world (adversarial) Time • Linearly combine by weights • Long term value over time Weight Value Online Prediction Event Expert • Experts predicting some uncertain event
A Simplified Case • Only 2 experts • Value Combined history 1 0 1 0 1 1 0 Expert 1 ? ? ? ? ? ? 0 1 0 1 0 0 1 ? ? ? ? ? ? Expert 2 Average playoff Regret Value
Strategy I Take the best from history? 1 0 1 0.5 Combined 0.9 0 0 0 0 0 0 0.9 0 1 0 1 1 0 Expert 1 1 1 0 1 0 1 0.1 1 0 1 0 0 1 0 1 0 1 0 1 Expert 2
Strategy II Linearly weighted by the cumulative values? 1 0 1 0.5 Combined 0 1 0 2/3 2/3 2/3 1/3 1 1 0 1 1 1 0 Expert 1 1 1 2/3 2/3 2/3 0 0 0 1 0 0 0 1 1/3 1 0 0 1/3 1/3 Expert 2
Strategy III Exponentially weighted by the cumulative values! 1 0 1 0.5 Combined 0 1 0 1 1 1 0 1 1 0 1 1 1 0 Expert 1 1 1 0 1-ε 1-ε 1-ε 0 0 1 0 0 0 1 ε 1 0 0 ε ε Expert 2
Key Idea #2: Need Multiplicative Feedback Primal: Dual: “Yes” certificate “No” certificate
From Primal to Dual: Continued Multiplicative Weight Update (MW) Let be the current state at step and be the “feedback” Combination of hyperplanes
Regret Bound Theorem(LW94) Suppose predictions of experts have value . Each time the predictions are combined by weights , where . Update weights using . After time
Regret 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 Algorithms Primal Dual Oracle Multiplicative Weight Update
Algorithm Primal-Dual Combinatorial Algorithm Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution
Analysis Primal-Dual Combinatorial Algorithm Oracle: if failed, infeasible Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution
Analysis Oracle: if failed, infeasible Primal-Dual Combinatorial Algorithm Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution Width: Regret bound: Feasible solution! Complexity depends on
Applications • Fractional packing and covering • Multicommodity flow • Held-Karp Bound for TSP • Semidefinite programming (SDP) relaxation • General convex programming • Boosting • Matrix game
Applications • Fractional packing and covering • Multicommodity flow • Held-Karp Bound for TSP • Semidefinite programming (SDP) relaxation • General convex programming • Boosting • Matrix game
Multicommodity Flow • Objective: maximizing total flow while respecting capacities
Multicommodity Flow • Objective: maximizing total flow while respecting capacities • Packing paths • Update: route some flow along shortest path Congestion Multicommodity Flow
Multicommodity Flow Primal-Dual Combinatorial Algorithm P : polytope of graph flows Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution Oracle : shortest path keep pushing flows through Augment length (GK 98)
SDP Relaxation Max Cut (GW 95) Sparsest Cut (ARV 04) • Better bounds on Max Cut, Sparsest Cut, Max-2Sat, etc. • Finding good geometric embedding by SDP + rounding • Interior point method not scale- Primal SDP Dual SDP
Primal SDP Primal-Dual Combinatorial Algorithm Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution P : set of semidefinite matrices Oracle : compute eigenvectors!
! Dual SDP Primal-Dual Combinatorial Algorithm P & Oracle : same as packing Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution Multiplicative Weight Update Use matrix exponential
Weighted Majority Algorithm/Boosting Primal-Dual Combinatorial Algorithm Initialize: , Repeat Set Oracle If then Return infeasible, output Set Multiplicative Weight Update Until Return feasible solution Events/Classification results: not controlled by us! Error on training examples
Summary Combinatorial subroutines
Summary Combinatorial subroutines Fast algorithms!
Conclusion • 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