Download Mechanism Design and Truthful Algorithms

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Marginalism wikipedia , lookup

Preference (economics) wikipedia , lookup

Arrow's impossibility theorem wikipedia , lookup

Microeconomics wikipedia , lookup

Choice modelling wikipedia , lookup

Mechanism design wikipedia , lookup

Transcript
Mechanism Design and Truthful
Algorithms
Ocan Sankur
13/06/2013
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
1 / 25
Mechanism Design
Mechanism design is about designing games in which some desired
objective is achieved when all players play selfishly.
Reverse game theory: Rather than analyzing a given game, design one
that fits your needs.
In this talk, we will see several mechanisms where the best strategy is to
tell the truth.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
2 / 25
Motivation
Public Project Problem
A public good is to be constructed, with cost c.
There are n agents who will enjoy this good, each with appreciation vi ≥ 0.
If the project is accepted, everyone pays c/n;
the utility of agent i is vi − c/n.
If the project is rejected, no cost, and all utilies are 0.
Decision rule: Accept iff
Ocan Sankur (ULB)
Pn
i=1 vi
≥ c.
Mechanism Design and Truthful Algorithms
June 13, 2013
3 / 25
Motivation
Public Project Problem
A public good is to be constructed, with cost c.
There are n agents who will enjoy this good, each with appreciation vi ≥ 0.
If the project is accepted, everyone pays c/n;
the utility of agent i is vi − c/n.
If the project is rejected, no cost, and all utilies are 0.
Decision rule: Accept iff
Pn
i=1 vi
≥ c.
Possible manipulation:
I If vi > c/n, then Agent i should declare c and guarantee that the
project is accepted!
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
3 / 25
Motivation
Public Project Problem
A public good is to be constructed, with cost c.
There are n agents who will enjoy this good, each with appreciation vi ≥ 0.
If the project is accepted, everyone pays c/n;
the utility of agent i is vi − c/n.
If the project is rejected, no cost, and all utilies are 0.
Decision rule: Accept iff
Pn
i=1 vi
≥ c.
Possible manipulation:
I If vi > c/n, then Agent i should declare c and guarantee that the
project is accepted!
I If vi < c/n, and if everyone else is truthful, then Agent i could try
declaring 0.
Mechanism design: design games that selfish players cannot manipulate.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
3 / 25
Direct Revelation Mechanisms
An outcome is to be chosen by a central authority from a set A.
There are n agents with different preferences.
0. Each agent i has a true valuation vi : A → R,
1. Each agent i declares a valuation vi0 : A → R,
2. A social choice function f : V1 × . . . Vn → A is applied on (vi0 )i .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
4 / 25
Direct Revelation Mechanisms
An outcome is to be chosen by a central authority from a set A.
There are n agents with different preferences.
0. Each agent i has a true valuation vi : A → R,
1. Each agent i declares a valuation vi0 : A → R,
2. A social choice function f : V1 × . . . Vn → A is applied on (vi0 )i .
Currency
To prevent manipulations, we need a common currency in which agents
can pay taxes or be paid.
Given outcome a, if Player i pays some quantity m of money, then his
utility is vi (a) − m.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
4 / 25
Direct Revelation Mechanisms
An outcome is to be chosen by a central authority from a set A.
There are n agents with different preferences.
0.
1.
2.
3.
pi
Each agent i has a true valuation vi : A → R,
Each agent i declares a valuation vi0 : A → R,
A social choice function f : V1 × . . . Vn → A is applied on (vi0 )i .
Each agent i pays an amount determined by a payment function
: V1 × . . . Vn → R.
Currency
To prevent manipulations, we need a common currency in which agents
can pay taxes or be paid.
Given outcome a, if Player i pays some quantity m of money, then his
utility is vi (a) − m.
Mechanism: (f , p1 , . . . , pn ).
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
4 / 25
Example
Sell an item to the highest bidder.
Objective: No one should increase his utility by lying.
Regular Auction
An item is to be sold to the highest bidder.
A = set of bidders.
Each player has a private value vi , and declares a value vi0 .
Payment functions: The highest bidder i0 pays vi00 , others pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − vi00 , for others it
is 0.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
5 / 25
Example
Sell an item to the highest bidder.
Objective: No one should increase his utility by lying.
Regular Auction
An item is to be sold to the highest bidder.
A = set of bidders.
Each player has a private value vi , and declares a value vi0 .
Payment functions: The highest bidder i0 pays vi00 , others pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − vi00 , for others it
is 0.
Assume every one is telling the truth, and v1 < v2 < . . . < vn−1 < vn .
Outcome: n gets the item and pays vn . Utility: 0.
But he would rather lie and declare vn−1 + , and have utility vn − vn−1 − .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
5 / 25
Example
Sell an item to the highest bidder.
Objective: No one should increase his utility by lying.
Regular Auction
An item is to be sold to the highest bidder.
A = set of bidders.
Each player has a private value vi , and declares a value vi0 .
Payment functions: The highest bidder i0 pays vi00 , others pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − vi00 , for others it
is 0.
Assume every one is telling the truth, and v1 < v2 < . . . < vn−1 < vn .
Outcome: n gets the item and pays vn . Utility: 0.
But he would rather lie and declare vn−1 + , and have utility vn − vn−1 − .
Open to manipulation! Players will try to learn others’ valuations.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
5 / 25
Objective & Constraints
Social Welfare
We focus on social choice functions that maximize social welfare, i.e.
f (~v ) ∈ argmaxa∈A
n
X
vi (a).
i=1
Truthfulness
Given f , we want to find p1 , . . . , pn such that
vi (f (~v )) − pi (~v ) ≥ vi (f (~v−i , vi0 )) − pi (~v−i , vi0 ).
Telling the truth should be a dominant strategy (may not be unique).
Such a function is implementable: agents do not have incentive to cheat.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
6 / 25
Without payments
Without payments, what social choice functions are truthful?
Gibbard-Satterthwaite
Let f be a truthful social choice function onto A, with |A| ≥ 3, then f is a
dictatorship.
(the choice is dictated by one of the players).
Money and payments, or other assumptions are necessary to truthfully
implement non-trivial functions.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
7 / 25
Vickrey-Clarke-Groves (VCG) Mechanisms
VCG payments
Consider a social choice function f that maximizes social welfare.
Define payments by
P
pi (~v ) = hi (~v−i ) − j6=i vj (f (~v )),
where hi are arbitrary functions (not depending on vi )
Intuition:
- Each player is paid the social welfare of the other players.
⇒ has incentive to increase others’ welfare.
- A player’s own declaration does not affect hi . The payment is reduced
only by increasing others’ welfare.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
8 / 25
Vickrey-Clarke-Groves (VCG) Mechanisms - 2
Theorem
Consider a mechanism (f , p1 , . . . , pn ) which maximizes social welfare, and
payments are given by VCG (for any choice of hi ).
The mechanism is truthful.
Proof
For any player i with valuation vi , and declarations ~v−i of others, prove
that declaring vi is as good as declaring any other vi0 .
Denote a = f (vi , ~v−i ) and a0 = f (vi0 , ~v−i ).
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
9 / 25
Vickrey-Clarke-Groves (VCG) Mechanisms - 2
Theorem
Consider a mechanism (f , p1 , . . . , pn ) which maximizes social welfare, and
payments are given by VCG (for any choice of hi ).
The mechanism is truthful.
Proof
For any player i with valuation vi , and declarations ~v−i of others, prove
that declaring vi is as good as declaring any other vi0 .
~v−i ).
Denote a = f (vi , ~v−i ) and a0 = f (vi0 ,P
The utility of declaring vi isP
vi (a) + j6=i vj (a) − hi (~v−i ).
Declaring vi0 yields vi (a0 ) + j6=i vj (a0 ) − hi (~v−i ).
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
9 / 25
Vickrey-Clarke-Groves (VCG) Mechanisms - 2
Theorem
Consider a mechanism (f , p1 , . . . , pn ) which maximizes social welfare, and
payments are given by VCG (for any choice of hi ).
The mechanism is truthful.
Proof
For any player i with valuation vi , and declarations ~v−i of others, prove
that declaring vi is as good as declaring any other vi0 .
~v−i ).
Denote a = f (vi , ~v−i ) and a0 = f (vi0 ,P
The utility of declaring vi isP
vi (a) + j6=i vj (a) − hi (~v−i ).
Declaring vi0 yields vi (a0 ) + j6=i vj (a0 ) − hi (~v−i ).
But a = f (vi , ~v−i ) maximizes social welfare, so
X
X
vi (a) +
vj (a) − hi (~v−i ) ≥ vi (a0 ) +
vj (a0 ) − hi (~v−i ).
j6=i
Ocan Sankur (ULB)
j6=i
Mechanism Design and Truthful Algorithms
June 13, 2013
9 / 25
Example: Auction - 2
Vickrey Auction
An item is to be sold to the highest bidder.
Each player has a private value vi , and declares a value wi .
Payment functions: The highest bidder i0 pays maxi6=i0 wi , others
pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − wi0 , for others it
is 0.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
10 / 25
Example: Auction - 2
Vickrey Auction
An item is to be sold to the highest bidder.
Each player has a private value vi , and declares a value wi .
Payment functions: The highest bidder i0 pays maxi6=i0 wi , others
pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − wi0 , for others it
is 0.
Assume every one is telling the truth, and v1 < v2 < . . . < vn−1 < vn .
Outcome: n gets the item and pays vn−1 . Utility: vn − vn−1 .
Would lying help?
I If n declares vn0 > vn , he would still get the item and pay vn−1 . ⇒ same
utility.
I If n declares vn0 ∈ (vn−1 , vn ), same utility.
I If n declares vn0 ≤ vn−1 , he won’t get the item. ⇒ utility 0.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
10 / 25
Example: Auction - 2
Vickrey Auction
An item is to be sold to the highest bidder.
Each player has a private value vi , and declares a value wi .
Payment functions: The highest bidder i0 pays maxi6=i0 wi , others
pay 0.
Utilities: For the highest bidder i0 the utility is vi0 − wi0 , for others it
is 0.
In fact, payments in Vickrey’s auction are given by a VCG mechanism.
I
P Giving the item to the highest bidder maximizes social welfare i.e.
i vi (a).
I Highest bidder n pays
P
pn (~v ) = hi (~v−i ) − j6=i vj (f (~v ))
= vn−1
+0
Others pay 0.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
10 / 25
Rationality & Feasability
The choice of hi is rather arbitrary.
A mechanism is individually rational if always vi (f (~v )) − pi (~v ) ≥ 0.
P
A mechanism is feasible if always i pi (~v ) ≥ 0
(mechanism does not need external financing).
Clarke’s Pivot Rule: Choose
pi (~v ) = max
b
X
j6=i
vj (b) −
X
vj (a),
j6=i
where a = f (~v ).
Each player i pays the damage they cause to others.
Clarke’s Pivot Rule ⇒ all VCG mechanisms are ind. rational and feasible.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
11 / 25
Computer Science Example: Routing
Goal: Allocate the shortest (cheapest) path from s to t.
- Edges are owned by different selfish agents.
- Each edge e costs ce to the owner if it is taken, 0 otherwise.
P
Maximizing social welfare: finding
the shortest
path ( e∈p ce ).
P
P
VCG: To each e0 ∈ p, pay e∈p0 ce − e∈p\{e0 } ce , where p is the
shortest path, and p 0 the shortest path not using e0 .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
12 / 25
Extensions of VCG
Affine maximizer
A social choice function f is an affine maximizer if for some A0 ⊂ A, and
weights w1 , . . . , wn > 0, and ca ∈ R for a ∈ A0 , we have
X
wi vi (a)),
f (v1 , . . . , vn ) ∈ arg max0 (ca +
a∈A
i
Payment functions can be adapted naturally with the weights.
Theorem [Roberts 1979]
If |A| ≥ 3 and f is onto, Vi = RA , and (f , p1 , . . . , pn ) is truthful, then f is
an affine maximizer.
Not true for |A| ≤ 2.
Open question: Relaxing the hypothesis Vi = RA .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
13 / 25
Why Payments?
Reminder:
Gibbard-Satterthwaite
Let f : V1 × . . . × Vn → A be a truthful social choice function onto A,
with |A| ≥ 3, and Vi = RA , then f is a dictatorship.
For |A| = 2?
Affine maximizers are not the only truthful functions if Vi 6= RA .
In the rest: restrictions of Vi .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
14 / 25
Direct Characterization of Truthfulness
(Relevant when |A| ≤ 2 or Vi ( RA ).
A mechanism (f , p1 , . . . , pn ) is truthful iff the following holds for each i
and ~v ,
1
The payment pi only depends on f (~v ) and ~v−i (and not on vi in any
other way).
If we fix ~v−i , the payment pa only depends on the outcome a.
2
The mechanism optimizes for each player:
f (vi , ~v−i ) ∈ arg max(vi (a) − pa )
a
where a ranges over f (·, ~v−i ).
Proof.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
15 / 25
One-dimensional Valuations With Payments
In computer science, objectives different than maximizing social welfare
arise, e.g. truthful scheduling.
Several tasks need to be scheduled on different machines.
- Each machine declares its available processing time,
- and is a selfish agent, trying to avoid work.
We want to schedule with minimum makespan. If A is the set of
schedulings for machines M:
min max load(i).
a∈A i∈M
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
16 / 25
A Scheduling on Related Machines
There n jobs to be assigned to m machines.
Job j consumes pj time units, and machine i has speed ci .
(So machine i requires pj ci time to complete job j).
The load of machine i, is
X
li =
pj .
j|j assigned toi
Under payments Pi , the utility of machine i is
−li ci − Pi .
Machines are agents; they declare ci .
Objective: Design a truthful mechanism selecting a scheduling with
makespan mina maxi lia ci
Valuations are “one-dimensional” (ci determines the valuation).
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
17 / 25
Characterization of Truthfulness: Weak Monotonicity
Weak monotonicity
A social choice function satisfies weak monotonicity (WMON) iff for all i
and ~v−i ,
f (vi , ~v−i ) = a 6= b = f (vi0 , ~v−i ) implies vi (a) − vi (b) ≥ vi0 (a) − vi0 (b).
Recall that mechanism (f , p1 , . . . , pn ) is truthful iff
vi (f (~v )) − pi (~v ) ≥ vi (f (~v−i , vi0 )) − pi (~v−i , vi0 ).
Theorem
- If (f , p1 , . . . , pn ) is truthful, then f satisfies WMON.
- If f satisfies WMON, there exist p1 , . . . , pn such that the mechanism is
truthful. (Holds whenever valuation sets are convex sets).
Proof.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
18 / 25
Application of WMON
Fix ~c−i , costs declared by all players but i.
Then, li (ci ) is a function of ci .
Consider ci < ci0 . WMON means
−li (ci )ci + li (ci0 )ci ≥ −li (ci )ci0 + li (ci0 )ci0
⇔
0
li (ci ) ≤ li (ci ).
which means that the work load should be nonincreasing!
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
19 / 25
WMON implies implementability (Proof by figure)
Assume an algorithm with nonincreasing
load curves is given.
Rc
Consider payments pi (c) = 0 li (x)dx − c · li (c).
Utility (with declared and true cost c): −c · li (c) − pi (c) = −
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
Rc
0 li (x)dx
June 13, 2013
20 / 25
WMON implies implementability (Proof by figure)
Assume an algorithm with nonincreasing
load curves is given.
Rc
Consider payments pi (c) = 0 li (x)dx − c · li (c).
Utility (with declared and true cost c): −c · li (c) − pi (c) = −
Rc
0 li (x)dx
Utility (with declared cost c 0 ): −c · li (c 0 ) − (pi (c) + A)
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
20 / 25
Overall Theorem
To prevent utilities to be negative, consider.
Theorem [Archer, Tardos FOCS’01]
A scheduling algorithm is truthfully implementable iff its load functions are
nonincreasing.
In this case, the following payments functions yield individually rational
dominant strategy implementations:
Z c
Z ∞
pi (c) =
[li (x) − li (c)]dx +
li (x)dx.
0
Ocan Sankur (ULB)
c
Mechanism Design and Truthful Algorithms
June 13, 2013
21 / 25
Overall Theorem
To prevent utilities to be negative, consider.
Theorem [Archer, Tardos FOCS’01]
A scheduling algorithm is truthfully implementable iff its load functions are
nonincreasing.
In this case, the following payments functions yield individually rational
dominant strategy implementations:
Z c
Z ∞
pi (c) =
[li (x) − li (c)]dx +
li (x)dx.
0
c
How to design an efficient algorithm with nonincreasing load functions?
(Efficient computation of a scheduling and payments)
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
21 / 25
Existing Algorithms and The New One
The problem is NP-complete [Hochbaum & Shmoys 88]. We want
everything to be computable in PTIME.
A PTAS is known (for all > 0, an -approximation algorithm) but is not
nonincreasing!
Truthful Algorithm (sketch):
Fix a time bound T
Create a bin of size T /ci for for machine i
Greedily solve the bin packing problem: assign longest job to fastest
machine upto time T , and cut fractionally
Randomly round fractional jobs
For an efficiently computable T , this gives a factor-2 approximation alg.
that is truthful in expectation.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
22 / 25
Single-Peaked Preferences Without Payments
Let us fix A = [0, 1].
A relation on A is single-peaked if there exists p ∈ A such that
∀x ∈ A \ {p}, x ≺ λx + (1 − λ)p.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
23 / 25
Single-Peaked Preferences Without Payments
Let us fix A = [0, 1].
A relation on A is single-peaked if there exists p ∈ A such that
∀x ∈ A \ {p}, x ≺ λx + (1 − λ)p.
Examples
1
Average of peaks:
f (1 , . . . , n ) =
1X
pi .
n
i
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
23 / 25
Single-Peaked Preferences Without Payments
Let us fix A = [0, 1].
A relation on A is single-peaked if there exists p ∈ A such that
∀x ∈ A \ {p}, x ≺ λx + (1 − λ)p.
Examples
1
Average of peaks:
f (1 , . . . , n ) =
1X
pi .
n
i
2
Dictatorship:
f (1 , . . . , n ) = pi0 .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
23 / 25
Single-Peaked Preferences Without Payments
Let us fix A = [0, 1].
A relation on A is single-peaked if there exists p ∈ A such that
∀x ∈ A \ {p}, x ≺ λx + (1 − λ)p.
Examples
1
Average of peaks:
f (1 , . . . , n ) =
1X
pi .
n
i
2
Dictatorship:
f (1 , . . . , n ) = pi0 .
3
Median of peaks:
f (1 , . . . , n ) = median{pi }i .
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
23 / 25
Single-Peaked Preferences: Characterization
Theorem [Moulon 1980, Ching 1997]
Under single-peaked preferences, a social choice function f is onto,
anonymous, and truthful if and only if ∃y1 , . . . , yn−1 ∈ [0, 1] such that
f (1 , . . . , n ) = median(p1 , . . . , pn , y1 , . . . , yn−1 ).
anonymous: invariant under permutation of indices.
A characterization is available as “generalized median voter schemes” for
onto and truthful functions.
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
24 / 25
Conclusion & Further Reading
Truthfulness is not the only solution concept. One can design games
with e.g. Nash equilibria.
And apply it on richer game structures
Combinatorial auctions! (e.g. Google Ads)
Nisan, Ronen. Algorithmic mechanism design. STOC’99.
Archer, Tardos. Truthful Mechanisms for one-parameter Agents.
FOCS’01
Roberts. Characterization of implementable choice rules. 1979.
Nisan et al. Algorithmic Mechanism Design. (LSV library).
Ocan Sankur (ULB)
Mechanism Design and Truthful Algorithms
June 13, 2013
25 / 25