Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mechanism Design and the VCG mechanism The concept of a “mechanism”. A general (abstract) solution for welfare maximization: the VCG mechanism. –This is.

Similar presentations


Presentation on theme: "Mechanism Design and the VCG mechanism The concept of a “mechanism”. A general (abstract) solution for welfare maximization: the VCG mechanism. –This is."— Presentation transcript:

1 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.

2 The setting A set of “alternatives”, A. Player types: v i : A -> R. v i (a) is the value of player i if alternative a is chosen. The function v i () is private information to player i. All we know is that it must belong to a domain V i of all possible player types. Example: One-item auction. –There are n alternatives a 0, a 1,...,a n. In alternative a i for i>0 player i gets the item, and in alternative a 0 no one wins. –The domain V i contains all functions such that v i (a i )=v and v i (a j )=0 for all j ≠ i.

3 The setting (2) A social planner wants to choose an alternative according to players’ types: f : V 1 ×... × V n -> 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.

4 The setting (2) A social planner wants to choose an alternative according to players’ types: f : V 1 ×... × V n -> 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,p 1,...p n ), where p i : V 1 ×... × V n -> 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, v i, v' i, v i (f(v i,v -i )) - p i (v i,v -i ) > v i (f(v' i,v -i )) - p i (v' i,v -i ) Player i’s utility if declaring v i

5 Implementation A truthful mechanism (f,p) implements the function f. Can we do this in general? We will consider a specific function: f(v) = argmax a in A { v 1 (a) + … + v n (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 2 nd price auction that we already know. How about doing this in general?

6 Redoing the case of the 2 nd 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?

7 Redoing the case of the 2 nd 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.

8 Problem? But we pay the players, instead of getting paid??

9 Useful Lemma Lemma: Suppose the mechanism M=(f,p 1,...p n ) is truthful, and fix some arbitrary functions h i : V -i -> R (for i=1,…n). Define new price function p’ i (v) = p i (v) + h i (v -i ). Then the mechanism M’ =(f,p’ 1,...p’ n ) is truthful. Proof: Fix any i, v -i, v i, v‘ i. Since M is truthful we have: v i (f(v i,v -i )) - p i (v i,v -i ) > v i (f(v' i,v -i )) - p i (v' i,v -i ) => v i (f(v i,v -i )) - p i (v i,v -i ) - h i (v -i ) > v i (f(v' i,v -i )) - p i (v' i,v -i ) - h i (v -i ) => v i (f(v i,v -i )) - p' i (v i,v -i ) > v i (f(v' i,v -i )) - p' i (v' i,v -i ) => M’ is truthful

10 Problem? But we pay the players, instead of getting paid?? Solution: subtract a constant h i (v -i ) from the prices, so that the total will be negative. For example: h i (v -i ) = max j ≠ i v j. Therefore the payments will be: –We pay the winner: 0 - max j ≠ i v j = minus the second highest price, so actually the winner pays us the second highest price. –We pay every loser: max j v j - max j ≠ i v j = 0. –Conclusion: this is exactly the second price auction.

11 Vickrey-Clarke-Groves (VCG) A generalization of what we just saw for arbitrary domains. The mechanism (VCG): –f(v) = argmax a in A { v 1 (a) + … + v n (a) } –p i (v) = -  j ≠ i v j (a) + h i (v -i )[ where a = f(v) ] THM: The VCG mechanism is truthful. Proof: Fix any i, v -i, v i, v‘ i. Suppose f(v i,v -i ) = a and f(v' i,v -i ) = b. =>  i v i (a) >  i v i (b) We get: v i (f(v i,v -i )) - p i (v i,v -i ) = v i (a) +  j ≠ i v j (a) - h i (v -i ) =  i v i (a) - h i (v -i ) >  i v i (b) - h i (v -i ) = v i (b) +  j ≠ i v j (b) - h i (v -i ) = v i (f(v' i,v -i )) - p i (v' i,v -i )

12 Setting the function h i () Truthfulness alone poses no restrictions on the h i ()’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: h i (v -i ) =  j ≠ i v j (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.

13 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: abc I1510 II764 III987 sum171921

14 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: abc I1510 II764 III987 sum171921 The planner wants to choose alternative c.

15 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.

16 Summary & Example abcpriceutility I1510 510-5=5 II764 04 III987 07 sum171921 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.

17 Summary & Example abcpriceutility I1510 510-5=5 II764 04 III987 07 sum171921 What if player I lies and says that her value for c is 7? abcpriceutility I1510 7 25-2=3 II764 III987 sum171918

18 Summary & Example abcpriceutility I1510 510-5=5 II764 04 III987 07 sum171921 What if player I lies and says that her value for c is 7? abcpriceutility I1510 7 25-2=3 II764 III987 sum171918 smaller than her utility when telling the truth!

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

20 Example: public project Story: The government considers building a bridge. Each citizen, i, will increase his productivity by some value v i if the bridge will be built. The cost of building the bridge is C. The government wants to build the bridge iff  i v i > 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, v i or -C for YES). VCG will choose YES iff  i v i - C > 0, which is what the government wants.

21 Example: public project Story: The government considers building a bridge. Each citizen, i, will increase his productivity by some value v i if the bridge will be built. The cost of building the bridge is C. The government wants to build the bridge iff  i v i > 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, v i or -C for YES). VCG will choose YES iff  i v i - C > 0, which is what the government wants. Properties: –A player will pay nothing if  j ≠ i v j > C, otherwise (in a YES case) he will pay C -  j ≠ i v j. –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.

22 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!

23 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.


Download ppt "Mechanism Design and the VCG mechanism The concept of a “mechanism”. A general (abstract) solution for welfare maximization: the VCG mechanism. –This is."

Similar presentations


Ads by Google