Mechanism design and the vcg mechanism
Download
1 / 23

Mechanism Design and the VCG mechanism - PowerPoint PPT Presentation


  • 210 Views
  • Uploaded on

Mechanism Design and the VCG mechanism. The concept of a “mechanism”. A general (abstract) solution for welfare maximization: the VCG mechanism. This is a very important building block to the design of many multi-item auction formats. The setting. A set of “alternatives”, A.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Mechanism Design and the VCG mechanism' - may


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Mechanism design and the vcg mechanism
Mechanism Design and the VCG mechanism

  • The concept of a “mechanism”.

  • A general (abstract) solution for welfare maximization: the VCG mechanism.

    • This is a very important building block to the design of many multi-item auction formats.


The setting
The setting

  • A set of “alternatives”, A.

  • Player types: vi: A -> R. vi(a) is the value of player i if alternative a is chosen.

  • The function vi() is private information to player i. All we know is that it must belong to a domain Vi of all possible player types.

  • Example: One-item auction.

    • There are n alternatives a0, a1,...,an. In alternative ai for i>0 player i gets the item, and in alternative a0 no one wins.

    • The domain Vi contains all functions such that vi(ai)=v and vi(aj)=0 for all j ≠ i.


The setting 2
The setting (2)

  • A social planner wants to choose an alternative according to players’ types:

    f : V1 × ... × Vn -> A

  • For example, in one-item auctions, to allocate the item to the player with the highest value.

  • Problem: the planner does not know the types.


The setting 21
The setting (2)

  • A social planner wants to choose an alternative according to players’ types:

    f : V1 × ... × Vn -> A

  • For example, in one-item auctions, to allocate the item to the player with the highest value.

  • Problem: the planner does not know the types.

  • Suggestion: design a (direct-revelation) mechanism M=(f,p1,...pn), where pi : V1 × ... × Vn -> R is the price that player i will pay, given the players' declarations.

  • We want to construct prices that will induce truthfulness (in dominant strategies): For any i, v-i, vi, v'i,

    vi(f(vi,v-i)) - pi(vi,v-i) > vi(f(v'i,v-i)) - pi(v'i,v-i)

Player i’s utility if declaring vi


Implementation
Implementation

  • A truthful mechanism (f,p) implements the function f.

  • Can we do this in general?

  • We will consider a specific function:

    f(v) = argmaxa in A{ v1(a) + … + vn(a) }

    This function maximizes the “social welfare”.

  • In a single-item auction, we know how to construct a truthful mechanism that maximizes the social welfare – this is the 2nd price auction that we already know.

  • How about doing this in general?


Redoing the case of the 2 nd price auction
Redoing the case of the 2nd price auction

  • Another mechanism:

    • Each bidder reports his type.

    • The winner is the player with the highest value.

    • The mechanism pays all other players the winners’ value.

  • In other words, we equate the utility of all players to be the highest value.

  • Is this truthful?


Redoing the case of the 2 nd price auction1
Redoing the case of the 2nd price auction

  • Another mechanism:

    • Each bidder reports his type.

    • The winner is the player with the highest value.

    • The mechanism pays all other players the winners’ value.

  • In other words, we equate the utility of all players to be the highest value.

  • Is this truthful? Yes:

    • If a player has the highest value, his utility if being truthful is his value (since he wins). If he lies and loses, his utility will be the second highest value, which is smaller.

    • If a player does not have the highest value, his utility will still be the highest value if he is truthful, and otherwise will be lower than that.


Problem
Problem?

  • But we pay the players, instead of getting paid??


Useful lemma
Useful Lemma

Lemma: Suppose the mechanism M=(f,p1,...pn) is truthful, and fix some arbitrary functions hi : V-i -> R (for i=1,…n). Define new price function p’i(v) = pi(v) + hi(v-i). Then the mechanism M’ =(f,p’1,...p’n) is truthful.

Proof:

Fix any i, v-i, vi, v‘i. Since M is truthful we have:

vi(f(vi,v-i)) - pi(vi,v-i) > vi(f(v'i,v-i)) - pi(v'i,v-i)

=> vi(f(vi,v-i)) - pi(vi,v-i) - hi(v-i) > vi(f(v'i,v-i)) - pi(v'i,v-i) - hi(v-i)

=> vi(f(vi,v-i)) - p'i(vi,v-i) > vi(f(v'i,v-i)) - p'i(v'i,v-i)

=> M’ is truthful


Problem1
Problem?

  • But we pay the players, instead of getting paid??

  • Solution: subtract a constant hi(v-i) from the prices, so that the total will be negative.

  • For example: hi(v-i) = max j ≠ i vj . Therefore the payments will be:

    • We pay the winner: 0 - max j ≠ i vj = minus the second highest price, so actually the winner pays us the second highest price.

    • We pay every loser: max j vj - max j ≠ i vj = 0.

    • Conclusion: this is exactly the second price auction.


Vickrey clarke groves vcg
Vickrey-Clarke-Groves (VCG)

  • A generalization of what we just saw for arbitrary domains.

  • The mechanism (VCG):

    • f(v) = argmaxa in A{ v1(a) + … + vn(a) }

    • pi(v) = -j ≠ i vj(a) + hi(v-i) [ where a = f(v) ]

      THM: The VCG mechanism is truthful.

      Proof: Fix any i, v-i, vi, v‘i.

      Suppose f(vi,v-i) = a and f(v'i,v-i) = b. => i vi(a) >i vi(b)

      We get:

      vi(f(vi,v-i)) - pi(vi,v-i) = vi(a) +j ≠ i vj(a) - hi(v-i) = i vi(a) - hi(v-i)

      >i vi(b) - hi(v-i) = vi(b) + j ≠ i vj(b) - hi(v-i) = vi(f(v'i,v-i)) - pi(v'i,v-i)


Setting the function h i
Setting the function hi()

  • Truthfulness alone poses no restrictions on the hi()’s.

  • However, usually, we would like one additional requirement:“Individual rationality”: the player’s utility will always be non-negative if he is truthful.

  • Therefore, a good function is:

    hi(v-i) = j ≠ i vj(f(0, v-i))

    Few properties (assuming values are non-negative):

  • Payments are always non-negative (players always pay).

  • A player’s utility is non-negative.

  • If the same outcome will be chosen whether the player participates or not, then his price is zero.

  • A player pays the “damage” he caused the other players.


Summary example
Summary & Example

  • A social designer has a set of alternatives.

  • Each player has a value for every alternative.

  • The social planner wants to choose the alternative that maximizes the sum of values.

  • Example:

    a b c

    I 1 5 10

    II 7 6 4

    III 9 8 7

    sum 17 19 21


Summary example1
Summary & Example

  • A social designer has a set of alternatives.

  • Each player has a value for every alternative.

  • The social planner wants to choose the alternative that maximizes the sum of values.

  • Example:

    a b c

    I 1 5 10

    II 7 6 4

    III 9 8 7

    sum 17 19 21

The planner wants to choose alternative c.


Summary example2
Summary & Example

  • Problem: the designer does not know the values of the players.

  • A solution (VCG mechanism):

    • Request players to reveal values.

    • Choose the alternative according to players' declarations.

    • Charge a payment from player i that is equal to the “damage” she causes the other players: the aggregate value of the best alternative, if player i was absent, minus the sum of values of all players besides i to the chosen alternative.

      THM: 1) The VCG mechanism is truthful.

      2) Payments are always non-negative (players always pay).

      3) A player’s utility is non-negative. 4) If the same outcome will be chosen whether the player participates or not, then his price is zero.


Summary example3
Summary & Example

a b c price utility

I 1 5 10 5 10-5=5

II 7 6 4 0 4

III 9 8 7 0 7

sum 17 19 21

If player I is absent, alternative a is chosen, with value 16. The chosen alternative when player I is present is c, and its value to the other players is 11. Thus the price of player I is 16 – 11 = 5.


Summary example4
Summary & Example

a b c price utility

I 1 5 10 5 10-5=5

II 7 6 4 0 4

III 9 8 7 0 7

sum 17 19 21

What if player I lies and says that her value for c is 7?

a b c price utility

I 1 5 10 7 2 5-2=3

II 7 6 4

III 9 8 7

sum 17 19 18


Summary example5
Summary & Example

a b c price utility

I 1 5 10 5 10-5=5

II 7 6 4 0 4

III 9 8 7 0 7

sum 17 19 21

What if player I lies and says that her value for c is 7?

a b c price utility

I 1 5 10 7 2 5-2=3

II 7 6 4

III 9 8 7

sum 17 19 18

smaller than her utility when telling the truth!


Example public project
Example: public project

  • Story: The government considers building a bridge. Each citizen, i, will increase his productivity by some value vi if the bridge will be built. The cost of building the bridge is C. The government wants to build the bridge iff i vi> C, but does not know the values. What to do?


Example public project1
Example: public project

  • Story: The government considers building a bridge. Each citizen, i, will increase his productivity by some value vi if the bridge will be built. The cost of building the bridge is C. The government wants to build the bridge iff i vi> C, but does not know the values. What to do?

  • We can use VCG. We have two alternatives (YES/NO), and each player, including the government, has a value for each alternative (zero for NO, vi or -C for YES). VCG will choose YES iff i vi - C > 0, which is what the government wants.


Example public project2
Example: public project

  • Story: The government considers building a bridge. Each citizen, i, will increase his productivity by some value vi if the bridge will be built. The cost of building the bridge is C. The government wants to build the bridge iff i vi> C, but does not know the values. What to do?

  • We can use VCG. We have two alternatives (YES/NO), and each player, including the government, has a value for each alternative (zero for NO, vi or -C for YES). VCG will choose YES iff i vi - C > 0, which is what the government wants.

  • Properties:

    • A player will pay nothing if j ≠ i vj> C, otherwise (in a YES case) he will pay C - j ≠ i vj.

    • These payments may not cover the entire cost C.

    • If we can exclude some players from using the bridge, we can use the CostShare method that we saw previously.


The problem with payments
The problem with payments

  • Suppose C=100, we have 102 players, and each player has value=1. Then the price that each player will pay is zero!


Two main disadvantages of vcg
Two main disadvantages of VCG

  • Suitable only when our goal is welfare maximization. Other goals, like revenue maximization, are not answered.

  • If some values are negative, the mechanism may end up paying the players more than the payments it collects.


ad