Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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