72
Voting and Mechanism Design Voting and Mechanism Design Jos´ e M Vidal Department of Computer Science and Engineering, University of South Carolina March 26, 2010 Abstract Voting, Mechanism design, and distributed algorithmics mechanism design. Chapter 8.

Voting and Mechanism Design

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Voting and Mechanism Design

Voting and Mechanism Design

Jose M Vidal

Department of Computer Science and Engineering, University of South Carolina

March 26, 2010

Abstract

Voting, Mechanism design, and distributed algorithmicsmechanism design. Chapter 8.

Voting and Mechanism Design

Voting

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Voting

Why Vote?

Common way of aggregating agents’ preferences.

Well understood.

But, centralized.

Voting and Mechanism Design

Voting

The Problem

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Voting

The Problem

The Voting Problem

MilkWineBeer

WineBeerMilk

BeerWineMilk

Beer Wine Milk

Plurality

5 4 6

Runoff

5,9 4 6,6

Pairwise

1 2 0

Voting and Mechanism Design

Voting

The Problem

The Voting Problem

MilkWineBeer

WineBeerMilk

BeerWineMilk

Beer Wine Milk

Plurality 5 4 6Runoff

5,9 4 6,6

Pairwise

1 2 0

Voting and Mechanism Design

Voting

The Problem

The Voting Problem

MilkWineBeer

WineBeerMilk

BeerWineMilk

Beer Wine Milk

Plurality 5 4 6Runoff 5,9 4 6,6

Pairwise

1 2 0

Voting and Mechanism Design

Voting

The Problem

The Voting Problem

MilkWineBeer

WineBeerMilk

BeerWineMilk

Beer Wine Milk

Plurality 5 4 6Runoff 5,9 4 6,6

Pairwise 1 2 0

Voting and Mechanism Design

Voting

Solutions

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Voting

Solutions

Symmetry

Reflectional symmetry: If one agent prefers A to B andanother one prefers B to A then their votes should cancel eachother out.

Rotational symmetry: If one agent prefers A,B,C and anotherone prefers B,C,A and another one prefers C,A,B then theirvotes should cancel out.

Plurality vote violates reflectional symmetry, so does runoffvoting.

Pairwise comparison violates rotational symmetry.

Voting and Mechanism Design

Voting

Solutions

Symmetry

Reflectional symmetry: If one agent prefers A to B andanother one prefers B to A then their votes should cancel eachother out.

Rotational symmetry: If one agent prefers A,B,C and anotherone prefers B,C,A and another one prefers C,A,B then theirvotes should cancel out.

Plurality vote violates reflectional symmetry, so does runoffvoting.

Pairwise comparison violates rotational symmetry.

Voting and Mechanism Design

Voting

Solutions

Borda Count

Jean-Charles deBorda. 1733–1799.

1 With x candidates, each agent awards xto points to his first choice, x − 1 pointsto his second choice, and so on.

2 The candidate with the most points wins.

Borda satisfies both reflectional and rotationalsymmetry.

Voting and Mechanism Design

Voting

Solutions

Formalization

There is a set of A agents, and O outcomes.

Each agent i has a preference function >i over the set ofoutcomes.

Let >∗ be the global set of social preferences. That is, whatwe want the outcome to be.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Definition (Desirable Voting Outcome Conditions)

1 >∗ exists for all possible inputs >i

2 >∗ exists for every pair of outcomes

3 >∗ is asymmetric and transitive over the set of outcomes

4 >∗ should be Pareto efficient.

5 The scheme used to arrive at >∗ should be independent ofirrelevant alternatives.

6 No agent should be a dictator in the sense that >∗ is alwaysthe same as >i , no matter what the other >j are.

Voting and Mechanism Design

Voting

Solutions

Kenneth Arrow

Theorem (Arrow’s Impossibility)

There is no social choice rule that satisfies thesix conditions.

Plurality voting relaxes 3 and 5. Adding athird candidate can wreak havoc.

Pairwise relaxes 5.

Borda violates 5.

Voting and Mechanism Design

Voting

Solutions

Kenneth Arrow

Theorem (Arrow’s Impossibility)

There is no social choice rule that satisfies thesix conditions.

Plurality voting relaxes 3 and 5. Adding athird candidate can wreak havoc.

Pairwise relaxes 5.

Borda violates 5.

Voting and Mechanism Design

Voting

Solutions

Borda Example

1 a > b > c > d

2 b > c > d > a

3 c > d > a > b

4 a > b > c > d

5 b > c > d > a

6 c > d > a > b

7 a > b > c > d

1 c gets 20 points

2 b gets 19 points

3 a gets 18 points

4 d gets 13 points

Voting and Mechanism Design

Voting

Solutions

Borda Example

1 a > b > c > d

2 b > c > d > a

3 c > d > a > b

4 a > b > c > d

5 b > c > d > a

6 c > d > a > b

7 a > b > c > d

1 c gets 20 points

2 b gets 19 points

3 a gets 18 points

4 d gets 13 points

Voting and Mechanism Design

Voting

Solutions

Borda Example

Let’s get rid of d .

1 a > b > c > d

2 b > c > d > a

3 c > d > a > b

4 a > b > c > d

5 b > c > d > a

6 c > d > a > b

7 a > b > c > d

1 a gets 15 points

2 b gets 14 points

3 c gets 13 points

Voting and Mechanism Design

Voting

Solutions

Borda Example

Let’s get rid of d .

1 a > b > c

2 b > c > a

3 c > a > b

4 a > b > c

5 b > c > a

6 c > a > b

7 a > b > c

1 a gets 15 points

2 b gets 14 points

3 c gets 13 points

Voting and Mechanism Design

Voting

Solutions

Borda Example

Let’s get rid of d .

1 a > b > c

2 b > c > a

3 c > a > b

4 a > b > c

5 b > c > a

6 c > a > b

7 a > b > c

1 a gets 15 points

2 b gets 14 points

3 c gets 13 points

Voting and Mechanism Design

Voting

Summary

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Voting

Summary

Voting Summary

1 Use Borda count whenever possible.

2 Practically, Borda requires calculating all preferences: oftencomputationally hard.

Voting and Mechanism Design

Centralized Mechanism Design

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Wants house painted?

Alice YesBob NoCaroline YesDonald YesEmily Yes

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Formal Definition

Each agent i has a type θi ∈ Θi which is private.

θ = {θ1, θ2, . . . , θA}.The protocol results in some outcome o ∈ O.

Each agent i gets a value vi (o, θi ) for outcome o.

The social choice function f (θ) tells us the outcome we wantto achieve. For example,

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi ) (1)

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Formal Definition

Each agent i has a type θi ∈ Θi which is private.

θ = {θ1, θ2, . . . , θA}.

The protocol results in some outcome o ∈ O.

Each agent i gets a value vi (o, θi ) for outcome o.

The social choice function f (θ) tells us the outcome we wantto achieve. For example,

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi ) (1)

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Formal Definition

Each agent i has a type θi ∈ Θi which is private.

θ = {θ1, θ2, . . . , θA}.The protocol results in some outcome o ∈ O.

Each agent i gets a value vi (o, θi ) for outcome o.

The social choice function f (θ) tells us the outcome we wantto achieve. For example,

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi ) (1)

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Formal Definition

Each agent i has a type θi ∈ Θi which is private.

θ = {θ1, θ2, . . . , θA}.The protocol results in some outcome o ∈ O.

Each agent i gets a value vi (o, θi ) for outcome o.

The social choice function f (θ) tells us the outcome we wantto achieve. For example,

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi ) (1)

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Formal Definition

Each agent i has a type θi ∈ Θi which is private.

θ = {θ1, θ2, . . . , θA}.The protocol results in some outcome o ∈ O.

Each agent i gets a value vi (o, θi ) for outcome o.

The social choice function f (θ) tells us the outcome we wantto achieve. For example,

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi ) (1)

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Type (θi ) vi (Paint, θi ) vi (NoPaint, θi )

Alice WantPaint 10 0Bob DontNeedPaint 0 0Caroline WantPaint 10 0Donald WantPaint 10 0Emily WantPaint 10 0

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Type (θi ) vi (Paint, θi ) vi (NoPaint, θi )

Alice WantPaint 10 0Bob DontNeedPaint 0 0Caroline WantPaint 10 0Donald WantPaint 10 0Emily WantPaint 10 0

Try this: Everyone votes Y/N. If majority votes Y then painthouse. All pay 1/5 of cost (4 each).

Bob must pay for a paint job he didn’t want.

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Type (θi ) vi (Paint, θi ) vi (NoPaint, θi )

Alice WantPaint 10 0Bob DontNeedPaint 0 0Caroline WantPaint 10 0Donald WantPaint 10 0Emily WantPaint 10 0

Try this: Everyone votes Y/N. If majority votes Y then painthouse. All pay 1/5 of cost (4 each).

Bob must pay for a paint job he didn’t want.

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Type (θi ) vi (Paint, θi ) vi (NoPaint, θi )

Alice WantPaint 10 0Bob DontNeedPaint 0 0Caroline WantPaint 10 0Donald WantPaint 10 0Emily WantPaint 10 0

Try this: Everyone votes Y/N. Split cost among those whovoted Y.

There is an incentive for all but Bob to lie.

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Painting the House

Name Type (θi ) vi (Paint, θi ) vi (NoPaint, θi )

Alice WantPaint 10 0Bob DontNeedPaint 0 0Caroline WantPaint 10 0Donald WantPaint 10 0Emily WantPaint 10 0

Try this: Everyone votes Y/N. Split cost among those whovoted Y.

There is an incentive for all but Bob to lie.

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Definition (g Implements f )

A mechanism g : S1 × · · · × SA → O implements social choicefunction f (·) if there is an equilibrium strategy profile(S∗1 (·), . . . ,S∗A(·)) of the game induced by g such thatg(S∗1 (θ1), . . . ,S∗A(θA)) = f (θ1, . . . , θA) for all θ ∈ Θ.

Where we let Si (θi ) be agent i ’s strategy given that it is of type θi .

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Definition (Dominant Strategy Equilibrium)

A strategy profile (S∗1 (·), . . . ,S∗A(·)) of the game induced by g is adominant strategy equilibrium if for all i and all θi ,

vi (g(s∗i (θi ), s−i ), θi ) ≥ vi (g(s ′i , s−i ), θi )

for all s ′i ∈ Si and all s−i ∈ S−i .

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Definition (g Implements f )

A mechanism g : S1 × · · · × SA → O implements social choicefunction f (·) in dominant strategies if there is a dominant strategyequilibrium strategy profile (S∗1 (·), . . . ,S∗A(·)) of the game inducedby g such that g(S∗1 (θ1), . . . ,S∗A(θA)) = f (θ1, . . . , θA) for allθ ∈ Θ.

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Definition (Strategy-Proof)

The social choice function f (·) is truthfully implementable indominant strategies (or strategy-proof) if s∗i (θi ) = θi (for allθi ∈ Θi and all i) is a dominant strategy equilibrium of the directrevelation mechanism f (·). That is, if for all i and all θi ∈ Θi ,

vi (f (θi , θ−i ), θi ) ≥ vi (f (θi , θ−i ), θi )

for all θi ∈ Θi and all θ−i ∈ Θ−i .

Voting and Mechanism Design

Centralized Mechanism Design

Problem Description

Theorem (Revelation Principle)

If there exists a mechanism g that implements the social choicefunction f in dominant strategies then f is truthfullyimplementable in dominant strategies.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Selling Example

θi ∈ <: types are the valuations.

o ∈ {1, . . . , n}: index of agent who gets the item.

vi (o, θi ) = θi if o = i , and 0 otherwise.

f (θ) = arg maxi (θi )

Each agent gets a pi (o) so that ui (o, θi ) = vi (o, θi ) + pi (o).

Set p(o) such that the agent who wins must pay a tax equal to thesecond highest valuation. No one else pays/gets anything.

ui (o, θi ) =

{θi −maxj 6=i θj if o = i

0 otherwise.

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Truth-Telling is Dominant in Vickrey Payments Example.

1 Let bi (θi ) be i ’s bid given that his true valuation is θi .

2 Let b′ = maxj 6=i bj(θj) be the highest bid amongst the rest.

3 If b′ < θi then any bid bi (θi ) > b′ is optimal since

ui (i , θi ) = θi − b′ > 0

4 If b′ > θi then any bid bi (θi ) < b′ is optimal since

ui (i , θi ) = 0

5 Since we have that if b′ < θi then i should bid > b′ and ifb′ > θi then i should bid < b′, and we don’t know b′ then ishould bid θi .

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Truth-Telling is Dominant in Vickrey Payments Example.

1 Let bi (θi ) be i ’s bid given that his true valuation is θi .

2 Let b′ = maxj 6=i bj(θj) be the highest bid amongst the rest.

3 If b′ < θi then any bid bi (θi ) > b′ is optimal since

ui (i , θi ) = θi − b′ > 0

4 If b′ > θi then any bid bi (θi ) < b′ is optimal since

ui (i , θi ) = 0

5 Since we have that if b′ < θi then i should bid > b′ and ifb′ > θi then i should bid < b′, and we don’t know b′ then ishould bid θi .

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Truth-Telling is Dominant in Vickrey Payments Example.

1 Let bi (θi ) be i ’s bid given that his true valuation is θi .

2 Let b′ = maxj 6=i bj(θj) be the highest bid amongst the rest.

3 If b′ < θi then any bid bi (θi ) > b′ is optimal since

ui (i , θi ) = θi − b′ > 0

4 If b′ > θi then any bid bi (θi ) < b′ is optimal since

ui (i , θi ) = 0

5 Since we have that if b′ < θi then i should bid > b′ and ifb′ > θi then i should bid < b′, and we don’t know b′ then ishould bid θi .

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Truth-Telling is Dominant in Vickrey Payments Example.

1 Let bi (θi ) be i ’s bid given that his true valuation is θi .

2 Let b′ = maxj 6=i bj(θj) be the highest bid amongst the rest.

3 If b′ < θi then any bid bi (θi ) > b′ is optimal since

ui (i , θi ) = θi − b′ > 0

4 If b′ > θi then any bid bi (θi ) < b′ is optimal since

ui (i , θi ) = 0

5 Since we have that if b′ < θi then i should bid > b′ and ifb′ > θi then i should bid < b′, and we don’t know b′ then ishould bid θi .

Voting and Mechanism Design

Centralized Mechanism Design

An Example Problem and Solution

Truth-Telling is Dominant in Vickrey Payments Example.

1 Let bi (θi ) be i ’s bid given that his true valuation is θi .

2 Let b′ = maxj 6=i bj(θj) be the highest bid amongst the rest.

3 If b′ < θi then any bid bi (θi ) > b′ is optimal since

ui (i , θi ) = θi − b′ > 0

4 If b′ > θi then any bid bi (θi ) < b′ is optimal since

ui (i , θi ) = 0

5 Since we have that if b′ < θi then i should bid > b′ and ifb′ > θi then i should bid < b′, and we don’t know b′ then ishould bid θi .

Voting and Mechanism Design

Centralized Mechanism Design

The Groves-Clarke Mechanism

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Centralized Mechanism Design

The Groves-Clarke Mechanism

Theorem (Groves-Clarke Mechanism)

If

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi )

then calculating the outcome using

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi )

(where θ are reported types) and giving the agents payments of

pi (θ) =∑j 6=i

vj(f (θ), θj)− hi (θ−i )

(where hi (θ−i ) is an arbitrary function) results in a strategy-proofmechanism.

Voting and Mechanism Design

Centralized Mechanism Design

The Groves-Clarke Mechanism

Groves-Clarke Payments for House Painting

Name vi (o, θ) vi (o, θ) +∑

j 6=i vj(θ)

Alice 10− 204 = 5

Bob 0− 0 = 0

Caroline 10− 204 = 5

Donald 10− 204 = 5

Emily 10− 204 = 5

Assuming all tell the truth.

Voting and Mechanism Design

Centralized Mechanism Design

The Groves-Clarke Mechanism

Groves-Clarke Payments for House Painting

Name vi (o, θ) vi (o, θ) +∑

j 6=i vj(θ)

Alice 10− 204 = 5 5 + 15 = 20

Bob 0− 0 = 0 0 + 20 = 20

Caroline 10− 204 = 5 5 + 15 = 20

Donald 10− 204 = 5 5 + 15 = 20

Emily 10− 204 = 5 5 + 15 = 20

Assuming all tell the truth.

Voting and Mechanism Design

Centralized Mechanism Design

The Groves-Clarke Mechanism

Groves-Clarke Payments for House Painting

Name vi (o, θ) vi (o, θ) +∑

j 6=i vj(θ)

Alice 0− 0 = 0 10 + (103 · 3) = 20

Bob 0− 0 = 0 0 + (103 · 3) = 10

Caroline 10− 203 = 10

3 10 + (103 · 2) = 10

Donald 10− 203 = 10

3 10 + (103 · 2) = 10

Emily 10− 203 = 10

3 10 + (103 · 2) = 10

Alice lies.

Voting and Mechanism Design

Centralized Mechanism Design

The Vickrey-Clarke-Groves Mechanism

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Centralized Mechanism Design

The Vickrey-Clarke-Groves Mechanism

Theorem (Vickrey-Clarke-Groves (VCG) Mechanism)

If

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi )

then calculating the outcome using

f (θ) = arg maxo∈O

n∑i=1

vi (o, θi )

(where θ are reported types) and giving the agents payments of

pi (θ) =∑j 6=i

vj(f (θ−i ), θj)−∑j 6=i

vj(f (θ), θj)

(where hi (θ−i ) is an arbitrary function) results in a strategy-proofmechanism.

Voting and Mechanism Design

Centralized Mechanism Design

The Vickrey-Clarke-Groves Mechanism

VCG Payments for House Painting

Name vi (o, θ)∑

j 6=i vj(f (θ−i ), θj)∑

j 6=i vj(·)−∑

j 6=i vj(·)

Alice 10− 204 = 5 (10− 20

3 ) · 3 = 10 10− 15 = 5

Bob 0− 0 = 0 (10− 204 ) · 4 = 20 20− 20 = 0

Caroline 10− 204 = 5 (10− 20

3 ) · 3 = 10 10− 15 = 5

Donald 10− 204 = 5 (10− 20

3 ) · 3 = 10 10− 15 = 5

Emily 10− 204 = 5 (10− 20

3 ) · 3 = 10 10− 15 = 5

Alice tells the truth.

Voting and Mechanism Design

Distributed Mechanism Design

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Distributed Mechanism Design

Distributed Algorithmic Mechanism Design

Algorithmic mechanism design: make mechanism polynomialtime

Distributed algorithmic mechanism design: make mechanismdistributed

Voting and Mechanism Design

Distributed Mechanism Design

Inter-Domain Routing Problem

AcA = 5

Xcx = 2

Zcz = 4 D

cd = 1

Bcb = 2

Ycy = 3

Voting and Mechanism Design

Conclusion

1 VotingThe ProblemSolutionsSummary

2 Centralized Mechanism DesignProblem DescriptionAn Example Problem and SolutionThe Groves-Clarke MechanismThe Vickrey-Clarke-Groves Mechanism

3 Distributed Mechanism Design

4 Conclusion

Voting and Mechanism Design

Conclusion

Conclusion

GC and VCG payment equations are useful ready-madesolutions to many problems.

But, we still need more research into how to distribute themechanisms and how to make their calculationcomputationally tractable.

Voting and Mechanism Design

Conclusion

Conclusion

GC and VCG payment equations are useful ready-madesolutions to many problems.

But, we still need more research into how to distribute themechanisms and how to make their calculationcomputationally tractable.