Slides: Algorithmic mechanism design.

advertisement
SECOND PART:
Algorithmic Mechanism Design
Implementation theory


Imagine a “planner” who develops criteria for
social welfare, but cannot enforce the desirable
allocation directly, as he lacks information about
several parameters of the situation. A mean
then has to be found to “implement” such
criteria.
Subfield of economic theory with an engineering
perspective: Designs economic mechanisms like
computer scientists design algorithms,
protocols, systems, …
The implementation problem

Given:



An economic system comprising of selfinterested, rational agents, which hold some
private preferences
A system-wide goal (social-choice function)
Question:

Does there exist a mechanism that can
enforce (through suitable economic incentives)
the selfish agents to behave in such a way
that the desired goal is implemented?
An example: auctions
t1=10
t2=12
t3=7
r1=11
r2=10
Social-choice function:
the winner should be the
guy having in mind the
highest value for the
painting
ri: is the amount of
money player i bids
(in a sealed
envelope) for the
painting
r3=7
The mechanism tells to players:
ti: is the maximum amount of money
player i is willing to pay for the painting
(1) How the item will be allocated
(i.e., who will be the winner)
(2) The payment the winner has to
return, as a function of the
received bids
If player i wins and has to pay p
his utility is ui=ti-p
A simple mechanism: no payment
t1=10
t2=12
t3=7
r1=+
?!?
r2=+
r3=+
Mechanism: The highest bid wins
and the price of the item
is 0
…it doesn’t work…
Another simple mechanism: pay your bid
t1=10
t2=12
t3=7
r1=9
The winner
is player 1
and he’ll pay
9
Is it the right
choice?
r2=8
r3=6
Mechanism: The highest bid wins
and the winner will pay his bid
Player i may bid ri< ti (in this way he is
guaranteed not to incur a negative utility)
…and so the winner could be the wrong one…
…it doesn’t work…
An elegant solution: Vickrey’s second price auction
t1=10
t2=12
t3=7
r1=10
The winner
is player 2
and he’ll pay
10
I know they
are not lying
r2=12
r3=7
Mechanism: The highest bid wins
and the winner will pay the second
highest bid
every player has convenience
to declare the truth!
(we prove it in the next slide)
Theorem
In the Vickrey auction, for every player i, ri=ti is a
dominant strategy
proof
Fix i, ti, r-i, and look at strategies for player i. Let R= maxji {rj}
Case: ti ≥ R
Declaring ri=ti gives utility ui= ti-R ≥ 0 (player wins)
declaring ri > ti ≥ R gives the same utility (player wins)
declaring R < ri < ti gives the same utility (player wins)
declaring ri < R ≤ ti yields ui=0 (player loses)
Case: ti < R
Declaring ri=ti gives utility ui= 0 (player loses)
declaring ri < ti < R gives the same utility (player loses)
declaring ti < ri < R gives the same utility (player loses)
declaring ri > R > ti yields ui= ti-R < 0 (player wins)
Mechanism Design Problem:
ingredients

N agents; each agent i, i=1,..,N, has some private
information tiTi (actually, the only private info) called
type


Vickrey’s auction: the type is the painting value the agents have in
mind, and so Ti is the set of positive reals
A set of feasible outcomes X

Vickrey’s auction: X is the set of agents (bidders)
Mechanism Design Problem:
ingredients (2)

For each vector of types t=(t1, t2, …, tN), and for each
feasible outcome xX, a social-choice function f(t,x)
measures the quality of x as a function of t. This is the
function that the mechanism aims to implement (i.e., it aims
to select an outcome x* that minimizes/maximizes it), but
the problem is that types are unknown!


Vickrey’s auction: f(t,x) is the type associated with x (namely, a
bidder x), and the objective is to maximize f, i.e., allocate to the
bidder with highest type
Each agent has a strategy space Si and performs a
strategic action; we restrict ourself to direct revelation
mechanisms, in which the action is reporting a value ri from
the type space (with possibly ri  ti), i.e., Si = Ti

Vickrey’s auction: the action is to bid a value ri
Mechanism Design Problem:
ingredients (3)

For each feasible outcome xX, each agent makes a valuation vi(ti,x)
(in terms of some common currency), expressing its preference about
that output x


For each feasible outcome xX, each agent receives/gives (this
depends on the problem) a payment pi(x) in terms of the common
currency; payments are used by the system to incentive agents to be
collaborative.


Vickrey’s auction: if agent i wins the auction then its valuation is equal to
its type ti, otherwise it is 0
Vickrey’s auction: if agent i wins the auction then he returns a payment
equal to -rj, where rj is the second highest bid, otherwise it is 0
Then, for each feasible outcome xX, the utility of agent i coming
from outcome x will be:
ui(ti,x) = pi(x) + vi(ti,x)

Vickrey’s auction: if agent i wins the auction then its utility is equal to
ui = -rj+ti ≥ 0, where rj is the second highest bid, otherwise it is ui = 0+0=0
Mechanism Design Problem:
the goal
Given all the above ingredients, design a mechanism
M=<g(r), p(x)>, where:


g(r) is an algorithm which computes an outcome x=x(r)X as a
function of the reported types r
p(x) =(p1,…,pN) is a payment scheme w.r.t. outcome x specifying a
payment value for each player
which implements the social-choice function f in equilibrium
(according to a given solution concept, e.g., dominant
strategy equilibrium, Nash equilibrium, etc.), w.r.t. players’
utilities.
(In other words, there exists a reported type vector r* for which the
mechanism provides a solution x(r*) and a payment scheme p(x(r*)) such
that players’ utilities ui(ti, x(r*)) = pi(x(r*)) + vi(ti, x(r*)) are in
equilibrium, and f(t, x(r*)) is optimal (either minimum or maximum))
Mechanism Design: a picture
Private “types”
t1
tN
Reported types
Agent 1
Agent N
r1
p1
rN
pN
Payments
System
“I propose
to you the
following
mechanism
M=<g(r), p>”
Output
which
should
implement
the social
choice
function in
equilibrium
w.r.t.
agents’
utilities
Each agent reports strategically to maximize its well-being…
…in response to a payment which is a function of the output!
Implementation with
dominant strategies
Def.: A mechanism is an implementation with
dominant strategies if the s.c.f. f is implemented
in dominant strategy equilibrium, i.e., there
exists a reported type vector r*=(r1*, r2*, …, rN*)
such that for each agent i and for each reported
type vector r =(r1, r2, …, rN), it holds:
ui(ti,x(r-i,ri*)) ≥ ui(ti,x(r))
where x(r-i,ri*)=x(r1, …, ri-1, ri*, ri+1,…, rN), and
f(t,x(r*)) is optimized.
Strategy-Proof Mechanisms

If truth telling is the dominant strategy in a
mechanism then it is called Strategy-Proof
or truthful  r*=t.
 Agents report their true types instead of
strategically manipulating it
 The algorithm of the mechanism runs on the
true input
Truthful Mechanism Design:
Economics Issues
QUESTION: How to design a truthful
mechanism? Or, in other words:
1.
2.
How to design g(r), and
How to define the payment scheme
in such a way that the underlying socialchoice function is implemented
truthfully? Under which conditions can
this be done?
A prominent class of problems

Utilitarian problems: A problem is
utilitarian if its social-choice function
is such that f(t,x) = i vi(ti,x)
notice: the auction problem is utilitarian, and so they are all
problems where the s.c.f. is separately-additive w.r.t. agents’
valuations, as in many network optimization problems…
Good news: for utilitarian problems there is a class of
truthful mechanisms 
Vickrey-Clarke-Groves (VCG)
Mechanisms

A VCG-mechanism is (the only) strategy-proof
mechanism for utilitarian problems:

Algorithm g(r) computes:
x = arg maxyX i vi(ri,y)


Payment function for player i:
pi (x) = hi(r-i) + j≠i vj(rj,x)
where hi(r-i) is an arbitrary function of the
reported types of players other than player i.
What about non-utilitarian problems? Strategyproof mechanisms are known only when the type is
a single parameter.
Theorem
VCG-mechanisms are truthful for utilitarian problems
proof
Fix i, r-i, ti. Let ř=(r-i,ti) and consider a strategy riti
x=g(r-i,ti) =g(ř)
x’=g(r-i,ri)
ui(ti,x) = [hi(r-i) + jivj(rj,x)] + vi(ti,x) = hi(r-i) + jvj(řj,x)
ui(ti,x’) = [hi(r-i) + jivj(rj,x’)] + vi(ti,x’) = hi(r-i) + jvj(řj,x’)
but x is an optimal solution w.r.t. ř =(r-i,ti), i.e.,
x = arg maxyX
jvj(řj,x) ≥ jvj(řj,x’)
i v (ř,y)
i
ui(ti,x)  ui(ti,x’).
How to define hi(r-i)?
Remark: not all functions make sense. For instance, what
happens in our example of the Vickrey auction if we set for
every agent hi(r-i)=-1000 (notice this is independent of
reported value ri of agent i, and so it obeys the definition)?
Answer: It happens that players’ utility become negative;
more precisely, the winner’s utility is
ui(ti,x) = pi(x) + vi(ti,x) = hi(r-i) + j≠i vj(rj,x) + vi(ti,x) = -1000+0+12 = -988
while utility of losers is
ui(ti,x) = pi(x) + vi(ti,x) = hi(r-i) + j≠i vj(rj,x) + vi(ti,x) = -1000+12+0 = -988
This is undesirable in reality, since with such perspective
agents would not partecipate to the auction!
The Clarke payments
solution maximizing the sum
of valuations when i doesn’t play

This is a special VCG-mechanism in which
hi(r-i)=-j≠i vj(rj,x(r-i))
 pi(x) = -j≠i vj(rj,x(r-i)) +j≠i vj(rj,x)
With Clarke payments, one can prove that
agents’ utility are always non-negative
 agents are interested in playing the game

The Vickrey’s auction is a VCG
mechanism with Clarke payments

Observe that auctions are utilitarian problem. Then, the
VCG-mechanism associated with the Vickrey’s auction is:

x=arg maxyX i vi(ri,y)
…this is equivalent to allocate to the bidder with highest reported
cost (in the end, the highest type, since it is strategy-proof)

pi = -j≠i vj(rj,x(r-i)) +j≠i vj(rj,x)
…this is equivalent to say that the winner pays the second highest
offer, and the losers pay 0, respectively
Remark: the difference between the second highest
offer and the highest offer is unbounded (frugality
issue)
VCG-Mechanisms: Advantages

For System Designer:


The goal, i.e., the optimization of the
social-choice function, is achieved with
certainty
For Agents:

Agents have truth telling as the
dominant strategy, so they need not
require any computational systems to
deliberate about other agents strategies
VCG-Mechanisms: Disadvantages

For System Designer:
The payments may be sub-optimal (frugality)
 Apparently, the system may need to run the
mechanism’s algorithm N+1 times: once with all agents
(for computing the outcome x), and once for every
agent (for the associated payment)
 If the problem is hard to solve then the computational
cost may be very heavy


For Agents:

Agents may not like to tell the truth to the system
designer as it can be used in other ways.
Mechanism Design:
Algorithmic Issues
QUESTION: What is the time complexity of the
mechanism? Or, in other words:
 What is the time complexity of g(r)?
 What is the time complexity to calculate the N
payment functions?
 What does it happen if it is NP-hard to implement
the underlying social-choice function?
Question: What is the time complexity of the Vickrey auction?
Answer: Θ(N), where N is the number of players. Indeed, it suffices
to check all the offers, by keeping track of the lowest and second
lowest one.
Algorithmic mechanism
design and network protocols

Large networks (e.g., Internet) are built
and controlled by diverse and competitive
entities:


Entities own different components of the
network and hold private information
Entities are selfish and have different
preferences
 MD is a useful tool to design protocols
working in such an environment, but time
complexity is an important issue due to the
massive network size
Algorithmic mechanism design for
network optimization problems
Simplifying the Internet model, we assume that
each agent owns a single edge of a graph
G=(V,E), and establishes the cost for using it
 Classic optimization problems on G become
mechanism design optimization problems in which
the agent’s type is the weight of the edge!
 Many basic network design problems have been
faced: shortest path (SP), single-source shortest
paths tree (SPT), minimum spanning tree (MST),
and many others

Some remarks


In general, network optimization problems are
minimization problems (the Vickrey’s auction was
instead a maximization problem)
However, we have:



for each xX, the valuation function vi(ti,x)
represents a cost incurred by player i in the solution
x (and so it is a negative function of its types)
the social-choice function f(t,x) is negative (since it is
the sum of negative functions), and so its
maximization (as computed by the algorithm of the
VCG-mechanism) corresponds to a minimization of the
sum of absolute values of the valuation functions
payments are from the mechanism to agents
Summary of main results
Centralized
algorithm
Selfish-edge
mechanism
SP
O(m+n log n)
O(m+n log n)
SPT
O(m+n log n)
O(m+n log n)
MST
O(m (m,n))
O(m (m,n))
 For all these basic problems, the time
complexity of the mechanism equals that of the
canonical centralized algorithm!
Exercise: redefine the Vickrey auction
I want to
in the minimization version
t1=10
r1=10
The winner
is machine 3
and it will
receive 10
t2=12
r2=12
t3=7
allocate the job
to the true
cheapest machine
job to be
allocated
to
machines
r3=7
ti: cost incurred by i if he does the job
if machine i is selected and receives
a payment of p its utility is p-ti
Once again, the second price
auction works:
the cheapest bid wins
and the winner will
get the second
cheapest bid
Download