prev

next

of 56

View

36Download

2

Tags:

Embed Size (px)

DESCRIPTION

Approximation Algorithms:. problems, techniques, and their use in game theory. Éva Tardos Cornell University. What is approximation?. Find solution for an optimization problem guaranteed to have value close to the best possible. How close? additive error: (rare) - PowerPoint PPT Presentation

Approximation Algorithms:va TardosCornell Universityproblems, techniques, and their use in game theory

What is approximation?Find solution for an optimization problem guaranteed to have value close to the best possible.

How close?

additive error: (rare)E.g., 3-coloring planar graphs is NP-complete, but 4-coloring always possible

multiplicative error:-approximation: finds solution for an optimization problem within an factor to the best possible.

Why approximate?NP-hard to find the true optimum

Just too slow to do it exactly

Decisions made on-line

Decisions made by selfish players

Outline of talkTechniques:

Greedy

Local search

LP techniques: rounding Primal-dual Problems:

Disjoint paths

Multi-way cut and labeling

network design, facility locationRelation to Games local search price of anarchy primal dual cost sharing

Max disjoint paths problemGiven graph G, n nodes, m edges, and source-sink pairs. Connect as many as possible via edge-disjoint path.tstsstts

Greedy AlgorithmGreedily connect s-t pairs via disjoint paths, if there is a free path using at most m edges:If there is no short path at all, take a single long one.

Greedy AlgorithmTheorem: m approximation. Kleinberg96Proof: One path used can block m better pathsEssentially best possible: m- lower bound unless P=NP by [Guruswami, Khanna, Rajaraman, Shepherd, Yannakakis99]

Disjoint paths:open problemConnect as many as pairs possible via paths where 2 paths may share any edge Same practical motivation Best greedy algorithm: n - (and also m1/3 -) approximation: Awerbuch, Azar, Plotkin93. No lower bound

Outline of talkTechniques:

Greedy

Local search

LP techniques: rounding Primal-dual Problems:

Disjoint paths

Multi-way cut and labeling

network design, facility locationRelation to Games local search Price of anarchy primal dual Cost sharing

Multi-way Cut ProblemGiven: a graph G = (V,E) ;k terminals {s1, , sk}cost we for each edge e

Goal: Find a partition that separates terminals, and minimizes the cost {e separated} weSeparated edgess1s2s3s4

Greedy AlgorithmFor each terminal in turnFind min cut separating si from other terminals The next cuts2s1s4s3s2s1s4s3

Theorem: Greedy is a2-approximationProof: Each cut costs at most the optimums cut [Dahlhaus, Johnson, Papadimitriou, Seymour, and Yannakakis94]

Cuts found by algorithm:Optimum partitionSelected cuts, cheaper than optimums cut, buteach edge in optimum is counted twice.s4s3s2s1

Multi-way cuts extensionGiven: graph G = (V,E), we0 for e ELabels L={1,,k} Lv L for each node v

Objective: Find a labeling of nodes such that each node v assigned to a label in Lv and it minimizes cost {e separated} weSeparated edgespart 1part 2part 3part 4

ExampleDoes greedy work? For each terminal in turnFind min cut separating si from other terminals cheapmediumexpensives3s1s2

Greedy doesnt workGreedyFor each terminal in turnFind min cut separating si from other terminals

The first two cuts:Remaining part not valid!s2s1s3

Local search[Boykov Veksler Zabih CVPR98] 2-approximation

Start with any valid labeling.

2. Repeat (until we are tired):

Choose a color c.

b. Find the optimal move where a subset of the vertices can be recolored, but only with the color c. (We will call this a c-move.)

A possible -moveThm [Boykov, Vekler, Zabih] The best -move can be found via an (s,t) min-cut

Idea of the flow networkfor finding a -move

s = all other terminals: retain current colorsc = change color to c = G

Theorem: local optimum is a 2-approximationPartition found by algorithm:Cuts used by optimumThe parts in optimum each give a possible local move:

Theorem: local optimum is a 2-approximationPartition found by algorithm:Possible move using the optimumChanging partition does not help current cut cheaperSum over all colors:Each edge in optimum counted twice

Metric labeling classification open problemGiven: graph G = (V,E); we0 for e Ek labels Lsubsets of allowed labels Lv a metric d(.,.) on the labels.Objective: Find labeling f(v)Lv for each node v to minimizee=(v,w) we d(f(v),f(w))Best approximation known: O(ln k ln ln k) Kleinberg-T99

Outline of talkTechniques:

Greedy

Local search

LP techniques: rounding Primal-dual Problems:

Disjoint paths

Multi-way cut and labeling

network design, facility locationRelation to Games local search Price of anarchy primal dual Cost sharing

Using Linear Programs for multi-way cutsUsing a linear program = fractional cut probabilistic assignment of nodes to partsIdea: Find optimal fractional labeling via linear programming

Fractional LabelingVariables:0 xva 1 p=node, a=label in Lvxva fraction of label a used on node v Constraints: xva = 1aLvfor all nodes v V each node is assigned to a label

cost as a linear function of x: we |xua - xva |e=(u,v)aL

From Fractional x to multi-way cutThe Algorithm (Calinescu, Karloff, Rabani, 98, Kleinberg-T,99)

While there are unassigned nodesselect a label a at random

The Algorithm (Cont.)While there are unassigned nodesselect a label a at randomselect 0 1 at randomassign all unassigned nodes v to selected label a if xva

Why Is This Choice Good?select 0 1 at randomassign all unassigned nodes v to selected label a if xva Note:Probability of assigning node v to label a is xva Probability of separating nodes u and v in this iteration is |xua xva |

From Fractional x to Multi-way cut (Cont.)Theorem: Given a fractional x, we find multi-way cut with expectedseparation cost 2 (LP cost of x)

Corollary: if x is LP optimum . 2-approximation

Calinescu, Karloff, Rabani, 98 1.5 approximation for multi-way cut (does not work for labeling)

Karger, Klein, Stein, Thorup, Young99 improved bound 1.3438..

Outline of talkTechniques:

Greedy

Local search

LP techniques: rounding Primal-dual Problems:

Disjoint paths

Multi-way cut and labeling

network design, facility locationRelation to Games local search Price of anarchy primal dual Cost sharing

Metric Facility LocationF is a set of facilities (servers).D is a set of clients.

cij is the distance between any i and j in D F.

Facility i in F has cost fi.

Problem StatementWe need to:1) Pick a set S of facilities to open. 2) Assign every client to an open facility (a facility in S).

Goal: Minimize cost of S + p dist(p,S).

What is known?All techniques can be used:Clever greedy [Jain, Mahdian, Saberi 02]

Local search [starting with Korupolu, Plaxton, and Rajaraman 98], can handle capacities

LP and rounding: [starting with Shmoys, T, Aardal 97]

Here: primal-dual [starting with Jain-Vazirani99]

What is the primal-dual method?Uses economic intuition from cost sharingFor each requirement, like aLv xva = 1, someone has to pay to make it trueUses ideas from linear programming:dual LP and weak dualityBut does not solve linear programs

Dual Problem: Collect Fees Client p has a fee p (cost-share)

Goal: collect as much as possible max p p

Fairness: Do no overcharge: for any subset A of clients and any possible facility i we must have p A [p dist(p,i)] fiamount client p would contribute to building facility i.

Exact cost-sharingAll clients connected to a facility

Cost share p covers connection costs for each client p

Costs are fair

Cost fi of selecting a facility i is covered by clients using it

p p = f(S)+ p dist(p,S) , and

both facilities are fees are optimal

Approximate cost-sharingIdea 1: each client starts unconnected, and with fee p=0

Then it starts raising what it is willing to pay to get connectedRaise all shares evenly

Example: = client= possible facility with its cost

Primal-Dual Algorithm (1)Each client raises his fee evenly what it is willing to pay = 1Its =1 share could be used towards building a connection to either facility

Primal-Dual Algorithm (2)Each client raises evenly what it is willing to payStarts contributing towards facility cost = 2

Primal-Dual Algorithm (3)Each client raises evenly what it is willing to payThree clients contributing = 3

Primal-Dual Algorithm (4)Open facility, when cost is covered by contributions4clients connected to open facilityOpen facility = 3

Primal-Dual Algorithm: TroubleTrouble: one client p connected to facility i, but contributes to also to facility j4Open facility = 3ijp

Primal-Dual Algorithm (5)Close facility j: will not open this facility.

Will this cause trouble?Client p is close to both i and j facilities i and j are at most 2 from each other.4Open facility = 3ijpghost

Primal-Dual Algorithm (6)Not yet connected clients raise their fee evenly

Until all clients get connected4no not need to pay more than 3Open facility =6 =3 =3 =3ghost

Feasibility + fairness ?? All clients connected to a facility

Cost share p covers connection costs of client p

Cost fi of opening a facility i is covered by clients connected to it?? Are costs fair ??

Are costs fair??a set of clients A, and any possi