Strategyproofness

From Infogalactic: the planetary knowledge core
(Redirected from Strategy-proof)
Jump to: navigation, search

In game theory, an asymmetric game where players have private information is said to be strategyproof (SP) if it is a weakly-dominant strategy for every player to reveal his/her private information.[1]:244 It is also called truthful or dominant-strategy-incentive-compatible[1]:415 (to distinguish it from other kinds of incentive compatibility).

Examples

Typical examples of SP mechanisms are majority voting between two alternatives, second-price auction and any VCG mechanism.

Typical examples of a mechanisms that are not SP are plurality voting between three or more alternatives, and first-price auction.

SP is also applicable in network routing. Consider a network as a graph where each edge (i.e. link) has an associated cost of transmission, privately known to the owner of the link. The owner of a link wishes to be compensated for relaying messages. As the sender of a message on the network, one wants to find the least cost path. There are efficient methods for doing so, even in large networks. However, there is one problem: the costs for each link are unknown. A naive approach would be to ask the owner of each link the cost, use these declared costs to find the least cost path, and pay all links on the path their declared costs. However, it can be shown that this payment scheme is not SP, that is, the owners of some links can benefit by lying about the cost. We may end up paying far more than the actual cost. It can be shown that given certain assumptions about the network and the players (owners of links), a variant of the VCG mechanism is SP.

Notation

There is a set X of possible outcomes.

There are n agents which have different valuations for each outcome. The valuation of agent i is represented as a function:

v_i : X \longrightarrow R_+

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 x and in addition the agent receives a payment p_i (positive or negative), then the total utility of agent i is:

u_i := v_i(x) + p_i

The vector of all value-functions is denoted by v.

For every agent i, the vector of all value-functions of the other agents is denoted by v_{-i}. So v \equiv (v_i,v_{-i}).

A mechanism is a pair of functions:

  • An Outcome function, that takes as input the value-vector v and returns an outcome x\in X (it is also called a social choice function);
  • A Payment function, that takes as input the value-vector v and returns a vector of payments, (p_1,\dots,p_n), determining how much each player should receive (a negative payment means that the player should pay a positive amount).

A mechanism is called strategyproof if, for every player i and for every value-vector of the other players v_{-i}:

v_i(Outcome(v_i,v_{-i})) + Payment_i(v_i,v_{-i}) \geq v_i(Outcome(v_i',v_{-i})) + Payment_i(v_i',v_{-i})

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 is SP, then it must satisfy the following two conditions, for every agent i:[1]:226

1. The payment to agent i is a function of the chosen outcome and of the valuations of the other agents v_{-i} - but not a direct function of the agent's own valuation v_i. Formally, there exists a price function Price_i, that takes as input an outcome x\in X and a valuation vector for the other agents v_{-i}, and returns the payment for agent i, such that for every v_i,v_i',v_{-i}, if:

Outcome(v_i,v_{-i}) = Outcome(v_i',v_{-i})

then:

Payment_i(v_i,v_{-i}) = Payment_i(v_i',v_{-i})

PROOF: If Payment_i(v_i,v_{-i}) > Payment_i(v_i',v_{-i}) then an agent with valuation v_i' prefers to report v_i, since it gives him the same outcome and a larger payment; similarly, if Payment_i(v_i,v_{-i}) < Payment_i(v_i',v_{-i}) then an agent with valuation v_i prefers to report v_i'.

As a corollary, there exists a "price-tag" function, Price_i, that takes as input an outcome x\in X and a valuation vector for the other agents v_{-i}, and returns the payment for agent i For every v_i,v_{-i}, if:

Outcome(v_i,v_{-i}) = x

then:

Payment_i(v_i,v_{-i}) = Price_i(x,v_{-i})

2. The selected outcome is optimal for agent i, given the other agents' valuations. Formally:

Outcome(v_i, v_{-i}) \in \arg\max_{x} [v_i(x) + Price_i(x,v_{-i})]

where the maximization is over all outcomes in the range of Outcome(\cdot,v_{-i}).

PROOF: If there is another outcome x' = Outcome(v_i',v_{-i}) such that v_i(x') + Price_i(x',v_{-i}) > v_i(x) + Price_i(x,v_{-i}), then an agent with valuation v_i prefers to report v_i', 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 i and valuations v_i,v_i',v_{-i}. Denote:

x := Outcome(v_i, v_{-i}) - the outcome when the agent acts truthfully.
x' := Outcome(v_i', v_{-i}) - the outcome when the agent acts untruthfully.

By property 1, the utility of the agent when playing truthfully is:

u_i(v_i) = v_i(x) + Price_i(x, v_{-i})

and the utility of the agent when playing truthfully is:

u_i(v_i') = v_i(x') + Price_i(x', v_{-i})

By property 2:

u_i(v_i) \geq u_i(v_i')

so it is a dominant strategy for the agent to act truthfully.

Outcome-function characterization

The actual goal of a mechanism is its Outcome 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 (this property is also called implementability). The Monotonicity (mechanism design) property is necessary, and often also sufficient.

Incentive-compatible mechanisms in single-parameter domains

A single-parameter domain is a game in which each player i gets a certain positive value vi for "winning" and a value 0 for "losing". A simple example is a single-item auction, in which vi is the value that player i assigns to the item.

For this setting, it is easy to characterize IC 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 (weakly) 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 IC iff the following two conditions hold:[1]:229-230

  1. The assignment function is monotone in each of the bids, and:
  2. Every winning bid pays the critical value.


False-name-proof

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 (VCG) auction is not false-name-proof.[2]

See also

Further reading

References

  1. 1.0 1.1 1.2 1.3 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.