330 likes | 344 Views
Charitable donations, public goods, cost sharing. Vincent Conitzer conitzer@cs.duke.edu. One donor (bidder). u( ) = 1 u( ) = .8. U = 1. Two independent donors. u( ) = 1 u( ) = .8. u( ) = 1
E N D
Charitable donations, public goods, cost sharing Vincent Conitzer conitzer@cs.duke.edu
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 Promise to match donations • Matching offers are such a contract • Two problems: • One-sided Big institution Private individual(s) • Involve only a single charity
Two charities u( ) = 1 u( ) = .3 u( ) = .8 u( ) = 1 u( ) = .8 u( ) = .3 U = 1.1 U = 1.1
A different approach [Conitzer & Sandholm EC04] • Donors can submit bidsindicating 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)” Bidder’s maximum payment Budget w(x) x = total payment to charity
Bid 1 maximum payment w(x) Budget $50 $30 $10 x = total payment $100 $10 $500
Bid 2 maximum payment w(x) Budget $75 $45 $15 x = total payment $100 $10 $500
Current solution w(x) 45 degree line $125 total payment bidders are willing to make $75 max donated $25 max surplus x = total payment $100 $10 $500 $43.75
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 wa(xa) wu(xu) $50 $50 xa xu $2500 $5000 • Could get stuck paying $100! • Most general solution: w(x1, x2, …, xm) • Requires specifying exponentially many values
Solution: separate utility and payment; assume utility decomposes • Willing to give $1 for every $100 to UNICEF • Willing to give $2 for every $100 to Amnesty Int’l • Budget constraint: $50 ua(xa) uu(xu) w(uu(xu)+ua(xa)) $50 1 util 1 util uu(xu)+ua(xa) 50 utils $100 xu $50 xa
The general form of a bid (utils) (utils) u2(x2) u1(x1) um(xm) (utils) … x2 ($) x1 xm ($) ($) ($) w(u1(x1) + u2(x2)+ … + um(xm)) u1(x1) + u2(x2)+ … + um(xm) (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)+uj2(x2) + … +ujm(xm)) (nobody pays more than they wanted to) x1 y1 x2 y2
Objective • Among valid outcomes, find one that maximizes • Total donated = x1+x2 +… +xm x1 y1 x2 y2 • Surplus = y1 +y2 +…+yn -x1 -x2 -… -xm x1 y1 x2 y2
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+ uj2+ … + ujm) • For all i, j: uji≤ uji(xi) nonlinear nonlinear
Concave piecewise linear constraints l2(x) l1(x) l3(x) b(x) x y ≤ l1(x) y ≤ b(x) y ≤ l2(x) y ≤ l3(x)
Good news… • So, if all the bids are concave… • All the uji are concave uji(xi) (utils) • All the wj are concave ($) xi wj(uj) ($) • Then the program is a linear program (solvable to optimality in polynomial time) uj (utils)
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 6 3 1 5 5 4 1 10 1 2 2 6 Total utility = 10 + 5 + 1 + 6 = 22 Total 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? 6 3 1 5 5 4 1 10 1 2 2 6
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… 6 3 6/4 = 1.5 3/2 = 1.5 1 5 5 6/4 + 1/2 = 2 4 1 10 1 2 3/2 + 5 = 6.5 6/4 + 4 = 5.5 2 6 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) 6 3 6/2 = 3 1 5 5 4 1 10 1 2 3 + 5 = 8 2 6 6/2 + 1 + 2 = 6
Serious inefficiency for the Shapley mechanism 1.1 0 0 0 0 0 … 1/k 1 1/2 1/3
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