second part: algorithmic mechanism design
DESCRIPTION
SECOND PART: Algorithmic Mechanism Design. Implementation theory. - PowerPoint PPT PresentationTRANSCRIPT
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 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?
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
The mechanism tells to players:
(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
ti: is the maximum amount of moneyplayer i is willing to pay for the painting
If player i wins and has to pay phis utility is ui=ti-p
ri: is the amount of money player i bids (in a sealed envelope) for the painting
r3=7
A simple mechanism: no payment
t1=10
t2=12
t3=7
r1=+
r2=+
r3=+
…it doesn’t work…
?!?
Mechanism: The highest bid winsand the price of the item
is 0
Another simple mechanism: pay your bid
t1=10
t2=12
t3=7
r1=9
r2=8
r3=6
Is it the right choice?
Mechanism: The highest bid winsand the winner will pay his bid
The winner is player 1 and he’ll
pay 9
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
r2=12
r3=7
every player has convenience to declare the truth!
(we prove it in the next slide)
I know they are not lying
Mechanism: The highest bid winsand the winner will pay the secondhighest bid
The winner is player 2 and he’ll pay 10
TheoremIn the Vickrey auction, for every player i, ri=ti is adominant strategy
proofFix i, ti, r-i, and look at strategies for player i. Let R= maxji {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)
Case: ti < R
Declaring ri=ti gives utility ui= 0 (player loses)
declaring ri < ti < R gives the same utility (player loses)
declaring ri > R > ti yields ui= ti-R < 0 (player wins)
declaring ri < R ≤ ti yields ui=0 (player loses)
declaring ti < ri < R gives the same utility (player loses)
Mechanism Design Problem: ingredients
N agents; each agent i, i=1,..,N, has some private information tiTi (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 xX, 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 xX, each agent makes a valuation vi(ti,x) (in terms of some common currency), expressing its preference about that output x
Vickrey’s auction: if agent i wins the auction then its valuation is equal to its type ti, otherwise it is 0
For each feasible outcome xX, 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 he returns a payment equal to -rj, where rj is the second highest bid, otherwise it is 0
Then, for each feasible outcome xX, 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
System
Agent 1
Agent N
“I propose to you the following mechanism M=<g(r), p>”
p1
pN
tN
t
1r
1
r
N
Private “types” Reported types
Payments
Output which should implement the social choice function in equilibrium w.r.t. agents’ utilitiesEach 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 itThe 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. How to design g(r), and2. 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?
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
A prominent class of problems
Vickrey-Clarke-Groves (VCG) Mechanisms
A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems: Algorithm g(r) computes:
x = arg maxyX 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.
TheoremVCG-mechanisms are truthful for utilitarian problems
proofFix i, r-i, ti. Let ř=(r-i,ti) and consider a strategy riti
x=g(r-i,ti) =g(ř) x’=g(r-i,ri)
ui(ti,x) =ui(ti,x’) =
[hi(r-i) + jivj(rj,x)] + vi(ti,x)
[hi(r-i) + jivj(rj,x’)] + vi(ti,x’)
= hi(r-
i)= hi(r-i)
+ jvj(řj,x)
+ jvj(řj,x’)
but x is an optimal solution w.r.t. ř =(r-i,ti), i.e.,
x = arg maxyX i vi(ř,y)
jvj(řj,x) ≥ jvj(řj,x’) 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 isui(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
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
solution maximizing the sumof valuations when i doesn’t play
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 maxyX 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 xX, 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 in the minimization version
t1=10
t2=12
t3=7
r1=10
r2=12
r3=7
I want to allocate the job
to the true cheapest machine
Once again, the second price auction works:
the cheapest bid winsand the winner will
get the secondcheapest bid
The winner is machine 3 and it will receive 10
job to be
allocated to
machines
job to be
allocated to
machines
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