algorithmic mechanism design: an introduction (with an eye to some basic network optimization...

43
Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica University of L'Aquila [email protected]

Upload: magnus-hood

Post on 17-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Algorithmic Mechanism Design: an Introduction

(with an eye to some basic network optimization problems)

Guido ProiettiDipartimento di Ingegneria e Scienze dell'Informazione e Matematica

University of L'[email protected]

Page 2: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Roadmap

1. (Tuesday January 14, 2014, 11-13): Reviews of basics of game theory. The implementation problem. An example: second-price auction. Mechanism design. Strategy-proof mechanisms. Utilitarian problems. VCG mechanisms. Clarke payments.

2. (Thursday January 16, 2014, 16-18): Computational aspects of mechanisms. VCG-mechanism for the private-edge Shortest-Path problem. Trivial implementation and efficient O(m + n log n) time implementation.

3. (Friday January 17, 2014, 11-13): VCG-mechanism for the private-edge Minimum Spanning Tree problem. Trivial implementation and efficient O(m α(m,n)) time implementation.

4. (Tuesday January 21, 2014, 11-13): Non-utilitarian, one-parameter problems. One-parameter mechanisms. One-parameter mechanism for the private-edge Shortest-Paths Tree problem. Trivial implementation and efficient O(m + n log n) time implementation.

5. (Thursday January 23, 2014, 16-18): Approximate one-parameter mechanisms: the single-minded combinatorial auction problem.

Page 3: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Suggested readings

Algorithmic Mechanism Design, Noam Nisan and Amir Ronen, STOC’99, ACM Press, www.cs.huji.ac.il/~noam/selfishJ.ps.

Algorithmic Game Theory, Edited by Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V. Vazirani, Cambridge University Press, 2007.

Blog by Noam Nisan http://agtb.wordpress.com/

Page 4: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Algorithmic game theory

It aims to answer the following fundamental

question: How the computational aspects of a

game (in standard theoretical computer science

terminology, a set of self-interested agents of a

strategic distributed system) should be

addressed? Theory of Algorithms

Game Theory

AlgorithmicGame Theory

+=

Page 5: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Review of basics of Game Theory (informally)

A game consists of: A set of N players (or agents) A specification of the information available to each

player A set of rules of encounter: Who should act when,

and what are the possible actions (strategies) A specification of payoffs for each possible

outcome (combination of strategies) of the game Game Theory studies the interaction among the

players, and attempts to predict the final outcomes (or solutions) of the game by taking into account the individual behavior of the players

Page 6: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Solution concept

How do we establish that an outcome is a solution? Among the possible outcomes of a game, those enjoying the following property play a fundamental role:

Equilibrium solution: strategy combination in which players are not willing to change their state.

This is quite informal: when a player does not want to

change her state? In the Homo Economicus model, this makes sense when she has selected a strategy that maximizes her individual payoff, knowing that other players are also doing the same.

Page 7: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

A famous warm-up game: the Prisoner’s Dilemma

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

1, 1 6, 0

Implicate 0, 6 5, 5

StrategySet

Strategy Set

Payoffs

Technically speaking: Non-cooperative, symmetric, non-zero sum, simultaneous, perfect information, one-shot, 2-player game

Page 8: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Prisoner I’s decision

Prisoner I’s decision: If II chooses Don’t Implicate then it is best to Implicate If II chooses Implicate then it is best to Implicate It is best to Implicate for I, regardless of what II does:

Dominant Strategy

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

1, 1 6, 0

Implicate 0, 6 5, 5

Page 9: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Prisoner II’s decision

Prisoner II’s decision: If I chooses Don’t Implicate then it is best to Implicate If I chooses Implicate then it is best to Implicate It is best to Implicate for II, regardless of what I does:

Dominant Strategy

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

1, 1 6, 0

Implicate 0, 6 5, 5

Page 10: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Hence…

It is best for both to implicate regardless of what the other one does Implicate is a Dominant Strategy for both (Implicate, Implicate) becomes the Dominant Strategy Equilibrium Note: If they might collude, then it’s beneficial for both to Not

Implicate, but it’s not an equilibrium as both have incentive to deviate

Prisoner I

Prisoner II

Don’t Implicate

Implicate

Don’t Implicate

1, 1 6, 0

Implicate 0, 6 5, 5

Page 11: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Dominant Strategy Equilibrium

Dominant Strategy Equilibrium: this is a strategy combination s*= (s1

*, s2*, …, sN

*), such that si* is a

dominant strategy for each i, namely, for any possible alternative strategy profile s= (s1, s2, …, si , …, sN):

pi (s1, s2, …, si

*, …, sN) ≥ pi (s1, s2, …, si, …, sN)

Dominant Strategy is a best response to any strategy of other players: in other words, a player needs not to know payoffs of other players in order to decide her action!

If a game has a DSE, then players will immediately converge to it

Of course, not all games (only very few in the practice!) have a dominant strategy equilibrium

Page 12: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

A more relaxed solution concept: Nash Equilibrium [1951]

Nash Equilibrium: this is a strategy combination s*= (s1

*, s2*, …, sN

*) such that for each i, si* is a

best response to (s1*, …,si-1

*,si+1*,…, sN

*), namely, for any possible alternative strategy si of player i

pi (s1

*, s2*, …, si

*, …, sN*) ≥ pi

(s1*, s2

*, …, si, …, sN

*)

Page 13: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Nash Equilibrium

In a NE no agent unilaterally deviates from her strategy given others’ strategies as fixed (i.e., each agent has to take into consideration the strategies of the other agents)

If the game is played repeatedly and players converge to a solution, then it has to be a NE, but if a game has one or more NE, players need not to converge to it

Dominant Strategy Equilibrium Nash Equilibrium (but the converse is not true)

Page 14: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Nash Equilibrium: The Battle of the Sexes (coordination game)

(Stadium, Stadium) is a NE: Best responses to each other

(Cinema, Cinema) is a NE: Best responses to each other

but they are not Dominant Strategy Equilibria … are we really sure they will eventually go out together????

Man

Woman

Stadium Cinema

Stadium 2, 1 0, 0

Cinema 0, 0 1, 2

Page 15: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

The implementation problem (informally)

Imagine now that you are a planner who develops criteria for social welfare, and you want to design a game such that the equilibrium of the game conforms to some concept of social optimality (i.e., aggregation of players’ preferences w.r.t. to a certain outcome). However, these preferences of individuals are now private, and so you have to disclose them in order to precisely evaluate the social utility of a certain outcome. Observe that it may be in the best interest of some agent to lie about her preferences: Indeed, this may lead to a certain outcome which improves its personal benefit, regardless if this may negatively affect other agents! Thus, in this strategic setting, which techniques can be used to convince players to cooperate honestly with the system? In one word, incentive them to reveal the truth!

Page 16: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

The implementation problem (a bit more formally)

Given: An economic system comprising of

self-interested, rational players, which hold some secret information

A system-wide goal (social-choice function (SCF), i.e., an aggregation of players’ preferences)

Question: Does there exist a mechanism that

can enforce (through suitable economic incentives) the players to behave in such a way that the desired goal is implemented (i.e., the outcome of the interaction is an equilibrium in which the SCF is optimized)?

Page 17: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Designing a Mechanism Informally, designing a mechanism means to

define a game in which a desired outcome must be reached (in equilibrium)

However, games induced by mechanisms are games with incomplete information: Players hold independent private values The payoff are a function of these types, and so

each player doesn’t really know about the other players’ payoffs, but only about her one!

The DSE is a suitable solution concept here, since no knowledge about other players’ payoff (i.e., preferences) is required

Page 18: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

In poor words…

Game theory aims to investigate rational decision making in conflict situations, whereas mechanism design just concerns the reverse question: given some desirable outcome, can we design a game that produces it (in equilibrium)?

Page 19: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

An example: sealed-bid auctions

t1=10

t2=12

t3=7

r1=11

r2=10

SCF: 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), depending on the received bids

(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 pthen her utility is ui=ti-p, otherwise it is 0

ri: is the amount of money player i bids (in a sealed envelope) for the painting

r3=7

Page 20: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

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

Page 21: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

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 her bid

The winner is player 1

and she will pay 9

Player i may bid ri< ti (in this way she is guaranteed not to incur a negative utility) …and so the winner could be the wrong one…

…it doesn’t work…

Page 22: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

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 she will pay 10

Page 23: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

TheoremIn the Vickrey auction, for every player i, ri=ti is adominant strategy

proof Fix i and ti, and look at strategies for player i. Let R= maxji {rj}

Case ti ≥ R (observe that R is unknown to player i)declaring ri=ti gives utility ui= ti-R ≥ 0 (player wins if ti > R, while if ti = R then player can either win or lose, depending on the tie-breaking rule, but her utility in this case is always 0) declaring any ri > R, ri≠ti, yields again utility ui= ti-R ≥ 0 (player wins)

Case ti < Rdeclaring ri=ti yields utility ui= 0 (player loses) declaring any ri < R, ri≠ti, yields again utility ui= 0 (player loses) declaring any ri > R yields ui= ti-R < 0 (player wins)

declaring any ri < R yields ui=0 (player loses)

In all the cases, reporting a false type produces a not better utility, and so telling the truth is a dominant strategy!

Page 24: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design Problem: ingredients

N players; each player i, i=1,..,N, has some private information tiTi (actually, the only private info) called type

Vickrey’s auction: the type is the value of the painting that a player has in mind, and so Ti is the set of positive real numbers

A set of feasible outcomes X (i.e., the result of the interaction of the players with the mechanism)

Vickrey’s auction: X is the set of players (indeed an outcome of the auction is a winner of it, i.e., a player)

Page 25: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design Problem: ingredients (2)

For each vector of types t=(t1, t2, …, tN), and for each feasible outcome xX, a SCF f(t,x) that 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 a feasible winner x (i.e., any of the players), and the objective is to maximize f, i.e., to allocate the painting to the bidder with highest type

Each player has a strategy space Si and performs a strategic action; we restrict ourselves 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

Page 26: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design Problem: ingredients (3)

For each feasible outcome xX, each player makes a valuation vi(ti,x) (in terms of some common currency), expressing her preference about that output x

Vickrey’s auction: if player i wins the auction then her valuation is equal to her type ti, otherwise it is 0

For each feasible outcome xX, each player receives a payment pi(x) by the system in terms of the common currency (a negative payment means that the agent makes a payment to the system); payments are used by the system to incentive players to be collaborative.

Vickrey’s auction: if player i wins the auction then she makes 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 player i (in terms of the common currency) coming from outcome x will be:

ui(ti,x) = pi(x) + vi(ti,x) Vickrey’s auction: if player i wins the auction then her utility is equal to

ui = -rj+ti ≥ 0, where rj is the second highest bid, otherwise it is ui = 0+0=0

Page 27: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design Problem: the goal

Given all the above ingredients, design a mechanism M=<g, p>, where:

g:T1… TN X is an algorithm which computes an outcome g(r)X as a function of the reported types r

p=(p1,…,pN)N is a payment scheme w.r.t. outcome g(r) that specifies a payment for each player

which implements the SCF f(t,x) in equilibrium w.r.t. players’ utilities (according to a given solution concept, e.g., dominant strategy equilibrium, Nash equilibrium, etc.).(In other words, there exists a reported type vector r* for which the mechanism provides a solution g(r*) and a payment scheme p(g(r*)) such that players’ utilities ui(ti,g(r*)) = pi(g(r*)) + vi(ti,g(r*)) are in equilibrium, and f(t,g(r*)) is optimal (either minimum or maximum))

Page 28: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design: a picture

System

player 1

player N

“I propose to you the following mechanism M=<g, p>”

p1

pN

tN

t

1r

1

r

N

Private “types” Reported types

Payments

Output which should implement the SCF in equilibrium w.r.t. players’ utilities

Each player reports strategically to maximize her well-being…

…in response to a payment which is a function of the output!

Page 29: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Our focus: implementation with dominant strategies

Def.: A mechanism is an implementation with dominant strategies if the SCF f(t,x) is implemented in dominant strategy equilibrium, i.e., there exists a reported type vector r*=(r1

*, r2

*, …, rN*) such that:

1. for each player i and for each reported type vector r =(r1, r2, …, rN), it holds:

ui(ti,g(r-i,ri*)) ≥ ui(ti,g(r))

where g(r-i,ri*)=g(r1, …, ri-1, ri

*, ri+1,…, rN);

2. f(t,g(r*)) is optimized.

Page 30: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Strategy-Proof Mechanisms

If truth telling is the dominant strategy in a mechanism then this is called Strategy-Proof or truthful r*=t, and so players report their true types instead of strategically manipulating it, and the algorithm of the mechanism runs on the true input

Strategy-proof mechanisms are very desirable from a system-wide point of view, since they disclose the true preferences of individuals. Notice, however, that f(t,x) could be also implemented in non-truthful dominant strategy. However, the revelation principle states that if there exists such an implementation, then there exists a truthful implementation as well.

Page 31: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Truthful Mechanism Design: Economics Issues

QUESTION: How to design a truthful mechanism? Or, in other words:

1. How to design algorithm g, and2. How to define the payment scheme p

in such a way that the underlying SCF is implemented truthfully? Under which conditions can this be done?

Page 32: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Mechanism Design: Algorithmic Issues

QUESTION: What is the time complexity of the mechanism? Or, in other words:

What is the time complexity of computing 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 SCF?

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 largest one and of the second largest one.

Page 33: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Utilitarian problems: A problem is utilitarian if its SCF is such that f(t,x) = i vi(ti,x), i.e., the SCF is separately-additive w.r.t. players’ valuations.

Remark 1: the auction problem is utilitarian, in that f(t,x) is the type associated with the winner x, and the valuation of a player is either her type or 0, depending on whether she wins or not. Then, f(t,x) = i vi(ti,x).

Remark 2: in many network optimization problems (which are of our special interest) the SCF is separately-additive

Good news: for utilitarian problems there exists a

class of truthful mechanisms

A prominent class of problems

Page 34: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Vickrey-Clarke-Groves (VCG) Mechanisms

A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems: Algorithm g computes:

g(r) = arg maxyX i vi(ri,y) Payment function for player i:

pi(g(r)) = hi(r-i) + j≠i vj(rj,g(r))

where hi(r-i) is an arbitrary function of the types reported by players other than player i.

What about non-utilitarian problems? Strategy-proof mechanisms are known only when the type is a single parameter (we will see them later on).

Page 35: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

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)

+ j vj(řj,x)

+ j vj(řj,x’)

but x is an optimal solution w.r.t. ř =(r-i,ti), i.e.,

x = arg maxyX j vj(řj,y)

j vj(řj,x) ≥ j vj(řj,x’) ui(ti,x) ui(ti,x’).

řj=rj if ji, and ři=ti

Page 36: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

How to define hi(r-i)?

Remark: not all functions make sense. For instance, what does it happen in our Vickrey’s auction if we set for every player hi(r-i)=-1000 (notice this is independent of reported value ri of player i, and so it obeys to 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 players would not participate to the auction!

Page 37: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Voluntary participation

A mechanism satisfies the voluntary participation condition if agents who reports truthfully never incur a net loss, i.e., for all agents i, true values ti, and other agents’ bids r-i

ui(ti,g(ti,r-i)) 0.

Page 38: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

The Clarke payments

This is a special VCG-mechanism in which

hi(r-i) = -j≠i vj(rj,g(r-i))

pi(g(r)) = -j≠i vj(rj,g(r-i)) +j≠i vj(rj,g(r))

With Clarke payments, one can prove that players’ utility are always non-negative

players are interested in playing the game

solution maximizing the sumof valuations when player i doesn’t play

Page 39: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

The Vickrey’s auction is a VCG mechanism with Clarke payments

Recall that auctions are utilitarian problems. Then, the VCG-mechanism associated with the Vickrey’s auction is:

g(r) = 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(g(r)) = -j≠i vj(rj,g(r-i)) +j≠i vj(rj,g(r))…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)

Page 40: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

VCG-Mechanisms: Advantages

For System Designer: The goal, i.e., the optimization of the

SCF, is achieved with certainty For players:

players have truth telling as the dominant strategy, so they need not require any computational systems to deliberate about other players strategies

Page 41: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

VCG-Mechanisms: Disadvantages

For System Designer: The payments may be sub-optimal (frugality) Apparently, with Clarke payments, the system may need

to run the mechanism’s algorithm N+1 times: once with all players (for computing the outcome g(r)), and once for every player (indeed, for computing the payment pi associated with player i, we need to know g(r-i))

If the problem is hard to solve then the computational cost may be very heavy

For players: players may not like to tell the truth to the system

designer as it can be used in other ways

Page 42: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Assignment: 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 she does the job

if machine i is selected and receives a payment of p her utility is p-ti

Page 43: Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze

Thanks for your attention!Questions?