Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Vickrey–Clarke–Groves mechanism

From Wikipedia, the free encyclopedia
(Redirected fromVickrey-Clarke-Groves mechanism)
Method of making choices that maximises utility
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Vickrey–Clarke–Groves mechanism" – news ·newspapers ·books ·scholar ·JSTOR
(January 2025) (Learn how and when to remove this message)

Inmechanism design, theVickreyClarke–Groves (VCG)mechanism is a generictruthful mechanism for achieving a socially optimal solution whenever monetary transfers are available. It generalizes theVickrey–Clarke–Groves auction into a general-purpose mechanism forsocial choice, which can be used to select any outcome from a set of possible outcomes.[1]: 216–233  However, the VCG mechanism also has several problems which keep it from fully solving thepublic goods problem, including its vulnerability tocollusion and the issue of participantsfailing to pay their bids.

Notation

[edit]

There is a setX{\displaystyle X} of possible outcomes.

There aren{\displaystyle n} agents, each of which has a set of outcome valuations. The valuation of agenti{\displaystyle i} is represented as a function:

vi:XR+{\displaystyle v_{i}:X\to \mathbb {R} _{+}}

which expresses the value it has for each alternative, in monetary terms.

It is assumed that the agents havequasilinear utility functions; this means that, if the outcome isx{\displaystyle x} and in addition the agent receives a paymentpi{\displaystyle p_{i}} (positive or negative), then the total utility of agenti{\displaystyle i} is:

ui:=vi(x)+pi{\displaystyle u_{i}:=v_{i}(x)+p_{i}}

Our goal is to select an outcome that maximizes the sum of values, i.e.:

xopt(v)=argmaxxXi=1nvi(x){\displaystyle x^{opt}(v)=\arg \max _{x\in X}\sum _{i=1}^{n}v_{i}(x)}

In other words, our social-choice function isutilitarian.

Solution family

[edit]

The VCG family is a family of mechanisms that implements the utilitarian welfare function. A typical mechanism in the VCG family works in the following way:

1. It asks the agents to report their value function. I.e, each agenti{\displaystyle i} should reportvi(x){\displaystyle v_{i}(x)} for each optionx{\displaystyle x}.

2. Based on the agents' report-vectorv{\displaystyle v}, it calculatesx=xopt(v){\displaystyle x^{*}=x^{opt}(v)} as above.

3. It pays, to each agenti{\displaystyle i}, a sum of money equal to the total values of theother agents:

pi:=jivj(x){\displaystyle p_{i}:=\sum _{j\neq i}v_{j}(x^{*})}

4. It pays, to each agenti{\displaystyle i}, an additional sum, based on an arbitrary function of the values of the other agents:

pi+hi(vi){\displaystyle p_{i}+h_{i}(v_{-i})}

wherevi=(v1,,vi1,vi+1,,vn){\displaystyle v_{-i}=(v_{1},\dots ,v_{i-1},v_{i+1},\dots ,v_{n})}, that is,hi{\displaystyle h_{i}} is a function that depends only on the valuations of the other agents.

Truthfulness

[edit]

Every mechanism in the VCG family is atruthful mechanism, that is, a mechanism where bidding the true valuation is adominant strategy.

The trick is in step 3. The agent is paid the total value of the other agents; hence, together with its own value, the total welfare of the agent is exactly equal to the total welfare of society. Hence, the incentives of the agent are aligned with those of the society and the agent is incentivized to be truthful in order to help the mechanism achieve its goal.

The functionhi{\displaystyle h_{i}}, in step 4, does not affect the agent's incentives, since it depends only on the declarations of the other agents.

The Clarke pivot rule

[edit]
See also:Edward H. Clarke

The functionhi{\displaystyle h_{i}} is a parameter of the mechanism. Every selection ofhi{\displaystyle h_{i}} yields a different mechanism in the VCG family.

We could take, for example:

hi(vi)=0{\displaystyle h_{i}(v_{-i})=0},

but then we would have to actually pay the players to participate in the auction. We would rather prefer that players give money to the mechanism.

An alternative function is:

hi(vi)=maxxXjivj(x){\displaystyle h_{i}(v_{-i})=-\max _{x\in X}\sum _{j\neq i}v_{j}(x)}

It is called theClarke pivot rule. With the Clarke pivot rule, the total amount paid by the player is:

(social welfare of others ifi{\displaystyle i} were absent) - (social welfare of others wheni{\displaystyle i} is present).

This is exactly theexternality of playeri{\displaystyle i}.[2]

When the valuations of all agents are weakly-positive, the Clarke pivot rule has two important properties:

This makes the VCG mechanism awin-win game: the players receive the outcomes they desire, and pay an amount which is less than their gain. So the players remain with a net positive gain, and the mechanism gains a net positive payment.

Weighted VCG mechanism

[edit]

Instead of maximizing the sum of values, we may want to maximize aweighted sum:

xopt(v)=argmaxxXi=1nwivi(x){\displaystyle x^{opt}(v)=\arg \max _{x\in X}\sum _{i=1}^{n}w_{i}v_{i}(x)}

wherewi{\displaystyle w_{i}} is a weight assigned to agenti{\displaystyle i}.

The VCG mechanism from above can easily be generalized by changing the price function in step 3 to:

pi:=1wijiwjvj(x){\displaystyle p_{i}:={1 \over w_{i}}\sum _{j\neq i}w_{j}v_{j}(x^{*})}

Cost minimization

[edit]

The VCG mechanism can be adapted to situations in which the goal is to minimize the sum of costs (instead of maximizing the sum of gains). Costs can be represented as negative values, so that minimization of cost is equivalent to maximization of values.

The payments in step 3 are negative: each agent has to pay the total cost incurred by all other agents. If agents are free to choose whether to participate or not, then we must make sure that their net payment is non-negative (this requirement is calledindividual rationality). The Clarke pivot rule can be used for this purpose: in step 4, each agenti{\displaystyle i} is paid the total cost that would have been incurred by other agents, if the agenti{\displaystyle i} would not participate. The net payment to agenti{\displaystyle i} is its marginal contribution to reducing the total cost.

Applications

[edit]

Auctions

[edit]

TheVickrey–Clarke–Groves auction is a specific application of the VCG mechanism to the problem of selling goods. Here,X{\displaystyle X} is the set of all possible allocations of items to the agents. Each agent assigns a personal monetary value to each bundle of items, and the goal is to maximize the sum of values for all agents.

A well-known special case is theVickrey auction, or the sealed second-bid auction. Here, there is only a single item, and the setX{\displaystyle X} containsn+1{\displaystyle n+1} possible outcomes: either sell the item to one of then{\displaystyle n} agents, or not to sell it at all. In step 3, the winner agent is paid 0 (since the total value of the others is 0) and the losers receive a payment equal to the declared value of the winner. In step 4, the winner pays the second-highest bid (the total value of the others had he not participated) and the losers pay the declared value of the winner (the total value of the others had they not participated). All in all, the winner pays the second-highest bid and the losers pay 0.

A VCG mechanism can also be used in adouble auction. It is the most general form of incentive-compatible double-auction since it can handle acombinatorial auction with arbitrary value functions on bundles. Unfortunately, it is not budget-balanced: the total value paid by the buyers is smaller than the total value received by the sellers. Hence, in order to make it work, the auctioneer has to subsidize the trade.

Public project

[edit]

The government wants to decide whether to undertake a certain project. The cost of the project isC. Each citizen derives a different value from the project. The project should be undertaken if the sum of values of all citizens is more than the cost. Here, the VCG mechanism with the Clarke pivot rule means that a citizen pays a non-zero tax for that projectif and only if they are pivotal, i.e., without their declaration the total value is less thanC and with their declaration the total value is more thanC. This taxing scheme is incentive-compatible, but again it is not budget-balanced – the total amount of tax collected is usually less thanC.[1]: 221 

Quickest paths

[edit]

Thequickest path problem is a cost-minimization problem.[3] The goal is to send a message between two points in a communication network, which is modeled as a graph. Each computer in the network is modeled as an edge in the graph. Different computers have different transmission speeds, so every edge in the network has a numeric cost equal to the number of milliseconds it takes to transmit the message. Our goal is to send the message as quickly as possible, so we want to find the path with the smallest total cost.

If we know the transmission-time of each computer (-the cost of each edge), then we can use a standard algorithm for solving theshortest path problem. If we do not know the transmission times, then we have to ask each computer to tell us its transmission-time. But, the computers have their own selfish interests so they might not tell us the truth. For example, a computer might tell us that its transmission time is very large, so that we will not bother it with our messages.

The VCG mechanism can be used to solve this problem. Here,X{\displaystyle X} is the set of all possible paths; the goal is to select a pathxX{\displaystyle x\in X} with minimal total cost.

The value of an agent,vi(x){\displaystyle v_{i}(x)}, is minus the time it spent on the message: it is negative ifix{\displaystyle i\in x} and it is zero ifix{\displaystyle i\notin x}. The payment in step 3 is negative: each agent should pay to us the total time that the other agents spent on the message (note that the value is measured in units of time. We assume that it is possible to pay computers in units of time, or that it there is a standard way to translate time to money). This means that, together with its own spent time, each agent actually loses the total time it took the message to arrive its destination, so the agent is incentivized to help the mechanism achieve the shortest transmission time.

The Clarke pivot rule can be used to make the mechanism individually-rational: after paying us the cost, each agent receives from us a positive payment, which is equal to the time it would have taken the message to arrive at its destination if the agent would not have been present. Obviously, this time is weakly larger than the time required when the agent is present, so the net gain of every agent is weakly positive. Intuitively, each agent is paid according to its marginal contribution to the transmission.

Other graph problems can be solved in a similar way, e.g.minimum spanning tree ormaximum matching. A similar solution applies to the more general case where each agent holds some subset of the edges.[3]

For another example, where the VCG mechanism provides a sub-optimal approximation, seetruthful job scheduling.

Uniqueness

[edit]

A VCG mechanism implements autilitarian social-choice function - a function that maximizes a weighted sum of values (also called anaffine maximizer). Roberts' theorem proves that, if:

thenonly weighted utilitarian functions can be implemented.[1]: 228, chap.12 So with unrestricted valuations, the social-choice functions implemented by VCG mechanisms are theonly functions that can be implemented truthfully.

Moreover, the price-functions of the VCG mechanisms are also unique in the following sense.[1]: 230–231  If:

Then, there exist functionsh1,,hn{\displaystyle h_{1},\dots ,h_{n}} such that, for alli{\displaystyle i}:

pi(vi,vi)=pi(vi,vi)+hi(vi){\displaystyle p'_{i}(v_{i},v_{-i})=p_{i}(v_{i},v_{-i})+h_{i}(v_{-i})}

I.e, the price functions of the two mechanisms differ only by a function that does not depend on the agent's valuationvi{\displaystyle v_{i}} (only on the valuations of the other agents).

This means that VCG mechanisms are the only truthful mechanisms that maximize theutilitarian social-welfare.

Computational issues

[edit]

A VCG mechanism has to calculate the optimal outcome, based on the agents' reports (step 2 above). In some cases, this calculation is computationally difficult. For example, incombinatorial auctions, calculating the optimal assignment isNP-hard.[1]: 270–273, chap.11 

Sometimes there areapproximation algorithms to theoptimization problem, but, using such an approximation might make the mechanism non-truthful.[3]

See also

[edit]

References

[edit]
  1. ^abcdeVazirani, Vijay V.;Nisan, Noam;Roughgarden, Tim;Tardos, Éva (2007).Algorithmic Game Theory(PDF). Cambridge, UK: Cambridge University Press.ISBN 0-521-87282-0.
  2. ^Avrim Blum (February 28, 2013)."Algorithms, Games, and Networks - Lecture 14"(PDF). Retrieved28 December 2015.
  3. ^abcNisan, Noam; Ronen, Amir (2001). "Algorithmic Mechanism Design".Games and Economic Behavior.35 (1–2):166–196.CiteSeerX 10.1.1.16.7473.doi:10.1006/game.1999.0790.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Vickrey–Clarke–Groves_mechanism&oldid=1320594499"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp