算法博弈论 W44 Mechanism design with payment constraints
Budget constraints
limit the amount of money that an agent can pay
in practice: in a sponsored search auction, every bidder is asked for her bid-per-click and her daily budget.
small but drastic change in modeling the behavior of participant with budget and valuation .
utility for outcome with payment
A single-item auction with budget constraints
given the item to a random participant
payment = 0
Can we do better with DSIC auctions?
scenario: bidder for a single items. Budgets of 1 for each bidder. Is there a (nearly) social welfare maximizing DSIC mechanism?
use a priority order of the agents if those agents of value greater than 1, give the item to agent to highest priority.
Multi-unit auctions
identical items, each participant has a valuation for each item and can get more than one items. (valuation for items)
public budgets (known to the seller in advance)
market clearing price: aggregate demand = supply
Demand of participant at price
. the demand is decreasing in terms of price.
drops in demand can be from an arbitrary positive integer to 0 (when price gets higher than the valuation) or by a unit (decrease of quantity )
aggregate demand:
Uniform-price auction
- let be the price that equalizes the supply with the demand, i.e.,
- award items to each participant at price .
- decide arbitrarily the number of items given to participants with so that all items are sold
some fact:
uniform-price auction is not DSIC:
e.g. 2 copies, 2 agent: .
assume truthful bids:
if price < 5, the aggregate demand is
when the price becomes 5,
so the uniform-price auction gives 2 items to participant 1 at price 5, utility = 2.
assume participant 1 misreport 3 as her bid,
if price < 3, the aggregate demand is
when the price becomes 3, (其实这里没有定义,因为有剩余的物品,所以就给了), .
so the uniform-price auction gives 1 item to participant 1 at price 3, utility = 3.
in addition, the uniform-price auction
- respects participants’ budgets
- monotone allocation rule
- wrong payments
Clinching auction
together with the current price , the auction keeps track of the current demands (initially ) and the residual budget for every participant
residual demand:
the auction iteratively increases the current price and participant “clinches” some items at price whenever they are uncontested, i.e., when the aggregate residual demand of the remaining participants is strictly lower than the current supply .
Pseudo-code
Initialization: for every participant .
While (there is supply)
increase price to the next higher value of or the next value for some integer
let be the participant with the highest residual demand .
While (low residual demand ignoring participant )
if (high aggregate demand)
give an item to participant at price . decrease by and by .
recompute the participant with the highest residual demand
otherwise, if (low aggregate demand)
give item to every participant at price
give items to participants with
set
An example
2 items, 2 participants:
assuming truthful bids, the first item is given to participant 1 at price and the second one at price . (utility=4.5)
does the participant have any incentive to misreport? NO. we’ll proof later.
The clinching auction in addition
- always terminates
- allocates exactly items
- respects budgets
- DSIC when budgets are public
why?
The allocation rule is monotone and the payments are the ones defined using Myerson’s Lemma
DSIC proof:
- assuming public budgets, the only control participant has is in the moment is when she stops participating
- every item clinched with price (), contributes positively (negatively) to the utility
- thus, truth-telling guarantees non-negative utility
- with a false bid , the auction behaves the same up to the price and, then, participant can’t claim items she would clinch in the interval and which would increase the utility.
- with a false bid , the auction behaves the same up to price and any additional items participant may get at price will decrease her utility.
Mechanism design without money
House allocation
- participants, each with her own house
- each participant has a ranking of all houses.
- how can we redistribute the houses s.t. the participants are as happy as possible?
- Top trading cycle (TTC) algorithm
Top trading cycle algorithm
: set of participants
while
- construct the directed graph with the participants as nodes and edge if the most preferred house for participant is that belonging to .
- compute all directed cycles in
- for every edge of ever cycle , give the house of to
- remove the nodes of from set .
Some facts
- algorithm TTC is DSIC
- first, every participant who gets a house at round
- prefers it compared to any other house, besides the ones given in earlier rounds
- got it from someone who also got a house in round
- proof idea: no false reporting can give to participant a house that was given in a previous round
- why? in any previous round, there is no edge from someone who got a house to participant .
- interesting: the algorithm that sometimes doesn’t redistribute any house is DSIC.
block coalition: a set of participants s.t. there is a way to redistribute their houses so that all prefer the new allocation
core allocation: an allocation that has no blocking coalition
The allocation computed by TTC is the unique core allocation
Proof:
step 1: an allocation of houses to agents can be in the core only if it is the outcome of the TTC algorithm
any allocation in the core should look like the outcome of the TTC algorithm regularizing the house allocated to agents of group . otherwise, would be a blocking coalition.
step 2: it is indeed a core allocation
consider any set of agents , different from
这样会导致 中有的智能体在分配新房子的时候分到没有之前那么喜欢的房子。