Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithmic Mechanism Design Shuchi Chawla 11/7/2001.

Similar presentations


Presentation on theme: "Algorithmic Mechanism Design Shuchi Chawla 11/7/2001."— Presentation transcript:

1 Algorithmic Mechanism Design Shuchi Chawla 11/7/2001

2 Last time’s recap… Auctioneer $10 $8  Does not know the values  Wants to sell to bidder with higher value  May not reveal value truthfully  All he can do is to charge them appropriately

3 More formally.. There are k agents and a designer. Each agent has some private information which is his type t i The designer wants to implement a function f of the agents’ types such that the outcome o maximizes some other function g Agent i values o at v i (o,t i ) In addition the designer allocates p i (t) amount of money to agent i Each agent reports a value b i in order to maximize his utility u i (o,t i,b i ) = v i (o,t i ) + p i (b i,t -i ) t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

4 Mechanism Design problem: Construct o = f(b) and p i (b) with following constraints: Agents should report truthfully v i (o,t i ) + p i (t i,t -i ) > v i (o’,t i ) + p i (b i,t -i ) for all b i and t i Agents should benefit from participating v i (o,t i ) + p i (t i,t -i )  0 g is maximized f(t) = argmax o g(o,t) t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

5 V ickrey C larke G roves mechanisms g(o,t) =  i v i (o,t i ) “Utilitarian function” u i (o,t i ) = v i (o,t i ) + p i (t) “Quasi linear preferences” Simple mechanism: Choose appropriate o and make payments p i (o,t) =  i  j v j (o,t j ) + h i (t -i ) Each agent is paid an amount equal to the value he adds to the system by participating Easy to show that agents report truthfully Examples Vickrey Auction, Caching / Tenure, Shortest paths t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

6 Some problems with VCG Very restricted class of optimization problems Computationally hard for most problems To compute the value added by an agent, solve for argmax g including the agent and then again excluding the agent. So two optimizations per agent!! t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

7 Revelation Principle We can achieve the same outcome from a direct mechanism In general mechanisms can have many rounds and means of extracting information from agents t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

8 Task Scheduling Problem We have n tasks and k machines Each machine has type vector t i = (t i 1,t i 2,…,t i n ) where t i j is the time taken by i to perform task j We want to assign jobs to machines so as to minimize makespan g = max i (total time spent by i) Value of agent i from an allocation is u i = –(time spent by machine i) Problems: Non utilitarian function Hard optimization problem t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

9 Solution Attempt # 1 Vickrey auction for each task Truthful mechanism Each task is individually optimally allocated n-approximation for obvious reasons Can we do better? t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

10 Lower bound: 2-approximation No deterministic algorithm can do better than a 2 approximation Simple argument: Payment to an agent cannot depend directly on his reported type given an allocation x i (t): allocation to agent i. Then payment for i = p i (x i (t),t -i ) x i (t)  argmax X  {1,..k} ( p i (X,t -i ) – t i (X) ) t: type; b: bids; v: values; p: payments; X: some set of tasks; x i : tasks allocated to i

11 Lower bound: 2-approximation Agent # 1Agent # 2 (1,…,1,1,…,1) Situ # 1: Allocation A Situ # 2: ( ,…, , 1+ ,…, 1+  ) (1,…,1,1,…,1) Allocation B p i (X,t -i ) are the same for situations 1 & 2. Recall: x i (t)  argmax X  {1,..k} ( p i (X,t -i ) – t i (X) ) t i (X) decreases the most for allocation A. so A should be the best allocation in situation 2 as well. t: type; b: bids; v: values; p: payments; X: some set of tasks; x i : tasks allocated to i

12 Lower bound: 2-approximation Agent # 1Agent # 2 Situ # 2: ( ,…, , 1+ ,…, 1+  ) (1,…,1,1,…,1) Allocation A t: type; b: bids; v: values; p: payments; X: some set of tasks; x i : tasks allocated to i Time taken by agent 2 = (n-m) Time taken by both agents ~ (n-m)/2 We are 2 times worse than optimal! Optimal allocation: allocate the last (n-m) tasks equally among the two Can randomization do better?

13 Solution Attempt # 2: Randomized Vickrey auction for 2 machines For each task k select one of the two machines at random. Call this one i and the other j. If t i k <  t j k Allocate k to i and pay  t j k Otherwise Allocate k to j and pay t i k /  1.75 approximation (by case analysis) t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

14 Another deterministic lower bound As long as we handle each task separately, we cannot do better than an n-approximation t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized

15 Solution Attempt # 3: Find the optimal solution to makespan Compensate each agent on a per task basis analogous to compensation in VCG Problem: Mechanism is not truthful Verification Observe the execution of tasks by agents Punish (or give bonus) to those who lie Compensation and Bonus t: type; b: bids; o: output; v: values; p: payments; u(=v+p): utilities; g: to be optimized This is cheating: We moved out of the problem definition

16 Are we done? Not yet!! Computing the minimum makespan is NP-hard Try approximations.. CaB is not truthful if we use an approximation instead of the optimal solution But don’t lose hope yet

17 Task Scheduling on related machines The type of each machine i is its speed s i Each task j has a work load  j Machine i takes time  j /s i on task j Archer & Tardos [FOCS2001] give approximations for this and similar problems. t: type; s: speed; b: bids; w i : work load for i; v: values; p: payments; g: makespan

18 Approach: Reduce the problem into a simpler problem Let w i be the total work load allocated to machine i and t i = 1/s i. Then value of this allocation for agent i = -w i t i Key observation: Any output function for which w i is non-increasing in t i has a truthful mechanism that implements it. Remaining task: Design an appropriate output function t: type; s: speed; b: bids; w i : work load for i; v: values; p: payments; g: makespan

19 Case 1: Increase in value from reporting y = A True value x For truth telling, P(x) – P(y) > A Case 2: Decrease in value from reporting x = A+B True value y For truth telling, P(x) – P(y) < A+B t w(t) A yx B w(y) w(x) Case 1: Decrease in value from reporting y = A True value x For truth telling, P(y) – P(x) < A Case 2: Increase in value from reporting x = A+B True value y For truth telling, P(y) – P(x) > A+B t w(t) A yx B w(x) w(y) t: type; s: speed; b: bids; w i : work load for i; v: values; p: payments; g: makespan

20 For the decreasing w case, the payments should satisfy: P i (b -i,b i ) = h i (b -i )+b i w i (b -i,b i ) –  w i (b -i,u)du 0 bibi t: type; s: speed; b: bids; w i : work load for i; v: values; p: payments; g: makespan

21 Designing the appropriate output Optimal allocation satisfies the decreasing function property. Approximations: Standard approximations do not work Archer et al’01 give a 3-approximation The 3-approximation: Find the best fractional solution (under some constraints) Round appropriately so as to maintain decreasing property

22 3-approximation continued… Order machines in decreasing order of speed Order tasks in decreasing order of work load Estimate capacity of solution and assign tasks fractionally Tasks can be shared only among consecutive machines Job j is assigned to machine i with probability equal to the proportion of j fractionally assigned to i. Expected load (E(w i )) is decreasing Each machine gets at most 3 times its load in the fractional solution


Download ppt "Algorithmic Mechanism Design Shuchi Chawla 11/7/2001."

Similar presentations


Ads by Google