Voting and Mechanism Design
Voting and Mechanism Design Jos e M Vidal Department of Computer - - PowerPoint PPT Presentation
Voting and Mechanism Design Jos e M Vidal Department of Computer - - PowerPoint PPT Presentation
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
Voting and Mechanism Design Voting
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The Vickrey-Clarke-Groves Mechanism
3
Distributed Mechanism Design
4
Conclusion
Voting and Mechanism Design Voting The Problem
The Voting Problem
Milk Wine Beer Wine Beer Milk Beer Wine Milk Beer Wine Milk Plurality Runoff Pairwise
Voting and Mechanism Design Voting The Problem
The Voting Problem
Milk Wine Beer Wine Beer Milk Beer Wine Milk Beer Wine Milk Plurality 5 4 6 Runoff Pairwise
Voting and Mechanism Design Voting The Problem
The Voting Problem
Milk Wine Beer Wine Beer Milk Beer Wine Milk Beer Wine Milk Plurality 5 4 6 Runoff 5,9 4 6,6 Pairwise
Voting and Mechanism Design Voting The Problem
The Voting Problem
Milk Wine Beer Wine Beer Milk Beer Wine Milk Beer Wine Milk Plurality 5 4 6 Runoff 5,9 4 6,6 Pairwise 1 2
Voting and Mechanism Design Voting Solutions
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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 and another one prefers B to A then their votes should cancel each
- ther out.
Rotational symmetry: If one agent prefers A,B,C and another
- ne prefers B,C,A and another one prefers C,A,B then their
votes should cancel out.
Voting and Mechanism Design Voting Solutions
Symmetry
Reflectional symmetry: If one agent prefers A to B and another one prefers B to A then their votes should cancel each
- ther out.
Rotational symmetry: If one agent prefers A,B,C and another
- ne prefers B,C,A and another one prefers C,A,B then their
votes should cancel out. Plurality vote violates reflectional symmetry, so does runoff voting. Pairwise comparison violates rotational symmetry.
Voting and Mechanism Design Voting Solutions
Borda Count
Jean-Charles de
- Borda. 1733–1799.
1 With x candidates, each agent awards x
to points to his first choice, x − 1 points to his second choice, and so on.
2 The candidate with the most points wins.
Borda satisfies both reflectional and rotational symmetry.
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 of
- utcomes.
Let >∗ be the global set of social preferences. That is, what we want the outcome to be.
Voting and Mechanism Design Voting Solutions
Definition (Desirable Voting Outcome Conditions)
1 >∗ exists for all possible inputs >i
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
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
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.
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 of
irrelevant alternatives.
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 of
irrelevant alternatives.
6 No agent should be a dictator in the sense that >∗ is always
the 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 the six conditions.
Voting and Mechanism Design Voting Solutions
Kenneth Arrow Theorem (Arrow’s Impossibility) There is no social choice rule that satisfies the six conditions. Plurality voting relaxes 3 and 5. Adding a third 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
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
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
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
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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: often
computationally hard.
Voting and Mechanism Design Centralized Mechanism Design
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The Vickrey-Clarke-Groves Mechanism
3
Distributed Mechanism Design
4
Conclusion
Voting and Mechanism Design Centralized Mechanism Design Problem Description
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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 Yes Bob No Caroline Yes Donald Yes Emily Yes
Voting and Mechanism Design Centralized Mechanism Design Problem Description
Formal Definition
Each agent i has a type θi ∈ Θi which is private.
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}.
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.
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.
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 want to achieve. For example, f (θ) = arg max
- ∈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 Bob DontNeedPaint Caroline WantPaint 10 Donald WantPaint 10 Emily WantPaint 10
Voting and Mechanism Design Centralized Mechanism Design Problem Description
Painting the House
Name Type (θi) vi(Paint, θi) vi(NoPaint, θi) Alice WantPaint 10 Bob DontNeedPaint Caroline WantPaint 10 Donald WantPaint 10 Emily WantPaint 10 Try this: Everyone votes Y/N. If majority votes Y then paint
- house. All pay 1/5 of cost (4 each).
Voting and Mechanism Design Centralized Mechanism Design Problem Description
Painting the House
Name Type (θi) vi(Paint, θi) vi(NoPaint, θi) Alice WantPaint 10 Bob DontNeedPaint Caroline WantPaint 10 Donald WantPaint 10 Emily WantPaint 10 Try this: Everyone votes Y/N. If majority votes Y then paint
- house. 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 Bob DontNeedPaint Caroline WantPaint 10 Donald WantPaint 10 Emily WantPaint 10 Try this: Everyone votes Y/N. Split cost among those who voted Y.
Voting and Mechanism Design Centralized Mechanism Design Problem Description
Painting the House
Name Type (θi) vi(Paint, θi) vi(NoPaint, θi) Alice WantPaint 10 Bob DontNeedPaint Caroline WantPaint 10 Donald WantPaint 10 Emily WantPaint 10 Try this: Everyone votes Y/N. Split cost among those who voted 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 choice function f (·) if there is an equilibrium strategy profile (S∗
1(·), . . . , S∗ A(·)) of the game induced by g such that
g(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 a
dominant 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 choice function f (·) in dominant strategies if there is a dominant strategy equilibrium strategy profile (S∗
1(·), . . . , S∗ A(·)) of the game induced
by 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 in dominant strategies (or strategy-proof) if s∗
i (θi) = θi (for all
θi ∈ Θi and all i) is a dominant strategy equilibrium of the direct revelation 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 choice function f in dominant strategies then f is truthfully implementable in dominant strategies.
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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.
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
Selling Example
θi ∈ ℜ: types are the valuations.
- ∈ {1, . . . , n}: index of agent who gets the item.
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
Selling Example
θi ∈ ℜ: types are the valuations.
- ∈ {1, . . . , n}: index of agent who gets the item.
vi(o, θi) = θi if o = i, and 0 otherwise.
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
Selling Example
θi ∈ ℜ: types are the valuations.
- ∈ {1, . . . , n}: index of agent who gets the item.
vi(o, θi) = θi if o = i, and 0 otherwise. f (θ) = arg maxi(θi)
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
Selling Example
θi ∈ ℜ: types are the valuations.
- ∈ {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).
Voting and Mechanism Design Centralized Mechanism Design An Example Problem and Solution
Selling Example
θi ∈ ℜ: types are the valuations.
- ∈ {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 the second highest valuation. No one else pays/gets anything. ui(o, θi) = θi − maxj=i θj if o = i
- therwise.
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.
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=i bj(θj) be the highest bid amongst the rest.
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=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
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=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
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=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 if
b′ > θi then i should bid < b′, and we don’t know b′ then i should bid θi.
Voting and Mechanism Design Centralized Mechanism Design The Groves-Clarke Mechanism
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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 max
- ∈O
n
- i=1
vi(o, θi) then calculating the outcome using f (˜ θ) = arg max
- ∈O
n
- i=1
vi(o, ˜ θi) (where ˜ θ are reported types) and giving the agents payments of pi(˜ θ) =
- j=i
vj(f (˜ θ), ˜ θj) − hi(˜ θ−i) (where hi(θ−i) is an arbitrary function) results in a strategy-proof mechanism.
Voting and Mechanism Design Centralized Mechanism Design The Groves-Clarke Mechanism
Groves-Clarke Payments for House Painting
Name vi(o, ˜ θ) vi(o, θ) +
j=i vj(˜
θ) Alice 10 − 20
4 = 5
Bob 0 − 0 = 0 Caroline 10 − 20
4 = 5
Donald 10 − 20
4 = 5
Emily 10 − 20
4 = 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=i vj(˜
θ) Alice 10 − 20
4 = 5
5 + 15 = 20 Bob 0 − 0 = 0 0 + 20 = 20 Caroline 10 − 20
4 = 5
5 + 15 = 20 Donald 10 − 20
4 = 5
5 + 15 = 20 Emily 10 − 20
4 = 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=i vj(˜
θ) Alice 0 − 0 = 0 10 + ( 10
3 · 3) = 20
Bob 0 − 0 = 0 0 + ( 10
3 · 3) = 10
Caroline 10 − 20
3 = 10 3
10 + ( 10
3 · 2) = 10
Donald 10 − 20
3 = 10 3
10 + ( 10
3 · 2) = 10
Emily 10 − 20
3 = 10 3
10 + ( 10
3 · 2) = 10
Alice lies.
Voting and Mechanism Design Centralized Mechanism Design The Vickrey-Clarke-Groves Mechanism
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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 max
- ∈O
n
- i=1
vi(o, θi) then calculating the outcome using f (˜ θ) = arg max
- ∈O
n
- i=1
vi(o, ˜ θi) (where ˜ θ are reported types) and giving the agents payments of pi(˜ θ) =
- j=i
vj(f (˜ θ−i), ˜ θj) −
- j=i
vj(f (˜ θ), ˜ θj) (where hi(θ−i) is an arbitrary function) results in a strategy-proof mechanism.
Voting and Mechanism Design Centralized Mechanism Design The Vickrey-Clarke-Groves Mechanism
VCG Payments for House Painting
Name vi(o, ˜ θ)
- j=i vj(f (˜
θ−i), ˜ θj)
- j=i vj(·) −
j=i vj(·)
Alice 10 − 20
4 = 5
(10 − 20
3 ) · 3 = 10
10 − 15 = 5 Bob 0 − 0 = 0 (10 − 20
4 ) · 4 = 20
20 − 20 = 0 Caroline 10 − 20
4 = 5
(10 − 20
3 ) · 3 = 10
10 − 15 = 5 Donald 10 − 20
4 = 5
(10 − 20
3 ) · 3 = 10
10 − 15 = 5 Emily 10 − 20
4 = 5
(10 − 20
3 ) · 3 = 10
10 − 15 = 5 Alice tells the truth.
Voting and Mechanism Design Distributed Mechanism Design
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The 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 polynomial time Distributed algorithmic mechanism design: make mechanism distributed
Voting and Mechanism Design Distributed Mechanism Design
Inter-Domain Routing Problem
A cA = 5 X cx = 2 Z cz = 4 D cd = 1 B cb = 2 Y cy = 3
Voting and Mechanism Design Conclusion
1
Voting The Problem Solutions Summary
2
Centralized Mechanism Design Problem Description An Example Problem and Solution The Groves-Clarke Mechanism The Vickrey-Clarke-Groves Mechanism
3
Distributed Mechanism Design
4
Conclusion
Voting and Mechanism Design Conclusion
Conclusion
GC and VCG payment equations are useful ready-made solutions to many problems.
Voting and Mechanism Design Conclusion