Charitable donations public goods cost sharing
Download
1 / 33

Charitable donations, public goods, cost sharing - PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Charitable donations, public goods, cost sharing' - cole-lynn


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

One donor bidder
One donor (bidder)

u( ) = 1

u( ) = .8

U = 1


Two independent donors
Two independent donors

u( ) = 1

u( ) = .8

u( ) = 1

u( ) = .8

U = 1

U = 1


Two donors with a contract
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

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
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
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
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
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
Bid 1

maximum payment

w(x)

Budget

$50

$30

$10

x = total payment

$100

$10

$500


Bid 2
Bid 2

maximum payment

w(x)

Budget

$75

$45

$15

x = total payment

$100

$10

$500


Current solution
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
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
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
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
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
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
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
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
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
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
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
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
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
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
“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
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
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
Serious inefficiency for the Shapley mechanism

1.1

0

0

0

0

0

1/k

1

1/2

1/3


Results
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


ad