# Strategyproof Mechanisms: Impossibilities

_In which the limits of dominant-strategy implementation are explored. The Gibbard-Satterthwaite dictatorship theorem for unrestricted preference domains is stated, showing no universal strategyproof mechanisms exist, along with a proof for a special case._

Due to the Revelation Principle, most design questions can be answered by studying incentive compatible mechanisms, as discussed in the [last post](/lw/k69/incentive_compatibility_and_the_revelation/). Incentive compatibility comes in many different flavors corresponding to different solution concepts—dominant-strategy IC and Bayes-Nash IC being the two most common. In this post, I’ll delve into what’s possible under dominant strategy incentive compatibility.

Recall that a strategy is _dominant_ if playing it always leads to (weakly) higher payoffs for an agent than other strategy would, no matter what strategies other agents play. A social choice function is _dominant-strategy incentive compatible_ if honest revelation is a dominant strategy in the direct mechanism for that SCF^[1](#fn1)^. The appeal of implementation in dominant strategies is that an agent doesn't need to think about what other agents will do. Even in the worst case, a dominant-strategy IC social choice function leaves an agent better off for being honest. Since the need for strategic thinking is eliminated, dominant-strategy IC is also referred to as _strategyproofness_. 

Gibbard-Satterthwaite: universal strategyproof mechanisms are out of reach
--------------------------------------------------------------------------

[Arrow’s theorem](http://en.wikipedia.org/wiki/Arrow’s_impossibility_theorem) is well-known for showing dictatorships are the only aggregators of ordinal rankings that satisfy a set of particular criteria. The result is commonly interpreted as saying there is no perfect voting system for more than two candidates. However, since Arrow deals with _social welfare functions_ which take a profile of preferences as input and outputs a full preference ranking, it really says something about aggregating a set of preferences into a single group preference. Most of the time though, a full ranking of candidates will be superfluous—all we really need to know is who wins the election. Although Arrow doesn’t give social welfare functions much room to maneuver, maybe there are still some nice social choice functions out there.

Alas, it’s not to be. Alan Gibbard and Mark Satterthwaite have shown that, in general, the only strategyproof choice from three or more alternatives that is even slightly responsive to preferences is a dictatorship by one agent.

Stated formally:

> **Gibbard-Satterthwaite dictatorship theorem:** Suppose _f_: _L_(_A_)^_n_^ → _A_ is a social choice function for _n_ agents from profiles of ordinal rankings _L_(_A_)^_n_^ to a set of outcomes _A_ with at least three elements. If _f_ is strategyproof and onto^[2](#fn2)^, then _f_ is dictatorial.

Being strategyproof seems intuitively more desirable to me than the properties in Arrow’s theorem (especially the much critiqued _independence of irrelevant alternatives_ criterion). As it turns out though, Gibbard-Satterthwaite and Arrow are equivalent! Weakening our ambition from social welfare functions to social choice functions didn't give us anything.

Gibbard-Satterthwaite seems a great blow to mechanism design at first glance. On reflection, perhaps we were asking for too much. A completely generic strategyproof mechanism that can be used in any situation does sound too good to be true.

There are three ways to proceed from this point:

1.  Building strategyproof mechanisms for specialized applications,
2.  Weakening strategyproofness to another form of incentive compatibility, or
3.  Stepping sideways from ordinal preferences and enriching the model while adding further assumptions.

On that last path, note that switching from ordinal to cardinal preferences can’t save us unless we offset that generalization with other assumptions—cardinal information expands the ordinal type space, which can only make implementation more difficult.

Since dictatorships are the only universal strategyproof mechanisms for choosing between three options, it’s worth investigating why life is pleasant with only two options. In this case, lots of non-trivial strategyproof mechanisms exist. For example, suppose a committee is restricted to painting a bike shed either red or blue due to zoning restrictions. The social choice function that paints the shed red if and only if a majority have red as their first choice is strategyproof, as is the social choice to paint the shed red if and only if the committee unanimously lists red as their top choice.

Of course, not every voting rule for binary outcomes will be strategyproof, like the rule that paints the shed red if and only if an odd number of committee members top-rank red. While I can’t imagine anyone arguing in favor of this rule, what’s going wrong here? The problem is this odd rule isn’t _monotonic_—raising red in someone’s preference ranking can cause the outcome to switch away from red.

Here are the formal definitions of strategyproofness and monotonicity:

> A social choice function _f_: _L_(_A_)^_n_^ → _A_ is _strategyproof_ if for each agent _i_, the social choice satisfies ![](http://latex.codecogs.com/gif.latex?f(\succ_i,\succ_{-i})\succeq_i&space;f(\succ'_i,\succ_{-i})) for all rankings ![](http://latex.codecogs.com/gif.latex?\succ_i,&space;\succ'_i\;\in&space;L(A) "\succ_i, \succ'_i\;\in L(A)") and ![](http://latex.codecogs.com/gif.latex?\succ_{-i}\;\in\,L(A)^{n-1} "\succ_{-i}\;\in\,L(A)^{n-1}").

> A social choice function _f_: _L_(_A_)^_n_^ → _A_ is _monotonic_ if for each agent _i_, we have that ![](http://latex.codecogs.com/gif.latex?f(\succ_i,\succ_{-i})=a\ne&space;b=&space;f(\succ'_i,\succ_{-i}) "f(\succ_i,\succ_{-i})\succeq_i f(\succ'_i,\succ_{-i})") implies ![](http://latex.codecogs.com/gif.latex?a\succ_i&space;b "a\succ_i b") and ![](http://latex.codecogs.com/gif.latex?b\succ'_i&space;a "b\succ'_i a") for all rankings ![](http://latex.codecogs.com/gif.latex?\succ_i,&space;\succ'_i\;\in&space;L(A) "\succ_i, \succ'_i\;\in L(A)") and ![](http://latex.codecogs.com/gif.latex?\succ_{-i}\;\in\,L(A)^{n-1} "\succ_{-i}\;\in\,L(A)^{n-1}").

Take a moment to convince yourself that monotonicity is just a slight rephrasing of strategyproofness and hence equivalent. Though they are identical at heart, monotonicity carries two useful interpretation as an invariance property. First, if an agent submits a new ranking where the previous outcome goes up, the outcome can’t change. Second, submitting a new ranking where the rank of the previous outcome relative any other option is unchanged has to leave the outcome unchanged as well.

When there are only two alternatives, we can think of the implicit outcome space as one dimensional, with one outcome on the left and the other on the right. Going towards one outcome corresponds exactly with going away from the other. With three or more alternatives, we don’t have the same nice structure, leading to the impossibility of a non-trivial monotonic rule.

In the next post, I’ll describe domains where we can enrich the outcome space beyond a binary choice and still get strategyproofness. Since the outcome space won’t naturally have a nice order structure, we’ll have to ensure it does by restricting the preferences agents can have over it. Even though we don’t have universal strategyproof mechanisms other than dictatorships, we can uncover strategyproof mechanisms for specific applications. In the meantime, here’s a proof of Gibbard-Satterthwaite for the curious.

Proof of Gibbard-Satterthwaite (in a special case)
--------------------------------------------------

Suppose the committee consists of two people, Betty and Bill. In addition to red and blue, the city recently approved yellow as an option to paint bike sheds. Each person has six possible rankings over the three colors, and there are 36 preference profiles containing one ranking from each. The 36 will fall into six relevant classes. Here is an example of each class along with some shorthand to describe it:

1.  _r_ > _b_ > _y_: Both agents agree on the ranking of red over blue over yellow.
2.  _r_ > _b_^_y_: Both agents agree red is the best. Betty puts blue as her second choice, while Bill has yellow as his second choice.
3.  _b_^_y_ > _r_: Both agree red is worst. Betty thinks blue is better than yellow, while Bill thinks yellow is better.
4.  _r _∣ (_b_ > _y)_: Both agents agree blue is better than yellow. Betty thinks red is better than them both, while Bill thinks red is worse than both.
5.  (_b_ > _y_) ∣ _r_: Both agree blue is better than yellow. Betty thinks red is worst, while Bill thinks red is best.
6.  _r_^_b_^_y_: Betty has the ranking red over blue over yellow, while Bill has the reverse.

For the notation summarizing the profile, _r_ > _b_ indicated both agree that red is better than blue. _r_^_b_ says there is a conflict between the two with Betty preferring red. _r _∣ (_b_ > _y_) says there are two preference conflicts, with Betty preferring red over the other two options, so we alternatively think of this profile as _r_^_y_, _r_^_b_, and _y_ > _b_.

Now, we’ll assign the 36 profiles a color, using each at least once, in a way that is monotonic. This will happen in six steps as depicted in the following diagram.

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

1.  At least one profile must be red by assumption. Starting from that profile (whatever it is), we could move red to the top of both rankings and the outcome would still be red by monotonicity. Then all other profiles with red top-ranked by both also must be red since any swaps of blue and yellow can’t change the outcome since red is still relatively above both. This gives us 1a,b,c,d. Blue and yellow go through similarly.
2.  Consider the profile _b_^_y_ > _r_ at the bottom of the diagram. The profile _y_ > _b_ > _r_ got yellow in 1f, so if Betty starts liking blue better from 2, the outcome has to stay yellow or switch to blue. Since monotonicity can’t tell us more than that, we have to make a choice. Let’s decide in favor of Betty and pick blue.
3.  Since we chose to resolve the conflict _b_^_y_ as _b_, three more colorings follow since we must resolve this particular conflict in the same way everywhere. Keep in mind that _b_^_y_ is a different conflict than _y_^_b_ since it might matter who prefers which color. Consider 3b. This can’t be yellow since yellow increases between this profile and 2, but 2 isn’t yellow. It also can’t be red since 1k isn’t red, so we conclude 3b must be blue. Now consider 3a. Even though the conflict _b_^_y_ resolves in favor of blue, the outcome can’t be blue since 1c isn’t blue. Hence 3a must be red. From 3a, we conclude that _r_^_y_ was resolved as _r_, so this new rule must apply everywhere. From 3c, we get a third rule that _b_^_r_ = _b_.
4.  With two new rules in the third step in addition to the rule from the second, more colorings follow. These colorings then give us the rules _r_^_b_ = _r_, _y_^_b_ = _y_, and _y_^_r_ = _y_.
5.  With all possible pairwise resolutions settled, all profiles can be colored.

We’ve found a monotonic, onto coloring! Notice that this is a dictatorship by Betty, choosing her top-ranked color for each profile. Everything comes down to favoring Betty over Bill in step two. Since Betty was pivotal once, she ends up having complete control. Of course, we could have resolved _b_^_y_ as _y_ instead, which would have given us a dictatorship by Bill. That choice in step two was the only degree of latitude we had, so these are the only two monotonic, onto colorings.

This special-case proof of Gibbard-Satterthwaite was inspired by [Hansen (2002), “Another graphical proof of Arrow’s impossibility theorem”](http://www.business.otago.ac.nz/econ/Personal/PH/P%20Hansen%20Proof%20of%20Arrow’s%20Imposs%20Theorem.pdf). Full proofs of the theorems, done simultaneously side-by-side, are given in [Reny (2001), “Arrow’s theorem and the Gibbard-Satterthwaite theorem: a uniﬁed approach”](https://sites.google.com/site/philipjreny/arrow-gibbard-satterthwaite-econ-lett-2001.pdf?attredirects=0).

_Previously on:_ [Incentive-Compatibility and the Revelation Principle](/lw/k69/incentive_compatibility_and_the_revelation/)

_Next up:_ [Strategyproof Mechanisms: Possibilities](/lw/kas/strategyproof_mechanisms_possibilities/)

* * *

1.  Recall that the direct mechanism for an SCF is where we simply ask the agents what type they are and then assign the outcome prescribed by the SCF for that type profile.[↩](#fnref1)
    
2.  The function _f_ is _onto_ if every outcome in _A_ occurs for at least one input. The main role of this assumption to prevent _f_ from covertly restricting its image to two elements, so it’s almost without loss of generality.[↩](#fnref2)