charitable donations, public goods, cost sharing vincent conitzer conitzer@cs.duke.edu
Post on 02-Jan-2016
219 Views
Preview:
TRANSCRIPT
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:
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
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
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
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
top related