Strategyproofness
In mechanism design, a strategyproof mechanism is a game form in which each player has a weakly-dominant strategy, so that no player can gain by "spying" over the other players to know what they are going to play. When the players have private information, and the strategy space of each player consists of the possible information values, a truthful mechanism is a game in which revealing the true information is a weakly-dominant strategy for each player. An SP mechanism is also called dominant-strategy-incentive-compatible , to distinguish it from other kinds of incentive compatibility.
A SP mechanism is immune to manipulations by individual players. In contrast, in a group strategyproof mechanism, no group of people can collude to misreport their preferences in a way that makes every member better off. In a strong group strategyproof mechanism, no group of people can collude to misreport their preferences in a way that makes at least one member of the group better off without making any of the remaining members worse off.
Examples
Typical examples of SP mechanisms are:- a majority vote between two alternatives;
- a second-price auction when participants have quasilinear utility;
- a VCG mechanism when participants have quasilinear utility
- any deterministic non-dictatorial election between three or more alternatives;
- a first-price auction
SP in network routing
Formal definitions
There is a set of possible outcomes.There are agents which have different valuations for each outcome. The valuation of agent is represented as a function:
which expresses the value it has for each alternative, in monetary terms.
It is assumed that the agents have Quasilinear utility functions; this means that, if the outcome is and in addition the agent receives a payment , then the total utility of agent is:
The vector of all value-functions is denoted by.
For every agent, the vector of all value-functions of the other agents is denoted by. So.
A mechanism is a pair of functions:
- An function, that takes as input the value-vector and returns an outcome ;
- A function, that takes as input the value-vector and returns a vector of payments,, determining how much each player should receive.
Characterization
It is helpful to have simple conditions for checking whether a given mechanism is SP or not. This subsection shows two simple conditions that are both necessary and sufficient.If a mechanism with monetary transfers is SP, then it must satisfy the following two conditions, for every agent :
1. The payment to agent is a function of the chosen outcome and of the valuations of the other agents - but not a direct function of the agent's own valuation. Formally, there exists a price function, that takes as input an outcome and a valuation vector for the other agents, and returns the payment for agent, such that for every, if:
then:
PROOF: If then an agent with valuation prefers to report, since it gives him the same outcome and a larger payment; similarly, if then an agent with valuation prefers to report.
As a corollary, there exists a "price-tag" function,, that takes as input an outcome and a valuation vector for the other agents, and returns the payment for agent For every, if:
then:
2. The selected outcome is optimal for agent, given the other agents' valuations. Formally:
where the maximization is over all outcomes in the range of.
PROOF: If there is another outcome such that, then an agent with valuation prefers to report, since it gives him a larger total utility.
Conditions 1 and 2 are not only necessary but also sufficient: any mechanism that satisfies conditions 1 and 2 is SP.
PROOF: Fix an agent and valuations. Denote:
By property 1, the utility of the agent when playing truthfully is:
and the utility of the agent when playing untruthfully is:
By property 2:
so it is a dominant strategy for the agent to act truthfully.
Outcome-function characterization
The actual goal of a mechanism is its function; the payment function is just a tool to induce the players to be truthful. Hence, it is useful to know, given a certain outcome function, whether it can be implemented using a SP mechanism or not.The monotonicity property is necessary for strategyproofness.
Truthful mechanisms in single-parameter domains
A single-parameter domain is a game in which each player gets a certain positive value for "winning" and a value 0 for "losing". A simple example is a single-item auction, in which is the value that player assigns to the item.For this setting, it is easy to characterize truthful mechanisms. Begin with some definitions.
A mechanism is called normalized if every losing bid pays 0.
A mechanism is called monotone if, when a player raises his bid, his chances of winning increase.
For a monotone mechanism, for every player i and every combination of bids of the other players, there is a critical value in which the player switches from losing to winning.
A normalized mechanism on a single-parameter domain is truthful if the following two conditions hold:
- The assignment function is monotone in each of the bids, and:
- Every winning bid pays the critical value.
Truthfulness of randomized mechanisms
- Universal truthfulness: for each randomization of the algorithm, the resulting mechanism is truthful. In other words: a universally-truthful mechanism is a randomization over deterministic truthful mechanisms, where the weights may be input-dependent.
- Strong stochastic-dominance truthfulness : The vector of probabilities that an agent receives by being truthful has first-order stochastic dominance over the vector of probabilities he gets by misreporting. That is: the probability of getting the top priority is at least as high AND the probability of getting one of the two top priorities is at least as high AND... the probability of getting one of the m top priorities is at least as high.
- Lexicographic truthfulness : The vector of probabilities that an agent receives by being truthful has lexicographic dominance over the vector of probabilities he gets by misreporting. That is: the probability of getting the top priority is higher OR OR... OR.
- Weak stochastic-dominance truthfulness : The vector of probabilities that an agent receives by being truthful is not first-order-stochastically-dominated by the vector of probabilities he gets by misreporting.
Truthfulness with high probability
For every constant, a randomized mechanism is called truthful with probability if for every agent and for every vector of bids, the probability that the agent benefits by bidding non-truthfully is at most, where the probability is taken over the randomness of the mechanism.If the constant goes to 0 when the number of bidders grows, then the mechanism is called truthful with high probability. This notion is weaker than full truthfulness, but it is still useful in some cases; see e.g. consensus estimate.
False-name-proofness
A new type of fraud that has become common with the abundance of internet-based auctions is false-name bids – bids submitted by a single bidder using multiple identifiers such as multiple e-mail addresses.False-name-proofness means that there is no incentive for any of the players to issue false-name-bids. This is a stronger notion than strategyproofness. In particular, the Vickrey–Clarke–Groves auction is not false-name-proof.
False-name-proofness is importantly different from group strategyproofness because it assumes that an individual alone can simulate certain behaviors that normally require the collusive coordination of multiple individuals.
Obvious strategyproofness
Obvious strategyproofness is a strengthening of strategyproofness that captures a robustness of strategyproofness to cognitively-limited agents.The sealed-bid second-price auction is strategyproof but not obviously strategyproof because bidders have to trust that their bids remain sealed. In contrast, the ascending clock auction is obviously strategyproof, even though for fully rational agents the two auctions are equivalent. Other examples of strategyproof but not obviously strategyproof mechanisms include:
- Majority vote between two alternatives;
- Deferred acceptance
- Top trading cycles