# Incentive compatibility and the Revelation Principle

_In which the Revelation Principle is introduced, showing all mechanisms can be reduced to incentive compatible mechanisms. With this insight, a solution (of sorts) is given to the public good problem in the [last post](/lw/k5r/mechanism_design_constructing_algorithms_for/). Limitations of the Revelation Principle are also discussed._

The formalism I introduced last time will now start paying off. We were left with the question of how to check whether a mechanism exists that satisfies some particular goal, naively requiring us to search over all possible procedures. Luckily though, the space of all possible mechanisms can be reduced to something manageable.

Observe the following: suppose through divine intervention we were granted a mechanism (_M_, _g_) that implements a social choice function _f_. In other words, the outcome when agents of types _θ_~1~, …, _θ_~_n_~ interact with the mechanism is exactly the outcome prescribed by the function _f_ for those types. Since a person’s type encodes all relevant variation in their characteristics, preferences, or beliefs, we’d know what that person wants to do if we knew their type. In particular, when agent _i_ is type _θ_~_i_~, we expect her choice of message to be _m_~_i_~(_θ_~_i_~). Once all the messages are sent, the function _g_ translates the agents’ choices into an outcome so that _g_(_m_~1~(_θ_~1~), …, _m_~_n_~(_θ_~_n_~)) = _f_(_θ_~1~, …, _θ_~_n_~).

But wait! Since we expect a type _θ_~_i_~ agent to send message _m_~_i_~(_θ_~_i_~), why don’t we just package that inside the mechanism? Each agent will tell us their type and the mechanism designer will play in proxy for the agent according to the original mechanism. We’ll call this the _direct mechanism_ for _f_ since all we need to know is that agents tell us their types and then are assigned outcome _f_(_θ_), no matter what we’ve blackboxed in the middle.

![](http://images.lesswrong.com/t3_k69_0.png?v=e3a1c82c29f446f676e52f6178d12dc6)

Why did we expect an agent of type _θ_~_i_~ to send message _m_~_i_~(_θ_~_i_~)? Presumably because that message maximized her utility. In particular, it had to be at least as good as the message _m_~_i_~(_θ_ʹ~_i_~) she’s send when her type is different, giving us:

![](http://latex.codecogs.com/gif.latex?\begin{aligned}u_i(g(m_i(\theta_i),m_{-i}),\theta_i)&\ge&space;u_i(g(m'_i,m_{-i}),\theta_i),\quad\forall&space;m'_i\in&space;M_i\quad\Rightarrow\\&space;u_i(g(m_i(\theta_i),m_{-i}),\theta_i)&\ge&space;u_i(g(m_i(\theta'_i),m_{-i}),\theta_i),\quad\forall\theta'_i\in&space;\Theta_i\end{aligned})

Since the outcomes of the mechanism coincide with _f_, we can conclude

![](http://latex.codecogs.com/gif.latex?u_i(f(\theta_i,\theta_{-i}),\theta_i)&\ge&space;u_i(f(\theta'_i,&space;\theta_{-i}),\theta_i),\quad\forall\theta'_i\in&space;\Theta_i)

Even though we started off with some mechanism, this last statement doesn't say anything about the mechanism itself, only the social choice function it implements. Let's call any social choice function _f_ that satisfies this constraint for every agent and for all possible types of others _strategy-proof_ or _dominant-strategy incentive compatible (DSIC)_. Note that this can add up to a lot of constraints.

These observations lead us to the following powerful tool:

> **The Revelation Principle (for dominant strategies):** A social choice function _f_ is implementable in dominant strategies if and only if it is dominant-strategy incentive compatible. Alternatively, every mechanism that implements _f_ in dominant strategies is equivalent to a DSIC direct mechanism.

Rather than requiring an agent to always (weakly) prefer their type’s outcome, it might suffice that agents get greater utility on average for their true type:

![](http://latex.codecogs.com/gif.latex?%5Coperatorname%7BE%7D_%7B%5Ctheta_%7B-i%7D%7D%5B%5C%3B%20u_i%28f%28%5Ctheta_i%2C%20%5Ctheta_%7B-i%7D%29%2C%20%5Ctheta_i%29%20%5C%3B%7C%5C%3B%20%5Ctheta_i%5C%2C%5D%20%5Cge%20%5Coperatorname%7BE%7D_%7B%5Ctheta_%7B-i%7D%7D%5B%5C%3B%20u_i%28f%28%5Ctheta%27_i%2C%20%5Ctheta_%7B-i%7D%29%2C%20%5Ctheta_i%29%20%5C%3B%7C%5C%3B%20%5Ctheta_i%5C%2C%5D%2C%20%5Cquad%20%5Cforall%20%5Ctheta_i%2C%20%5Ctheta%27_i%20%5Cin%20%5CTheta_i)

Social choice functions _f_ that satisfy this constraint for each agent are _Bayesian incentive compatible (BIC)_. Just as we had a Revelation Principle for dominant strategies, we have an analogous one for Bayes-Nash equilibrium:

> **The Revelation Principle (for Bayes-Nash equilibrium):** A social choice function _f_ is implementable in Bayes-Nash equilibrium if and only if it is Bayes-Nash incentive compatible.

As a check whether you’re following, consider these questions:

1.  Suppose you have a social choice function _f_ that is (dominant-strategy or Bayesian) incentive compatible for the type spaces Θ ~1~, …, Θ ~_n_~. Now, throw out some types for each agent. Is the restriction of _f_ to these smaller type spaces still incentive compatible?
2.  Is it easier for a social choice function to be DSIC or BIC?

Answers in the footnotes.[1](#fn1)

With the reduction provided by the various versions of the Revelation Principle, we can get away with analyzing only incentive compatible direct mechanisms rather than all possible ones. If a social choice function isn’t incentive compatible, then it can’t be implemented, no matter how fancy we get.

There are many reasons why we wouldn’t want to use a direct mechanism in practice: full types might be too complex to communicate easily, agents might be worried about privacy, or agents might not trust the mechanism operator to use the information like promised (changing the rules of the game after the fact, despite a claimed commitment to a particular outcome)^[2](#fn2)^ ^,^ ^[3](#fn3)^. Still, direct mechanisms are very straightforward for people to use. Rather than investing time to figure out how to play the game, the participants only have to consider what their true preferences are.

In any case, direct mechanisms are very handy theoretically. From this perspective, all incentive problems boil down to encouraging agents to be honest about their private information. The only leeway we have is whether being honest should be a dominant strategy, a best response to the honesty of others, minimize the agent’s maximimum regret, etc.

Returning to the painting puzzle
--------------------------------

In our housemate story, we don’t need to consider all possible mechanisms; we only need to consider procedures where they write down their valuation and both have an incentive to be honest about their true preferences. This is still a big space of possible mechanisms, but is much more manageable. Think for a moment about what direct mechanism you’d recommend to the housemates.

Here is one procedure that always makes the efficient decision, though it’s less than ideal: Collect valuations simultaneously. If the sum of the two reports _θ_~_J__a__c__k_~ + _θ_~_J__i__l__l_~ is at least $300, the room will be painted. Jack’s payment will be _p_~_J__a__c__k_~ = 300 − _θ_~_J__i__l__l_~ if the room is painted and zero otherwise. Similarly, Jill’s payment will be _p_~_J__i__l__l_~ = 300 − _θ_~_Jack_~ when the room is painted and zero otherwise.

Take a moment to convince yourself that honesty is (weakly) dominant for each person under this mechanism. For instance, suppose Jack’s value is $120. What would happen if he reports above this, say at $150? If Jill reports something less than $150, then the room isn’t painted and Jack’s utility is zero, the same as when he is honest. If Jill reports between $150 and $180, the room is painted and Jack gets a payoff of 120 − (300 − _θ_~_J__i__l__l_~) = _θ_~_J__i__l__l_~ − 180 < 0, less than his payoff from honesty where the room isn’t painted. If Jill reports above $180, the room is painted whether or not Jack reports honestly at $120 or dishonestly at $150, so the payoff is the same. Similar reasoning goes through for any report Jack considers below $120.

So what’s the issue here? Look at the sum of the payments. When the room is painted, Jack and Jill have a $300 bill, but the mechanism only collects 300 − _θ_~_J__a__c__k_~ + 300 − _θ_~_J__i__l__l_~ < 300. While the mechanism is efficient, it assumes extra money is coming from somewhere! If the individual values could be anywhere between $0 and $300, then the deficit could be up to $300.

In an attempt to solve this budget issue, we could tweak the payments to the following: _p_~_J__a__c__k_~ = 450 − _θ_~_J__i__l__l_~ and _p_~_J__i__l__l_~ = 450 − _θ_~_J__a__c__k_~ when the room is painted and both 150 when it isn’t. Honest reporting is still a dominant strategy and there is never a budget shortfall, but now the two are paying out $300 whether or not the room is painted. Hard to imagine them agreeing to use a procedure that could leave them worse off than never having considered the renovation.

Is there a mechanism that makes the efficient decision but avoids both these pitfalls, never forcing someone to pay more than their valuation while still covering the bill? Alas, this turns out to be impossible.

Second-best mechanisms and the Myerson-Satterthwaite impossibility
------------------------------------------------------------------

[Myerson and Satterthwaite (1983)](http://www.econ.yale.edu/~dirkb/teach/521b-08-09/reading/1983-bilateral-trade.pdf) prove no possible mechanism exists that paints the room exactly when efficient without requiring an outside subsidy or making one agent worse off for having participated. The original paper was framed in terms of a single buyer and seller considering whether to trade an item, showing perfectly efficient trade is impossible in the presence of incomplete information when types are independently distributed and trade isn’t a foregone conclusion^[4](#fn4)^.

Rather than looking for the “first-best” mechanism that always makes the efficient decision, we’re going to be forced to find a “second-best” mechanism that maximizes welfare while still satisfying our constraints. Surprisingly, the naive “vote and split the cost” mechanism is the best feasible procedure in dominant strategies. Restated in direct mechanism terms, if both submit a valuation greater than $150, the room is painted and they split the cost equally. Jeff Ely provides a very nice graphical proof of this fact [here](http://cheeptalk.files.wordpress.com/2009/07/second-best-mechanisms.pdf).

Honesty as a dominant strategy is a compelling feature of a mechanism—agents don’t have to put any thought into what others might do. Requiring honesty to be dominant might be overly strict though. Not all games have dominant strategies. On the other hand, we expect all (well-behaved) games to have a Nash equilibrium. If we weaken dominant-strategy IC to Bayes-Nash IC, we can do slightly better, but full efficiency is still impossible. The best feasible direct mechanism—assuming values are uniform between $0 and $300—is to paint the room if and only if the values sum to more than $375, with each paying $150 and the person with the high valuation giving the other one-third of the difference in their valuations, i.e.

![](http://latex.codecogs.com/gif.latex?p_{Jack}=\left\{\begin{aligned}&150+(\theta_{Jack}-\theta_{Jill})/3,&\mbox{&space;if&space;}\theta_{Jack}+\theta_{Jill}\ge375\\&0,&\mbox{&space;if&space;}\theta_{Jack}+\theta_{Jill}<375\end{aligned}\right.)

and similarly for Jill. This direct mechanism corresponds to a Bayes-Nash equilibrium of the following, more intuitive mechanism: each writes down a bid and the room is painted if the bids sum to more than $300, with excess total payments over $300 split equally between them (so if Jack bids $200 and Jill bids $150, Jack pays $175 and Jill pays $125).

Conclusion
----------

By reducing the design problem to encouraging the roommates to be honest via the Revelation Principle, we can identify the best feasible mechanism and end up uncovering a general impossibility about bargaining along the way. In the next post, I’ll delve further into what is possible under dominant-strategy incentive compatibility.

_Previously on:_ [Mechanism Design: Constructing Algorithms for Strategic Agents](/lw/k5r/mechanism_design_constructing_algorithms_for/)

_Next up:_ [Strategyproof Mechanisms: Impossibilities](/lw/k8r/strategyproof_mechanisms_impossibilities/)

* * *

1.  _Question 1:_ Yes, it is still incentive compatible since the constraint still holds for all types kept, with the constraints involving all types thrown out being no longer relevant. _Question 2:_ Bayesian incentive compatibility is the weaker condition, implied by dominant-strategy incentive compatibility, since if the constraint holds for every possible realization, then it must hold on average for any distribution across possible types.[↩](#fnref1)
    
2.  Although cryptography could help solve the privacy and commitment problems of direct mechanisms. See [Naor et al 1999, “Privacy preserving auctions and mechanism design”](http://pdf.aminer.org/000/592/908/privacy_preserving_auctions_and_mechanism_design.pdf).[↩](#fnref2)
    
3.  I’ve also glossed over the issue of _full_ vs _partial_ implementation. The revelation principle guarantees some equilibrium of the direct mechanism coincides with our social choice function. However, there might be other “bad” equilibria in the direct mechanism, whil an indirect mechanism might have a unique good equilibrium.[↩](#fnref3)
    
4.  Luckily, the welfare loss disappears quickly as the size of the market grows. Once there are at least six people on each side of the market, the overall welfare loss due to incomplete info is less than 1% ([Satterthwaite et al 2014, “Optimality vs Practicality in Market Design](http://faculty.las.illinois.edu/swillia3/www/research/2013-03-12optimalityvspracticality.pdf))[↩](#fnref4)