Auctions
From Theory
Suppose two players are bidding for an object whose true value for player 1 is $75 and for player 2 is $50. What bidding strategy should the players use? Observe that (51,50) is a Nash equilibrium for this game. Another Nash equilibrium is (50,49). Second price auction is a mechanism which provides incentive for the players to bid their true value, simplifying the auction process. In a second price auction, the highest bidder gets the object but at the cost of the second highest bid. We use our example about 2 players bidding over an object described above and observe that bidding the true value is a dominant strategy. Let us look from player 1's perspective. If she bids above $75, say $80 then if any other player bids between the true value and her bid, she has to pay more for the object than its value to her. Thus it is clearly not in her interest to bid above the true value she has for the object. Similary if she bids below the value, say $65, then any bid by the other player between $65-$75 would give the object to the other player. It is clearly in her best interest to bid her true value for the object. In second price auctions, it is dominant strategy for all players to bid their true value.
Mechanism Design
We consider a game with N players, and each player has a set of types Ti. Let
. Let
be the set of outcomes, and a utility function for each player
.
Mechanism : A mechanism
is defined as a pair (A,g) where
is the set of action profiles and
.
A strategy for player i can be defined as a function from its types to actoins, i.e.
. We restrict ourselves to pure strategies only. We can extend the utility function to strategies as follows
We now look at mechanisms for auctions. What might be meaningful outcome for an auction? A plausible idea for defining a meaningful outcome could be that the person who is willing to bid the highest gets the object. We consider this in an abstract setting where for any type profile
we want to define what would be an ideal outcome. Suppose we have
which we call the social choice function. We then consider the following definition:
We say that a mechanism
implements
in dominant strategies, if there exists a dominant Nash equilibrium strategy profile
such that
.
A mechanism
is said to be a direct mechanism if for all Ai = Ti, i.e. the actions are the types themselves. A direct truthful mechanism (a.k.a. incentive compatible mechanism) is one in which it is the dominant strategy to take si(ti) = ti for all i.
Revelation Principle If
implements a social choice function f in dominant strategies, then there is a direct trutful mechanism
that implements f in dominant strategies.
Proof: Let
be the given mechanism and we want to construct a mechanism
. If
is a type profile, we define
. All we need to observe now is that if
is a dominant strategy for
then
is a dominant strategy in
. This concludes the proof.
We introduce payments to the game denoted by πi for player i. If the original utility function was
, the true utility for player i is now ui(t,o) + πi
We modify the definition of mechanism to deal with payments. We now define a mechanism as
where
.
Vickrey-Clarke-Grove (VCG) Mechanism
This mechanism generalises second price auction. In this mechanism, the set of actions is the set of types so that we have
.
Define
Let
and
. Finally define
.
Let us consider an example. Suppose there are 5 objects {A,B,C,D,E}. Let us suppose that there are four players, P1 likes {A,B,E} and is willing to pay $10 for that, P2 likes {C,D} and is willing to pay $5 for that, P3 likes just {D} and pay $4 for that and P4 likes {A,C} and is willing to pay $10 for that. The optimal outcome o * is when P1 and P2 get the bid. Calculating from the above definitions one can show that player 1 should pay $9, player 2 should pay $4.
Theorem VCG is a direct and truthful mechanism
Proof: The total utility for player i is
.
The last term in this expression does not depend on player i's action, so we can ignore it. Furthermore, o * maximizes total utility given each player's action. However, i's actual utility depends on his type ti, so he will maximize his utility by setting ai = ti.
