Title: SECOND PART:
1- SECOND PART
- Algorithmic Mechanism Design
2Implementation 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,
3The implementation problem
- Given
- An economic system comprising of self-interested,
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?
4An example auctions
Social-choice function the winner should be the
guy having in mind the highest value for the
painting
t110
r111
ri is the amount of money player i bids (in a
sealed envelope) for the painting
t212
r210
t37
r37
- The mechanism tells to players
- 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
ti is the maximum amount of money player i is
willing to pay for the painting
If player i wins and has to pay p his utility is
uiti-p
5A simple mechanism no payment
t110
r1?
?!?
t212
r2?
t37
r3?
Mechanism The highest bid wins and the price of
the item is 0
it doesnt work
6Another simple mechanism pay your bid
Is it the right choice?
t110
The winner is player 1 and hell pay 9
r19
t212
r28
t37
r36
Mechanism The highest bid wins and the winner
will pay his bid
Player i may bid rilt ti (in this way he is
guaranteed not to incur a negative utility)
and so the winner could be the wrong one
it doesnt work
7An elegant solution Vickreys second price
auction
I know they are not lying
t110
The winner is player 2 and hell pay 10
r110
t212
r212
t37
r37
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)
8Theorem
In the Vickrey auction, for every player i, riti
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 riti gives utility ui ti-R 0
(player wins)
declaring ri gt ti R gives the same utility
(player wins)
declaring R lt ri lt ti gives the same utility
(player wins)
declaring ri lt R ti yields ui0 (player loses)
Case ti lt R
Declaring riti gives utility ui 0 (player
loses)
declaring ri lt ti lt R gives the same utility
(player loses)
declaring ti lt ri lt R gives the same utility
(player loses)
declaring ri gt R gt ti yields ui ti-R lt 0 (player
wins)
9Mechanism Design Problem ingredients
- N agents each agent i, i1,..,N, has some
private information ti?Ti (actually, the only
private info) called type - Vickreys 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
- Vickreys auction X is the set of agents
(bidders)
10Mechanism 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! - Vickreys 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 - Vickreys auction the action is to bid a value
ri
11Mechanism 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 - Vickreys auction if agent i wins the auction
then its valuation is equal to its type ti,
otherwise it is 0 - 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. - Vickreys 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)
- Vickreys auction if agent i wins the auction
then its utility is equal to - ui -rjti 0, where rj is the second highest
bid, otherwise it is ui 000
12Mechanism Design Problem the goal
- Given all the above ingredients, design a
mechanism Mltg(r), p(x)gt, where - g(r) is an algorithm which computes an outcome
xx(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))
13Mechanism Design a picture
Output which should implement the social choice
function in equilibrium w.r.t. agents utilities
Private types
Reported types
I propose to you the following mechanism
Mltg(r), pgt
t 1
r 1
p1
Agent 1
tN
r N
pN
Agent N
Payments
Each agent reports strategically to maximize its
well-being
in response to a payment which is a function of
the output!
14Implementation 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, ri1,, rN),
and f(t,x(r)) is optimized.
15Strategy-Proof Mechanisms
- If truth telling is the dominant strategy in a
mechanism then it is called Strategy-Proof or
truthful ? rt. - ? Agents report their true types instead of
strategically manipulating it - ? The algorithm of the mechanism runs on the
true input
16Truthful Mechanism Design Economics Issues
- QUESTION How to design a truthful mechanism? Or,
in other words - How to design g(r), and
- How to define the payment scheme
- in such a way that the underlying social-choice
function is implemented truthfully? Under which
conditions can this be done?
17A 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 ?
18Vickrey-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?
Strategy-proof mechanisms are known only when the
type is a single parameter.
19Theorem
VCG-mechanisms are truthful for utilitarian
problems
proof
Fix i, r-i, ti. Let r(r-i,ti) and consider a
strategy ri?ti
xg(r-i,ti) g(r) xg(r-i,ri)
?jvj(rj,x)
hi(r-i)
?j?ivj(rj,x) vi(ti,x)
hi(r-i)
ui(ti,x)
ui(ti,x)
?jvj(rj,x)
hi(r-i)
?j?ivj(rj,x) vi(ti,x)
hi(r-i)
but x is an optimal solution w.r.t. r (r-i,ti),
i.e., x arg maxy?X ?i vi(r,y)
ui(ti,x) ? ui(ti,x).
?jvj(rj,x)
?jvj(rj,x)
20How 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
winners utility is ui(ti,x) pi(x) vi(ti,x)
hi(r-i) ?j?i vj(rj,x) vi(ti,x) -1000012
-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) -1000120 -988 ?This is
undesirable in reality, since with such
perspective agents would not partecipate to the
auction!
21The Clarke payments
solution maximizing the sum of valuations when i
doesnt 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
22The Vickreys auction is a VCG mechanism with
Clarke payments
- Observe that auctions are utilitarian problem.
Then, the VCG-mechanism associated with the
Vickreys auction is - xarg 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)
23VCG-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
24VCG-Mechanisms Disadvantages
- For System Designer
- The payments may be sub-optimal (frugality)
- Apparently, the system may need to run the
mechanisms algorithm N1 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.
25Mechanism 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 T(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.
26 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
27Algorithmic 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 agents 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
28Some remarks
- In general, network optimization problems are
minimization problems (the Vickreys 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
29Summary of main results
Centralized algorithm Selfish-edge mechanism
SP O(mn log n) O(mn log n)
SPT O(mn log n) O(mn 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!
30Exercise redefine the Vickrey auction in the
minimization version
I want to allocate the job to the true cheapest
machine
The winner is machine 3 and it will receive 10
t110
r110
t212
job to be allocated to machines
r212
t37
r37
Once again, the second price auction works the
cheapest bid wins and the winner will get the
second cheapest bid
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