Charitable donations, public goods, cost sharing Vincent Conitzer

advertisement
Charitable donations,
public goods, cost sharing
Vincent Conitzer
conitzer@cs.duke.edu
One donor (bidder)
u(
u(
)=1
) = .8
U=1
Two independent donors
u(
u(
)=1
) = .8
U=1
u(
u(
)=1
) = .8
U=1
Two donors with a contract
u(
u(
)=1
) = .8
u(
u(
U = .5 + .8 = 1.3 > 1
U = .5 + .8 = 1.3 > 1
)=1
) = .8
Matching offers
•
Matching offers are such a contract
•
Two problems:
Promise to match
donations
– One-sided
Big institution
– Involve only a single charity
Private
individual(s)
Two charities
u(
u(
u(
)=1
) = .8
) = .3
U = 1.1
u(
u(
u(
U = 1.1
)=1
) = .3
) = .8
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)”
Bidder’s
maximum
payment
Budget
w(x)
x = total payment to charity
Bid 1
maximum
payment
w(x)
$50
Budget
$30
$10
x = total payment
$10
$100
$500
Bid 2
maximum
payment
w(x)
$75
Budget
$45
$15
x = total payment
$10
$100
$500
Current solution
45 degree
line
w(x)
total $125
payment
bidders are
$75
willing to
make
max donated
$25
max surplus
x = total payment
$10
$100
$43.75
$500
Tsunami event (Dagstuhl 05)
1100
1000
900
800
700
600
500
400
300
200
100
0
0
100
200
300
identity
400
500
600
700
800
900
total promised
1000
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
wu(xu)
$50
$5000
xu
wa(xa)
$50
$2500
xa
• 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:ua$50
u
(x )
u (xu)
a
$50
1 util
1 util
$100
xu
$50
xa
w(uu(xu)+ua(xa))
u
50 utils u (xu)+
ua(xa)
The general form of a bid
(utils)
(utils)
u1(x1)
u2(x2)
(utils)
um(xm)
…
x1 ($)
x2 ($)
($)
w(u1(x1) + u2(x2)+ … + um(xm))
u1(x1) + u2(x2)+ … + um(xm) (utils)
xm ($)
What to do with the bids?
•
•
Decide x1, x2, …, xm (total payment to each charity)
Decide y1, y2, …, yn (total payment by each bidder)
y1
x1
y2
x2
• 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)
Objective
•
Among valid outcomes, find one that maximizes
• Total donated = x1+ x2 + … + xm
y1
x1
y2
x2
• Surplus = y1 + y2 + …+ yn - x1 - x2 - … - xm
y1
x1
y2
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
w(u1(x1) + u2(x2)+ … + um(xm))
– y1 + y2 + …+ yn - x1 - x2 - … - xm ≥ 0
– For all j: yj ≤ wj(uj1 + uj2 + … + ujm)
– For all i, j: uji ≤ uji(xi)
nonlinear
u1(x1) + u2(x2)+ … + um(xm) (utils)
nonlinear
(utils)
u1(x1)
(utils)
u2(x2)
(utils)
um(xm)
…
x1 ($)
x2 ($)
xm ($)
Concave piecewise linear constraints
l1(x)
l2(x)
l3(x)
b(x)
y ≤ b(x)
y ≤ l1(x)
y ≤ l2(x)
y ≤ l3(x)
x
Good news…
• So, if all the bids are concave…
– All the uji are concave (utils)
– All the wj are concave
($)
uji(xi)
wj(uj)
xi ($)
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
6
3
1
5
5
1
10
4
1
2
6
Total utility = 10 + 5 + 1 + 6 = 22
Total cost = 3 + 5 + 6 + 1 + 2 = 17
Surplus = 22 - 17 = 5
2
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
1
10
1
2
6
4
2
Serious deficit for the Clarke
mechanism
1
2
0
2
The Shapley mechanism
• Iterative mechanism
3
• Start with everyone
3/2 = 1.5 1
included
• Divide the cost of an
5
6/4 + 1/2
=2
edge among agents that
10
make use of it
3/2 + 5 = 6.5
2
• Note that this sets too
6
high a price for some
6/4 + 1/2
users…
+2=4
6
1
1
6/4 = 1.5
5
4
2
6/4 + 4 =
5.5
Shapley mechanism continued…
• … so we drop those users
• Recalculate prices for
6
3
remaining users
1
• Repeat until convergence
5
• ~ ascending auction (prices
1
keep increasing)
10
1
• Might as well stay in until
3+5=8
price too high
2
• Generalization: use any cost
6
sharing function so that
6/2 + 1 + 2 = 6
prices only increase (Moulin
mechanisms)
6/2 = 3
5
4
2
Serious inefficiency for the Shapley
mechanism
1.1
0
0
0
0
0
…
1
1/2
1/3
1/k
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
Download