charitable donations, public goods, cost sharing vincent conitzer [email protected]

33
Charitable donations, public goods, cost sharing Vincent Conitzer [email protected]

Upload: britton-williamson

Post on 02-Jan-2016

219 views

Category:

Documents


2 download

TRANSCRIPT

Charitable donations, public goods, cost sharing

Vincent Conitzer

[email protected]

One donor (bidder)

u( ) = 1

u( ) = .8

U = 1

Two independent donors

u( ) = 1

u( ) = .8

u( ) = 1

u( ) = .8

U = 1 U = 1

Two donors with a contract

u( ) = 1

u( ) = .8

u( ) = 1

u( ) = .8

U = .5 + .8 = 1.3 > 1 U = .5 + .8 = 1.3 > 1

Matching offers• Matching offers are such a contract

– One-sided

– Involve only a single charity

Promise to match donations

Big institution Private individual(s)

• Two problems:

Two charities

u( ) = 1

u( ) = .8

u( ) = .3

u( ) = 1

u( ) = .3

u( ) = .8

U = 1.1 U = 1.1

A different approach [Conitzer & Sandholm EC04]

• Donors can submit bids indicating their preferences over charities

• A center accepts all the bids and decides who pays what to whom

What do we need?• A general bidding language for specifying

“complex matching offers” (bids)

• A computational study of the clearing problem (given the bids, who pays what to whom)

One charity• A bid for one charity:

“Given that the charity ends up receiving a total of x (including my contribution), I am willing to

contribute at most w(x)”

w(x)

x = total payment to charity

Bidder’s maximum payment

Budget

Bid 1

w(x)

x = total payment

maximum payment

Budget

$10

$10 $100

$30

$500

$50

Bid 2

w(x)

x = total payment

maximum payment

Budget

$15

$10 $100

$45

$500

$75

Current solutionw(x)

x = total payment

total payment

bidders are willing to

make

$25

$10 $100

$75

$500

$125

$43.75

45 degree line

max surplus

max donated

Tsunami event (Dagstuhl 05)

0

100

200

300

400

500

600

700

800

900

1000

1100

0 100 200 300 400 500 600 700 800 900 1000

identity total promised

Problem with more than one charity

• Willing to give $1 for every $100 to UNICEF• Willing to give $2 for every $100 to Amnesty Int’l• BUDGET: $50

$5000

$50

$2500

$50

• Could get stuck paying $100!

wa(xa)wu(xu)

xuxa

• Most general solution: w(x1, x2, …, xm)

– Requires specifying exponentially many values

Solution: separate utility and payment; assume utility decomposes

$100

1 util

$50

1 util $50

xaxu

uu(xu) ua(xa)

• Willing to give $1 for every $100 to UNICEF

• Willing to give $2 for every $100 to Amnesty Int’l

• Budget constraint: $50

w(uu(xu)+ua(xa))

uu(xu)

+ua(xa)50 utils

The general form of a bid

x1

u1(x1)

w(u1(x1) + u2(x2)+ … + um(xm))

u1(x1) + u2(x2)+ … + um(xm)

x2

u2(x2)

…xm

um(xm)(utils) (utils) (utils)

(utils)

($) ($) ($)

($)

What to do with the bids? • Decide x1, x2, …, xm (total payment to each charity)

• Decide y1, y2, …, yn (total payment by each bidder)

• Definition. x1, x2, …, xm ; y1, y2, …, yn is valid if

– x1+ x2 + … + xm ≤ y1 + y2 + …+ yn

(no more money given away than collected)

– For any bidder j, yj ≤ wj(uj1(x1) + uj

2(x2) + … + ujm(xm))

(nobody pays more than they wanted to)

y1

y2

x1

x2

Objective • Among valid outcomes, find one that maximizes

• Total donated = x1+ x2 + … + xm

y1

y2

x1

x2

• Surplus = y1 + y2 + …+ yn - x1 - x2 - … - xm

y1

y2

x1

x2

Hardness of clearing• We showed how to model an NP-complete problem

(MAX2SAT) as a clearing instance– Nonzero surplus/total donation possible iff MAX2SAT

instance has solution

• So, NP-complete to decide if there exists a solution with objective > 0

• That means: the problem is inapproximable to any ratio (unless P=NP)

General program formulation• Maximize

– x1+ x2 + … + xm , OR

– y1 + y2 + …+ yn - x1 - x2 - … - xm

• Subject to– y1 + y2 + …+ yn - x1 - x2 - … - xm ≥ 0

– For all j: yj ≤ wj(uj1 + uj

2 + … + uj

m)

– For all i, j: uji ≤ uj

i(xi)

nonlinear

nonlinear

x1

u1(x1)

x2

u2(x2)

…xm

um(xm)(utils) (utils) (utils)

($) ($) ($)

w(u1(x1) + u2(x2)+ … + um(xm))

u1(x1) + u2(x2)+ … + um(xm) (utils)

($)

Concave piecewise linear constraints

b(x)

x

y ≤ b(x)

l1(x)

y ≤ l1(x)

l2(x)

y ≤ l2(x)

l3(x)

y ≤ l3(x)

Good news…

• So, if all the bids are concave…– All the uj

i are concave

xi

uji(xi)(utils)

($)– All the wj are concave

uj

wj(uj)

(utils)

($)

• Then the program is a linear program (solvable to optimality in polynomial time)

Clearing with quasilinear bids• Quasilinear bids = bids where w(u) = u

• For surplus maximization, can solve the problem separately for each charity

• Not so for donation maximization– Weakly NP-hard to clear– But, if in addition, utility functions are concave,

simple greedy approach is optimal

Mechanism design (quasilinear bids)

• Theorem. There does not exist a mechanism that is ex-post budget balanced, ex-post efficient, ex-interim incentive compatible (BNE), and ex-interim IR …

• …even in a setting when there is only one charity, two quasilinear bidders with identical type distributions (both for step functions and concave piecewise linear functions)

Proof (for step functions)

• Let there be a (nonexcludable) public good that costs 1• Two agents; each agent’s distribution

– With probability .5, utility 1.25 for public good (H)– With probability .5, utility 0 for public good (L)

• Assume efficient, BB, ex-interim IR, BNE IC mechanism• 1 should not misreport L instead of H, i.e. 5/4-π1(L,L)-

π1(L,H)≤5/4+5/4-π1(H,L)-π1(H,H)• By IR, -π1(L,L)-π1(L,H)≥0, hence π1(H,L)+π1(H,H)≤5/4, by

symmetry π2(L,H)+π2(H,H)≤5/4• By BB, π1(H,H)+π2(H,H)+π1(L,H)+π2(L,H)+ π1(H,L)

+π2(H,L)=3; hence π1(L,H)+π2(H,L)≥3-10/4=1/2• By BB, π1(L,L)+π2(L,L)=0, hence π1(L,L)+π1(L,H)+π2(L,L)

+π2(H,L)≥1/2• But by IR, π1(L,L)+π1(L,H)≤0 and π2(L,L)+π2(H,L)≤0• Contradiction!

A multicast cost sharing problem[Feigenbaum et al. 00]

[these slides inspired by a talk by Tim Roughgarden]

• Vertices (agents) are organized in a tree

• Need to select a subset that will receive service from root

• Need to construct the minimal subtree that connects all nodes that receive service

• Edges have costs• Agents have utilities for

service

3

2

1 45

6

1

10

5

1

6

2

Total utility = 10 + 5 + 1 + 6 = 22Total cost = 3 + 5 + 6 + 1 + 2 = 17

Surplus = 22 - 17 = 5

Mechanism design considerations

• Agents’ utilities are private knowledge

• We need a mechanism that – takes utilities as input– produces a subset of served agents + payments

as output

• Desiderata:– Efficiency: choose the surplus-maximizing subset– No deficit: payments collected should cover the

costs incurred• Even nicer would be (strong) budget balance:

payments collected = costs incurred

“Marginal cost” mechanism (Clarke mechanism)

• Agent i pays:– surplus that would have

resulted if i had reported 0, minus

– surplus that did result, not counting i’s utility

• Efficient. Deficit?

3

2

1 45

6

1

10

5

1

6

2

Serious deficit for the Clarke mechanism

1

0

2

2

The Shapley mechanism

• Iterative mechanism

• Start with everyone included

• Divide the cost of an edge among agents that make use of it

• Note that this sets too high a price for some users…

3

2

1 45

6

1

10

5

1

6

2

3/2 = 1.5

3/2 + 5 = 6.5

6/4 = 1.5

6/4 + 4 = 5.5

6/4 + 1/2 = 2

6/4 + 1/2 + 2 = 4

Shapley mechanism continued…

• … so we drop those users• Recalculate prices for

remaining users• Repeat until convergence• ~ ascending auction (prices

keep increasing)• Might as well stay in until

price too high• Generalization: use any cost

sharing function so that prices only increase (Moulin mechanisms)

3

2

1 45

6

1

10

5

1

6

2

3 + 5 = 8

6/2 = 3

6/2 + 1 + 2 = 6

Serious inefficiency for the Shapley mechanism

1.1

0

0

1/31 1/2 1/k

…0 0 0

Results • Clarke requires less communication than

Shapley [Feigenbaum et al. 00]

• More recent results approximate both budget balance and efficiency– Most recently Mehta et al. [EC 07] study a

generalization of Moulin mechanisms (“acyclic” mechanisms) that correspond naturally to various approximation algorithms