SECOND PART Algorithmic Mechanism Design Implementation theory n

  • Slides: 33
Download presentation
SECOND PART: Algorithmic Mechanism Design

SECOND PART: Algorithmic Mechanism Design

Implementation theory n n Imagine a “planner” who develops criteria for social welfare, but

Implementation theory n n Imagine a “planner” who develops criteria for social welfare, but cannot enforce the desirable allocation directly, as he lacks information about several parameters of the situation. A mean then has to be found to “implement” such criteria. Subfield of economic theory with an engineering perspective: Designs economic mechanisms like computer scientists design algorithms, protocols, systems, …

The implementation problem n Given: n n n An economic system comprising of self-interested,

The implementation problem n Given: n n n An economic system comprising of self-interested, rational agents, which hold some secret information A system-wide goal Question: n Does there exist a mechanism that can enforce (through suitable economic incentives) the selfish agents to behave in such a way that desired goal is implemented?

The system-wide goal n n n Goal: to implement desired social choices in a

The system-wide goal n n n Goal: to implement desired social choices in a strategic setting Social choice: aggregation of preferences of participants towards a joint decision Why strategic setting? n n participants act rationally and selfishly Usually preferences of participants are private and can be used to manipulate the system

Designing a Mechanism n n Informally, designing a mechanism means to define a game

Designing a Mechanism n n 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 n 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! n Games with incomplete information

MD and network protocols n n Large networks (e. g. Internet) are built and

MD and network protocols n n 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

An example: auctions t 1=10 t 2=12 t 3=7 the winner should be the

An example: auctions t 1=10 t 2=12 t 3=7 the winner should be the guy with highest value r 1=11 r 2=10 r 3=7 ti: type of player i value player i is willing to pay if player i wins and has to pay p his utility is ui=ti-p the mechanism decides the winner and the corresponding payment

Mechanism degree of freedom n The mechanism has to decide: n n n The

Mechanism degree of freedom n The mechanism has to decide: n n n The allocation of the item (social choice) The payment by the winner …in a way that cannot be manipulated

A simple mechanism: no payment t 1=10 t 2=12 t 3=7 r 1=+ ?

A simple mechanism: no payment t 1=10 t 2=12 t 3=7 r 1=+ ? !? r 2=+ r 3=+ The highest bid wins and the price of the item is 0 …it doesn’t work…

Another simple mechanism: pay your bid t 1=10 t 2=12 t 3=7 r 1=9

Another simple mechanism: pay your bid t 1=10 t 2=12 t 3=7 r 1=9 Is it the right choice? The winner is player 1 and he’ll pay 9 r 2=8 r 3=6 Player i may bid ri< ti (in this way he is guaranteed not to incur a negative utility) The highest bid wins and the winner will pay his bid …and so the winner could be the wrong one… …it doesn’t work…

An elegant solution: Vickrey’s second price auction t 1=10 t 2=12 t 3=7 r

An elegant solution: Vickrey’s second price auction t 1=10 t 2=12 t 3=7 r 1=10 The winner is player 2 and he’ll pay 10 I know they are not lying r 2=12 r 3=7 every player has convenience to declare the truth! (we’ll see) The highest bid wins and the winner will pay the second highest bid

Theorem In the Vickrey auction, for every player i, ri=ti is a dominant strategy

Theorem In the Vickrey auction, for every player i, ri=ti is a dominant strategy proof fix i, ti, r-i, and look at strategies for player i T= maxj i {rj} Case: ti ≥ T ri=ti gives utility ui= ti-T ≥ 0 declaring ri ≥ T cannot do better declaring ri < T leads to ui=0 Case: ti < T ri=ti gives utility ui= 0 declaring ri ≤ T cannot do better declaring ri > T yields ui= ti-T < 0

Vickrey auction (minimization version) t 1=10 r 1=10 The winner is machine 3 and

Vickrey auction (minimization version) t 1=10 r 1=10 The winner is machine 3 and it will receive 10 t 2=12 r 2=12 t 3=7 I want to allocate the job to the true cheapest machine job to be allocated to machines r 3=7 ti: cost incurred by i if he does the job if machine i is selected and receives a payment of p its utility is p-ti Once again, the second price auction works: the cheapest bid wins and the winner will get the second cheapest bid

Mechanism Design Problem: ingredients n n N agents; each agent has some private information

Mechanism Design Problem: ingredients n n N agents; each agent has some private information ti Ti (actually, the only private info) called type A set of feasible outcomes X For each vector of types t=(t 1, t 2, …, t. N), and for each feasible outcome x X, a social-choice function f(t, x) measures the quality of x as a function of t (the problem is that types are unknown!). This is the function that the mechanism aims to optimize (either minimize or maximize) Each agent has a strategy space Si and performs a strategic action; we restrict ourself to direct revelation mechanisms, in which the action is reporting a value ri from the type space (with possibly ri ti), i. e. , Si = Ti

Plugging-in into the min-version of the Vickrey Auction n Assume that the system-wide goal

Plugging-in into the min-version of the Vickrey Auction n Assume that the system-wide goal is to allocate a job by a sealed-bid auction: Agent’s type ti: the cost incurred for doing the job; n Type space T = (0, + ]: the agent’s cost is any positive amount of i money; n Set of feasible outcomes: is the set of agents (bidders); n Social-choice function: is simply the type associated with a selected bidder: n f(t, x)={ti s. t. x=ti}, and the objective is to minimize f(), i. e. , allocate to the bidder with lowest true cost. n Reported type r : Amount of money the agent i bids to the system for i doing the job (not known to other agents)

Mechanism Design Problem: ingredients (2) n For each feasible outcome x X, each agent

Mechanism Design Problem: ingredients (2) n For each feasible outcome x X, each agent makes a valuation vi(ti, x) (in terms of some common currency), expressing its preference about that output n n Vickrey Auction: If agent i wins the auction then its valuation is equal to its actual cost=ti for doing the job, otherwise it is 0 For each feasible outcome x X, each agent receives a payment pi(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: ui(ti, x) = pi(x) - vi(ti, x) n Vickrey Auction: For example, if agent’s cost for the job is 80, and it gets the deal for 100 (i. e. , it is paid 100), then its utility is 20

Mechanism Design Problem: the goal Given all the above ingredients, provide a mechanism M=<g(r),

Mechanism Design Problem: the goal Given all the above ingredients, provide a mechanism M=<g(r), p(x)>, where: n n g(r) is an algorithm which computes an outcome x=x(r) X as a function of the reported types r p(x) is a payment scheme specifying a payment w. r. t. an output x which optimally implements the social-choice function in equilibrium (according to a given solution concept, e. g. , dominant strategy equilibrium, Nash equilibrium, etc. ), i. e. , such that there exists a reported type vector r* for which f(t, x(r*)) is optimal (either minimum or maximum), and players’ utilities are in equilibrium.

Mechanism Design: a picture Private “types” t 1 t. N Reported types Agent 1

Mechanism Design: a picture Private “types” t 1 t. N Reported types Agent 1 Agent N r 1 p 1 r. N p. N Mechanism Output which should implement the social choice function Payments Each agent reports strategically to maximize its well-being… …in response to a payment which is a function of the output!

Mechanism Design: Economics Issues QUESTION: How to design a mechanism? Or, in other words:

Mechanism Design: Economics Issues QUESTION: How to design a mechanism? Or, in other words: 1. 2. How to design g(r), and How to define the payment functions in such a way that the underlying socialchoice function is implemented? Under which conditions can this be done?

Implementation with dominant strategies Def. : A mechanism is an implementation with dominant strategies

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() is implemented 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: ui(ti, x(r-i, ri*)) ≥ ui(ti, x(r)) where x(r-i, ri*)=x(r 1, …, ri-1, ri*, ri+1, …, r. N).

Strategy-Proof Mechanisms n If truth telling is the dominant strategy in a mechanism then

Strategy-Proof Mechanisms n If truth telling is the dominant strategy in a mechanism then it is called Strategy-Proof or truthful r*=t. Agents report their true types instead of strategically manipulating it The algorithm of the mechanism runs on the true input

How to design truthful mechanisms?

How to design truthful mechanisms?

n Utilitarian Problems: A problem is utilitarian if its social-choice function is such that

n Utilitarian Problems: A problem is utilitarian if its social-choice function is such that f(t, x) = i vi(ti, x) notice: the auction problem is utilitarian, and so they are all problems where valuation functions are separatelyadditive, as many network optimization problems… Good news: for utilitarian problems there is a class of truthful mechanisms

Vickrey-Clarke-Groves (VCG) Mechanisms n A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems:

Vickrey-Clarke-Groves (VCG) Mechanisms n A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems: n Algorithm g(r) computes (for minimization problems): x = arg miny X i vi(ri, y) n n Payment function: pi (x) = hi(r-i) - j≠i vj(rj, x) where hi(r-i) is an arbitrary function of the reported types of players other than player i. What about non-utilitarian problems? Strategyproof mechanisms are known only when the type is a single parameter.

Theorem VCG-mechanisms are truthful for utilitarian problems proof fix i, r-i, ti and consider

Theorem VCG-mechanisms are truthful for utilitarian problems proof fix i, r-i, ti and consider a strategy ri ti x= g(r-i, ti) x’=g(r-i, ri) t’=(r-i, ti) ui(ti, x) = [hi(r-i) - j ivj(rj, x)] - vi(ti, x) = hi(r-i) - jvj(t’j, x) ui(ti, x’) = [hi(r-i) - j ivj(rj, x’)] - vi(ti, x’) = hi(r-i) - jvj(t’j, x’) but g( ) minimizes the sum of valuations x is an optimal solution w. r. t. t’=(r-i, ti) jvj(t’j, x) jvj(t’j, x’) ui(ti, x) ui(ti, x’).

How to define hi(r-i)? Remark: not all functions make sense. For instance, what happens

How to define hi(r-i)? Remark: not all functions make sense. For instance, what happens if we set hi(r-i)=0 in the Vickrey auction (minversion)? Answer: It happens that agents’ utilities become negative! This is undesirable in reality, since with such perspective agents would not partecipate to the auction!

Clarke payments solution minimizing the sum of valuations when i doesn’t play n This

Clarke payments solution minimizing the sum of valuations when i doesn’t play n This is a special VCG-mechanism in which hi(r-i)= j≠i vj(rj, x(r-i)) pi = j≠i vj(rj, x(r-i)) - j≠i vj(rj, x) n With Clarke payments, agents’ utility are always non-negative agents are interested in playing the game

Clarke payments for the Vickrey auction (minimization version) n The VCG-mechanism is: n x=arg

Clarke payments for the Vickrey auction (minimization version) n The VCG-mechanism is: n x=arg miny X i vi(ri, y) n n allocate to the bidder with lowest reported cost (i. e. , the true one, since it is strategy-proof) pi = j≠i vj(rj, x(r-i)) - j≠i vj(rj, x) …pay the winner the second lowest offer, and pay 0 the losers Remark: the difference between the second lowest offer and the lowest offer is unbounded (frugality issue)

VCG-Mechanisms: Advantages n For System Designer: n n The goal, i. e. , the

VCG-Mechanisms: Advantages n For System Designer: n n The goal, i. e. , the optimization of the social-choice function, is achieved with certainty. For Agents: n Agents have truth telling as the dominant strategy, so they need not require any computational systems to deliberate about other agents strategies

VCG-Mechanisms: Disadvantages n For System Designer: n n The payments may be sub-optimal (frugality)

VCG-Mechanisms: Disadvantages n For System Designer: n n The payments may be sub-optimal (frugality) System has to calculate N+1 functions n n n Once with all agents (for g(r)) and once for every agent (for the associated payment) If the problem is hard to solve then the computational cost may be very heavy For Agents: n Agents may not like to tell the truth to the system designer as it can be used in other ways.

Mechanism Design: Algorithmic Issues QUESTION: What is the time complexity of the mechanism? Or,

Mechanism Design: Algorithmic Issues QUESTION: What is the time complexity of the mechanism? Or, in other words: n What is the time complexity of g(r)? n What is the time complexity to calculate the N payment functions? n What does it happen if it is NP-hard to implement the underlying social-choice function? Question: What is the time complexity of the Vickrey auction? Answer: Θ(N), where N is the number of players. Indeed, it suffices to check all the offers, by keeping track of the lowest and second lowest one.

Algorithmic mechanism design for graph problems Simplifying the Internet model, we assume that each

Algorithmic mechanism design for graph problems Simplifying 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 n Classic optimization problems on G become mechanism design optimization problems! n Many basic network design problems have been faced: shortest path (SP), single-source shortest paths tree (SPT), minimum spanning tree (MST), and many others n

Summary of main results Centralized algorithm Selfish-edge mechanism SP O(m+n log n) SPT O(m+n

Summary of main results Centralized algorithm Selfish-edge mechanism SP O(m+n log n) SPT O(m+n log n) MST O(m (m, n)) For all these basic problems, the time complexity of the mechanism equals that of the canonical centralized algorithm!