Download presentation
Presentation is loading. Please wait.
1
SECOND PART: Algorithmic Mechanism Design
2
Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms like computer scientists design algorithms, protocols, systems Goal: to implement desired social choices in a strategic setting Social choice: aggregation of preferences of participants towards a joint decision Why strategic? participants act rationally and selfishly Usually preferences of participants are private and can be used to manipulate the system
3
MD and network protocols Large networks (e.g. Internet) are built and controlled by diverse and competitive entities Entities own different components of the network and hold private information Entities are selfish and have different preferences MD is a useful tool to design protocols working in such an environment
4
The implementation problem Given: An economic system comprising of self- interested, rational agents, which hold some secret information A set of system-wide goals Question: Does there exist a mechanism that can implement the goals, by enforcing (through suitable economic incentives) the agents to cooperate with the system by revealing their private data?
5
Mechanism Design Informally, designing a mechanism means to define a game in which a desired outcome must be reached However, games induced by mechanisms are different from games in standard form: Players hold independent private values The payoff matrix is a function of these types each player doesn’t really know about the other players’ payoffs, but only about its one! Games with incomplete information Dominant Strategy Equilibrium is used
6
An example: auctions t 1 =10 t 2 =12 t 3 =7 r 1 =11 r 2 =10 r 3 =7 the winner should be the guy with highest value the mechanism decides the winner and the corresponding payment t i : type of player i value player i is willing to pay if player i wins and has to pay p his utility is u i =t i -p
7
Mechanism degree of freedom The mechanism has to decide: The allocation of the item (social choice) The payment by the winner …in a way that cannot be manipulated
8
A simple mechanism: no payment t 1 =10 t 2 =12 t 3 =7 r 1 =+ r2=+r2=+ r3=+r3=+ …it doesn’t work… ?!? The highest bid wins and the price of the item is 0
9
Another simple mechanism: pay your bid t 1 =10 t 2 =12 t 3 =7 r 1 =9 r 2 =8 r 3 =6 Is it the right choice? The highest bid wins and the winner will pay his bid The winner is player 1 and he’ll pay 9 Each player i will bid r i < t i …player 2 could bid 9+ (=r 1 + ), but he knows only his type… …it doesn’t work…
10
An elegant solution: Vickrey’s second price auction t 1 =10 t 2 =12 t 3 =7 r 1 =10 r 2 =12 r 3 =7 every player has convenience to declare the truth! (we’ll see) I know they are not lying The highest bid wins and the winner will pay the second highest bid The winner is player 2 and he’ll pay 10
11
Theorem In the Vickrey auction, for every player i, r i =t i is a dominant strategy proof fix i, t i, r -i, and look at strategies for player i T= max j i {r j } Case: t i ≥ T r i =t i gives utility u i = t i -T ≥ 0 declaring r i ≥ T cannot do better declaring r i < T leads to u i =0 Case: t i < T r i =t i gives utility u i = 0 declaring r i T cannot do better declaring r i > T yields u i = t i -T < 0
12
Vickrey auction (minimization version) t 1 =10 t 2 =12 t 3 =7 r 1 =10 r 2 =12 r 3 =7 I want to allocate the job to the true cheapest machine The cheapest bid wins and the winner will get the second cheapest bid The winner is machine 3 and it will receive 10 job to be allocated to machines t i : cost incurred by i if i does the job if machine i is selected and receives a payment of p its utility is p-t i
13
Mechanism Design Problem: ingredients (1/2) N agents; each agent has some private information t i T i (actually, the only private info) called type A set of feasible outcomes F For each vector of types t=(t 1, t 2, …, t N ), a social-choice function f(t) F specifies an output that should be implemented (the problem is that types are unknown…) Each agent has a strategy space S i and performs a strategic action; we restrict ourself to direct revelation mechanisms, in which the action is reporting a value r i from the type space (with possibly r i t i ), i.e., S i = T i
14
Example: the Vickrey Auction The set of feasible outcomes is given by all the bidders The social-choice function is to allocate to the bidder with lowest true cost: f(t)=arg min i (t 1, t 2, …, t N ) Each agent knows its cost for doing the job (type), but not the others’ one: T i = [0, + ]: The agent’s cost may be any positive amount of money t i = 80: Minimum amount of money the agent i is willing to be paid r i = 85: Exact amount of money the agent i bids to the system for doing the job (not known to other agents)
15
Mechanism Design Problem: ingredients (2/2) For each feasible outcome x F, each agent makes a valuation v i (t i,x) (in terms of some common currency), expressing its preference about that output Vickrey Auction: If agent i wins the auction then its valuation is equal to its actual cost=t i for doing the job, otherwise it is 0 For each feasible outcome x F, each agent receives a payment p i (x) in terms of the common currency; payments are used by the system to incentive agents to be collaborative. Then, the utility of outcome x will be: u i (t i,x) = p i (x) - v i (t i,x) Vickrey Auction: If agent’s cost for the job is 80, and it gets the contract for 100 (i.e., it is paid 100), then its utility is 20
16
Mechanism Design Problem: the goal Implement (according to a given equilibrium concept) the social-choice function, i.e., provide a mechanism M=, where: g(r) is an algorithm which computes an outcome x=x(r) as a function of the reported types r p(x) is a payment scheme specifying a payment w.r.t. an output x such that x=f(t) is provided in equilibrium w.r.t. to the utilities of the agents.
17
Mechanism Design: a picture Agent 1 Agent N Mechanism p1p1 pNpN tNtN t 1t 1 r 1r 1 r Nr N Private “types” Reported types Payments Output which should implement the social choice function Each agent reports strategically to maximize its well-being… …in response to a payment which is a function of the output!
18
Game induced by a MD problem This is a game in which: The N agents are the players The payoff matrix is given (in implicit form) by the utility functions
19
Implementation with dominant strategies Def.: A mechanism is an implementation with dominant strategies if there exists a reported type vector r*=(r 1 *, r 2 *, …, r N * ) such that f(t)=x(r * ) in dominant strategy equilibrium, i.e., for each agent i and for each reported type vector r =(r 1, r 2, …, r N ), it holds: u i (t i,x(r -i,r i * )) ≥ u i (t i,x(r)) where x(r -i,r i * )=x(r 1, …, r i-1, r i *, r i+1,…, r N ).
20
Mechanism Design: Economics Issues QUESTION: How to design a mechanism? Or, in other words: 1. How to design g(r), and 2. How to define the payment functions in such a way that the underlying social- choice function is implemented? Under which conditions can this be done?
21
Strategy-Proof Mechanisms If truth telling is the dominant strategy in a mechanism then it is called Strategy-Proof or truthful Agents report their true types instead of strategically manipulating it In a Strategy-Proof mechanism the algorithm of the mechanism runs on the true input
22
Some examples
23
Multiunit auction t1t1 titi tNtN f(t): the set X F with the highest total value the mechanism decides the set of k winners and the corresponding payments Each of N players wants an object t i : value player i is willing to pay if player i gets an object at price p his utility is u i =t i -p F={ X {1,…,N} : |X|=k }... k identical objects (k < N)
24
Public project t1t1 titi tNtN the mechanism decides whether to build and the payments from citizens t i : value of the bridge for citizen i if the bridge is built and citizen i has to pay p i his utility is u i =t i -p i F={build, not-build} C: cost of the bridge to build or not to build? f(t): build only if i t i > C
25
Bilateral trade tbtb decides whether to trade and payments t s : value of the object if trade seller’s utility: p s -t s F={trade, no-trade} f(t): trade only if t b > t s t b : value of the object Mechanism rsrs rbrb if trade buyer’s utility: t b -p b psps pbpb seller tsts buyer
26
Buying a path in a network decides the path and the payments t e : cost of edge e if edge e is selected and receives a payment of p e e’s utility: p e -t e F: set of all paths between s and t f(t): a shortest path w.r.t. the true edge costs Mechanism t5t5 t3t3 t6t6 t2t2 t4t4 t1t1 s t
27
How to design truthful mechanisms?
28
Some remarks we’ll describe results for minimization problems (maximization problems are similar) We have: for each x F, valuation function v i (t i,x) represents a cost incurred by player i in the solution x the social function f(x) maps the type vector t into a solution which minimizes some measure of x payments are from the mechanism to agents
29
Utilitarian Problems: A problem is utilitarian if its objective function is such that f(t) = min x F i v i (t i,x) notice: the auction problem is utilitarian …for utilitarian problems there is a class of truthful mechanisms…
30
Vickrey-Clarke-Groves (VCG) Mechanisms A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems: Algorithm g(r) computes: x = arg min x F i v i (r i,x) Payment function: p i (x)= h i (r -i ) - j≠i v j (r j,x) where h i (r -i ) is an arbitrary function of the types of other players What about non-utilitarian problems? We will see…
31
Theorem VCG-mechanisms are truthful for utilitarian problems proof fix i, r -i, t i and consider a strategies r i t i x= g(r -i,t i ) x’=g(r -i,r i )t’=(r -i,t i ) u i (t i,x)= u i (t i,x’)= h i (r -i )- j i v j (r j,x)-v i (t i,x) h i (r -i )- j i v j (r j,x’)-v i (t i,x’) = h i (r -i ) - j v j (t’ j,x) - j v j (t’ j,x’) since g( ) minimizes the sum of valuations x is an optimal solution w.r.t. t’=(r -i,t i ) j v j (t’ j,x) j v j (t’ j,x’)
32
How to define h i (r -i )? notice: not all functions make sense what happens if we set h i (r -i )=0 in the Vickrey auction?
33
Clarke Mechanisms This is a special VCG-mechanism (known as Clarke mechanism) in which h i (r - i )= j≠i v j (r j,x(r - i )) p i = j≠i v j (r j,x(r - i )) - j≠i v j (r j,x) In Clarke mechanisms, agents’ utility are always non-negative agents are interested in playing the game solution minimizing the sum of valuations when i doesn’t play
34
Clarke mechanism for the Vickrey auction (minimization version) The VCG-mechanism is: x=arg min x F i v i (r i,x) allocate to the bidder with lowest reported cost p i = j≠i v j (r j,x(r - i )) - j≠i v j (r j,x) …pay the winner the second lowest offer, and pay 0 the losers
35
Mechanism Design: Algorithmic Issues QUESTION: What is the time complexity of the mechanism? Or, in other words: What is the time complexity of g(r)? What is the time complexity to calculate the N payment functions? What does it happen if it is NP-hard to compute the underlying social-choice function?
36
Algorithmic mechanism design for graph problems Following the Internet model, we assume that each agent owns a single edge of a graph G=(V,E), and establishes the cost for using it The agent’s type is the true weight of the edge Classic optimization problems on G become mechanism design optimization problems! Many basic network design problems have been faced: shortest path (SP), single-source shortest paths tree (SPT), minimum spanning tree (MST), minimum Steiner tree, and many others
37
Summary of forthcoming results Centralized algorithm Selfish-edge mechanism SPO(m+n log n) SPTO(m+n log n) MSTO(m (m,n)) For all these problems, the time complexity of the mechanism equals that of the canonical centralized algorithm!
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.