- 113 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' Cost Sharing and Approximation' - kathleen-aughmuty

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Cost Sharing

- Internet: many independent agents
- Not hostile, but selfish
- Willing to cooperate, if it helps them

Martin Pál: Cost sharing & Approx

Steiner tree

# users

cost

No sharing

# users

cost

Rent or buy

M

# users

How much does it pay to share?Martin Pál: Cost sharing & Approx

3

4

2

2

3

?

3

1

0

4

4

2

4

3

?

3

2

3

?

Cost shares

Cost shares

Steiner tree: how to split costMartin Pál: Cost sharing & Approx

Steiner tree: how to split cost

OPT( ) = 3

OPT( ) = 5

p( ) = 5-3 = 2

No “fair” cost allocation exists!

Martin Pál: Cost sharing & Approx

Cost sharing mechanism

- ..is a protocol/algorithm that
- requests utility uj from every user j
- selects the set S of people serviced
- builds network servicing S
- Computes the payment pj of every user jS

Martin Pál: Cost sharing & Approx

(competitiveness)

ΣjS pj ≥ c(S)/β

(approx. cost recovery)

Desirable properties of mech’s- ΣjS pj=c*(S)
- (budget balance)
- Only people in S pay
- (voluntary participation)
- No cheating, even in groups
- (group strategyproofness)
- If uj high enough, j guaranteed to be in S
- (consumer sovereignity)

Martin Pál: Cost sharing & Approx

Cost sharing function

- ξ : 2UU ℛ
- ξ(S,j) – cost share of user j, given set S
- Competitiveness: ΣjSξ(S,j)≤c*(S)
- Cost recovery: c(S)/β≤ΣjSξ(S,j)
- Voluntary particpiation: ξ(S,j) = 0 if jS
- Cross-monotonicity: for jST
- ξ(S,j) ≥ ξ(T,j)

Martin Pál: Cost sharing & Approx

The Moulin&Shenker mechanism

Let ξ : 2UU ℛ be a cost sharing function.

- S U
- while unhappy users exist
- offer each jS service at price ξ(S,j)
- S S – {users j who rejected}
- output the set S and prices pj = ξ(S,j)

Thm: [Moulin&Shenker]:

ξ(.) cross-monotonic mech. group strategyproof

Martin Pál: Cost sharing & Approx

Designing x-mono functions

- We construct cross-monotonic cost shares for two games:
- Metric facility location game
- Single source rent or buy game
- Facility location: competitive, recovers 1/3 of cost
- Rent or buy:competitive, recovers 1/15 of cost

Martin Pál: Cost sharing & Approx

Facility Location

F is a set of facilities.

D is a set of clients.

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

(assume cij satisfies triangle inequality)

fi: cost of facility i

Martin Pál: Cost sharing & Approx

Facility Location

1) Pick a subset F’ of facilities to open

2) Assign every client to an open facility

Goal: Minimize the sum of facility and assignment costs: ΣiF’fi + ΣjS c(j,σ(j))

Martin Pál: Cost sharing & Approx

=4

=6

Existing algorithms..each user j raises its j

j pays for connection first, then for facility

if facility paid for, declared open

(possibly cleanup phase in the end)

Martin Pál: Cost sharing & Approx

without , ( )=5

was stopped prematurely in the first run

=5

=5

..do not yield x-mono sharesMartin Pál: Cost sharing & Approx

=4

=5

Ghost shares- Two shares per user:
- ghost share j
- real share j

- j grows forever
- j stops when connected

Martin Pál: Cost sharing & Approx

Easy facts

Fact 1: cost shares j are cross-monotonic.

Pf: More users opens facilities faster each j can only stop growing earlier.

Fact 2 [competitiveness]: ΣjSj≤c*(S).

Pf: j is a feasible LP dual.

Hard part: cost recovery.

Martin Pál: Cost sharing & Approx

Constructing a solution

=2

tp:time when facility p opened

Sp: set of clients connected to p at time tp

facility p is well funded, if 3j≥tp for every jSp

each facility is either poisoned or healthy

p is poisoned if it shares a client with a well funded healthy facility q and tp> tq

tp=2

=2

tq =7

=7

Martin Pál: Cost sharing & Approx

p

q

≤tp1

≤tp

≤tp1

...

tp

tp1 ≤ j

tq

j≤tp/3

healthy

c(p,q’) ≤tp

q’

Building a solutionOpen all healthy well funded facilities

Assign each client to closest facility

Fact 1: for every facility p, there is an open facility q within radius 2tp.

c(p,q) ≤2(tp-tq)

c(q,q’)≤2 tq

Martin Pál: Cost sharing & Approx

Fact 2: p open clients in Sp can pay 1/3 their connection + facility cost

Pf: fj = ΣjS(p)tp – cjp and j≥tp/3

Sp

Fact 3: j is in no Sp can pay for 1/3 of connection

Pf: fj = ΣjS(p)tp – cjp and j≥tp/3

≤j

≤2j

open

Cost recoveryMartin Pál: Cost sharing & Approx

≤j

≤2j

open

Cost recovery- Summary:
- Cost shares can pay for 1/3 of soln we construct
- Never pay more than cost of the optimum
- With increasing # of users, individual share only decreases

Martin Pál: Cost sharing & Approx

Single source rent or buy

A set of clients D.

A source node s.

cij is the distance between any pair of nodes.

(assume cij satisfies triangle inequality)

Martin Pál: Cost sharing & Approx

cost of e

M

# paths

Single source rent or buy1) Pick a path from every client j to source s.

Goal: Minimize the sum of edge costs:

ΣeE min(pe,M) ce

Martin Pál: Cost sharing & Approx

Plan of attack

- Gather clients into groups of M
- (often done by a facility location algorithm)
- Build a Steiner tree on the gathering points

Jain&Vazirani gave cost sharing fn for Steiner tree

Have cost sharing for facility location

Why not combine?

Martin Pál: Cost sharing & Approx

“One shot” algorithm

- Generate gathering points and build a Steiner tree at the same time.
- Allow each user to contribute only to the least demanding (i.e. largest) cluster he is connected to.
- not clear if the shares can pay for the tree

Martin Pál: Cost sharing & Approx

Growing ghosts

Grow a ball around every user uniformly

When M or more balls meet, declare gathering point

Each gathering point immediately starts growing a Steiner component

When two components meet, merge into one

Martin Pál: Cost sharing & Approx

Cost shares

Each Steiner component C needs $1/second for growth.

Maintenance cost of C split among users connected

User connected to multiple components pays only to largest component

User connected to root stops paying

j =∫ fj(t) dt

Martin Pál: Cost sharing & Approx

Easy facts

Fact: The cost shares j are cross-monotonic.

Pf: More users causes more gathering points to open, more “area” is covered by Steiner clusters, clusters are bigger each j can only grow slower&stop sooner.

Fact [competitiveness]: ΣjSj≤2c*(S).

Pf: LP duality.

Again, cost recovery is the hard part.

Martin Pál: Cost sharing & Approx

Cost recovery

To prove cost recovery, we must build a network.

Steiner tree on all centers would be too expensive select only some of the centers like we did for facility location.

Need to show how to pay for the tree constructed.

Martin Pál: Cost sharing & Approx

Paying for the tree

We selected a subset of clusters so that every user pays only to one cluster.

But: users were free to chose to contribute to the largest cluster – may not be paying enough.

Solution: use cost share at time t to pay contribution at time 3t.

Martin Pál: Cost sharing & Approx

The last slide

- x-mono cost sharing known only for 3 problems so far
- Do other problems admit cross-mono cost sharing?
- Covering problems? Steiner Forest?
- Negative result: SetCover – no better than Ω(n) approx
- Applications of cost sharing to design of approximation algorithms.

Martin Pál: Cost sharing & Approx

Download Presentation

Connecting to Server..