SECOND PART: Algorithmic Mechanism Design.

Slides:



Advertisements
Similar presentations
Combinatorial Auction
Advertisements

6.896: Topics in Algorithmic Game Theory Lecture 21 Yang Cai.
Algorithmic mechanism design Vincent Conitzer
6.896: Topics in Algorithmic Game Theory Lecture 20 Yang Cai.
Algorithmic Game Theory Uri Feige Robi Krauthgamer Moni Naor Lecture 10: Mechanism Design Lecturer: Moni Naor.
Collaboration Mechanisms in SOA based MANETs. Introduction Collaboration implies the cooperation between the nodes to support the proper functioning of.
An Approximate Truthful Mechanism for Combinatorial Auctions An Internet Mathematics paper by Aaron Archer, Christos Papadimitriou, Kunal Talwar and Éva.
Optimal auction design Roger Myerson Mathematics of Operations research 1981.
Preference Elicitation Partial-revelation VCG mechanism for Combinatorial Auctions and Eliciting Non-price Preferences in Combinatorial Auctions.
A Sufficient Condition for Truthfulness with Single Parameter Agents Michael Zuckerman, Hebrew University 2006 Based on paper by Nir Andelman and Yishay.
Seminar In Game Theory Algorithms, TAU, Agenda  Introduction  Computational Complexity  Incentive Compatible Mechanism  LP Relaxation & Walrasian.
SECOND PART: Algorithmic Mechanism Design. Implementation theory Imagine a “planner” who develops criteria for social welfare, but cannot enforce the.
Bundling Equilibrium in Combinatorial Auctions Written by: Presented by: Ron Holzman Rica Gonen Noa Kfir-Dahav Dov Monderer Moshe Tennenholtz.
Algorithmic Applications of Game Theory Lecture 8 1.
Mechanism Design and the VCG mechanism The concept of a “mechanism”. A general (abstract) solution for welfare maximization: the VCG mechanism. –This is.
Lecture 1 - Introduction 1.  Introduction to Game Theory  Basic Game Theory Examples  Strategic Games  More Game Theory Examples  Equilibrium  Mixed.
Mechanism Design. Overview Incentives in teams (T. Groves (1973)) Algorithmic mechanism design (Nisan and Ronen (2000)) - Shortest Path - Task Scheduling.
Agent Technology for e-Commerce Chapter 10: Mechanism Design Maria Fasli
SECOND PART: Algorithmic Mechanism Design. Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms.
Combinatorial Auction. Conbinatorial auction t 1 =20 t 2 =15 t 3 =6 f(t): the set X  F with the highest total value the mechanism decides the set of.
Frugal Path Mechanisms by Aaron Archer and Eva Tardos Presented by Ron Lavi at the seminar: “Topics on the border of CS, Game theory, and Economics” CS.
SECOND PART: Algorithmic Mechanism Design. Implementation theory Imagine a “planner” who develops criteria for social welfare, but cannot enforce the.
SECOND PART: Algorithmic Mechanism Design. Mechanism Design MD is a subfield of economic theory It has a engineering perspective Designs economic mechanisms.
Mechanism Design Traditional Algorithmic Setting Mechanism Design Setting.
SECOND PART: Algorithmic Mechanism Design. Suggested readings Algorithmic Game Theory, Edited by Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V.
SECOND PART on AGT: Algorithmic Mechanism Design.
Yang Cai Sep 8, An overview of the class Broad View: Mechanism Design and Auctions First Price Auction Second Price/Vickrey Auction Case Study:
SECOND PART: Algorithmic Mechanism Design. Mechanism Design Find correct rules/incentives.
VCG Computational game theory Fall 2010 by Inna Kalp and Yosef Heskia.
Auction Seminar Optimal Mechanism Presentation by: Alon Resler Supervised by: Amos Fiat.
More on Social choice and implementations 1 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A Using slides by Uri.
6.853: Topics in Algorithmic Game Theory Fall 2011 Constantinos Daskalakis Lecture 21.
Mechanism Design CS 886 Electronic Market Design University of Waterloo.
Auction Theory תכנון מכרזים ומכירות פומביות Topic 7 – VCG mechanisms 1.
SECOND PART on AGT: Algorithmic Mechanism Design.
Algorithmic Mechanism Design: an Introduction Approximate (one-parameter) mechanisms, with an application to combinatorial auctions Guido Proietti Dipartimento.
The Minimum Spanning Tree (MST) problem in graphs with selfish edges.
Auctions serve the dual purpose of eliciting preferences and allocating resources between competing uses. A less fundamental but more practical reason.
Algorithmic Mechanism Design: an Introduction (with an eye to some basic network optimization problems) Guido Proietti Dipartimento di Ingegneria e Scienze.
The Shortest Path problem in graphs with selfish edges.
SECOND PART on AGT: Algorithmic Mechanism Design.
6.853: Topics in Algorithmic Game Theory Fall 2011 Constantinos Daskalakis Lecture 22.
Algorithmic Mechanism Design Shuchi Chawla 11/7/2001.
Combinatorial Auction. A single item auction t 1 =10 t 2 =12 t 3 =7 r 1 =11 r 2 =10 Social-choice function: the winner should be the guy having in mind.
One-parameter mechanisms, with an application to the SPT problem.
Comp/Math 553: Algorithmic Game Theory Lecture 10
Comp/Math 553: Algorithmic Game Theory Lecture 11
False-name Bids “The effect of false-name bids in combinatorial
Bayesian games and their use in auctions
Comp/Math 553: Algorithmic Game Theory Lecture 08
CPS Mechanism design Michael Albert and Vincent Conitzer
Comp/Math 553: Algorithmic Game Theory Lecture 09
Market/Agent-Oriented Programming
Game Theory in Wireless and Communication Networks: Theory, Models, and Applications Lecture 6 Auction Theory Zhu Han, Dusit Niyato, Walid Saad, Tamer.
Market Design and Analysis Lecture 4
Vincent Conitzer Mechanism design Vincent Conitzer
Vincent Conitzer CPS 173 Mechanism design Vincent Conitzer
Market Oriented Programming
Preference elicitation/ iterative mechanisms
Market Oriented Programming
The Shortest-Path problem in graphs with selfish-edges
Combinatorial Auction
Combinatorial Auction
Combinatorial Auction
Combinatorial Auction
CPS Preference elicitation/ iterative mechanisms
Information, Incentives, and Mechanism Design
Auction Theory תכנון מכרזים ומכירות פומביות
Vincent Conitzer CPS Mechanism design Vincent Conitzer
CPS Bayesian games and their use in auctions
Presentation transcript:

SECOND PART: Algorithmic Mechanism Design

Find correct rules/incentives Mechanism Design Find correct rules/incentives

The implementation problem Imagine you are a planner who develops criteria for social welfare, but you lack information about preferences of individuals. Which social-choice functions (i.e., aggregation of players’ preferences w.r.t. to a certain outcome) can be implemented in such a strategic distributed system? Why strategic setting? participants act rationally and selfishly Preferences of players (i.e., their opinion about a social status) are private and can be used to manipulate the system

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

Designing a Mechanism Informally, designing a mechanism means to define a game in which a desired outcome must be reached (in equilibrium) 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

Social-choice function: the winner should be the guy having in mind the highest value for the painting An example: auctions t1=10 r1=11 ri: is the amount of money player i bids (in a sealed envelope) for the painting t2=12 r2=10 t3=7 r3=7 The mechanism tells to players: How the item will be allocated (i.e., who will be the winner), depending on the received bids (2) The payment the winner has to return, as a function of the received bids ti: is the maximum amount of money player i is willing to pay for the painting If player i wins and has to pay p its utility is ui=ti-p

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 the mechanism designer wants to obtain/compute a specific outcome (defined in terms of the real and private values held by the players)

A simple mechanism: no payment r1=+ ?!? t2=12 r2=+ t3=7 r3=+ The highest bid wins and the price of the item is 0 …it doesn’t work…

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

An elegant solution: Vickrey’s second price auction I know they are not lying t1=10 The winner is player 2 and he’ll pay 10 r1=10 t2=12 r2=12 t3=7 r3=7 The highest bid wins and the winner will pay the second highest bid every player has convenience to declare the truth! (we prove it in the next slide)

Theorem In the Vickrey auction, for every player i, ri=ti is a dominant strategy proof Fix i and ti, and look at strategies for player i. Let R= maxji {rj} Case ti ≥ R (observe that R is unknown to player i) declaring ri=ti gives utility ui= ti-R ≥ 0 (player wins if ti > R, while if ti = R then player can either win or lose, depending on the tie-breaking rule, but its utility would be 0) declaring any ri > R, ri≠ti, yields again utility ui= ti-R ≥ 0 (player wins) declaring any ri < R yields ui=0 (player loses) Case ti < R declaring ri=ti yields utility ui= 0 (player loses) declaring any ri < R, ri≠ti, yields again utility ui= 0 (player loses) declaring any ri > R yields ui= ti-R < 0 (player wins)  In all the cases, reporting a false type produces a not better utility, and so telling the truth is a dominant strategy!

Vickrey auction (minimization version) I want to allocate the job to the true cheapest machine The winner is machine 3 and it will receive 10 t1=10 r1=10 t2=12 job to be allocated to machines r2=12 t3=7 r3=7 The cheapest bid wins and the winner will get the second cheapest bid ti: cost incurred by i if i does the job if machine i is selected and receives a payment of p its utility is p-ti

Mechanism Design Problem: ingredients (1/2) N agents; each agent has some private information tiTi (actually, the only private info) called type A set of feasible outcomes F For each vector of types t=(t1, t2, …, tN), 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 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

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 mini (t1, t2, …, tN) Each agent knows its cost for doing the job (type), but not the others’ one: Ti= [0, +]: The agent’s cost may be any positive amount of money ti= 80: Minimum amount of money the agent i is willing to be paid ri= 85: Exact amount of money the agent i bids to the system for doing the job (not known to other agents)

Mechanism Design Problem: ingredients (2/2) For each feasible outcome xF, each agent makes a valuation vi(ti,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=ti for doing the job, otherwise it is 0 For each feasible outcome xF, 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) 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

Mechanism Design Problem: the goal Implement (according to a given equilibrium concept) the social-choice function, i.e., provide a mechanism M=<g(r), p(x)>, where: g(r) is an algorithm which computes an outcome x=g(r) as a function of the reported types r p(x) is a payment scheme specifying a payment (to each agent) w.r.t. an output x such that x=g(r)=f(t) is provided in equilibrium w.r.t. to the utilities of the agents.

Mechanism Design: a picture Output which should implement the social choice function in equilibrium w.r.t. agents’ utilities System Private “types” Reported types t 1 “I propose to you the following mechanism M=<g(r), p(x)>” r 1 Agent 1 p1 tN r N pN Agent N Payments Each agent reports strategically to maximize its well-being… …in response to a payment which is a function of the output!

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

Implementation with dominant strategies Def.: A mechanism M=<g(),p()> is an implementation with dominant strategies if there exists a reported type vector r*=(r1*, r2*, …, rN*) such that f(t)=g(r*) in dominant strategy equilibrium, i.e., for each agent i and for each reported type vector r =(r1, r2, …, rN), it holds: ui(ti,g(r-i,ri*)) ≥ ui(ti,g(r-i,ri)) where g(r-i,ri*)=g(r1, …, ri-1, ri*, ri+1,…, rN).

Strategy-Proof Mechanisms If truth telling is the dominant strategy in a mechanism then the mechanism 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

Truthful Mechanism Design: Economics Issues QUESTION: How to design a truthful mechanism? Or, in other words: How to design g(r), and How to define the payment scheme in such a way that the underlying social-choice function is implemented truthfully? Under which conditions can this be done?

Some examples

Multiunit auction ... F={ X{1,…,N} : |X|=k } k identical objects f(t): the set XF with the highest total value t1 ti ... tN k identical objects (k < N) Each of N players wants an object ti: value player i is willing to pay the mechanism decides the set of k winners and the corresponding payments F={ X{1,…,N} : |X|=k } if player i gets an object at price p his utility is ui=ti-p

Public project iti > C F={build, not-build} f(t): build only if C: cost of the bridge tN to build or not to build? the mechanism decides whether to build and the payments from citizens ti: value of the bridge for citizen i if the bridge is built and citizen i has to pay pi his utility is ui=ti-pi F={build, not-build}

Bilateral trade tb > ts ps pb rs rb F={trade, no-trade} Mechanism trade only if tb > ts F={trade, no-trade} Mechanism decides whether to trade and payments ps pb tb ts seller rs rb buyer ts: value of the object tb: value of the object if trade seller’s utility: ps-ts if trade buyer’s utility: tb-pb

Buying a path in a network f(t): a shortest path w.r.t. the true edge costs Buying a path in a network F: set of all paths between s and t Mechanism decides the path and the payments t1 t2 te: cost of edge e t6 t4 t t5 if edge e is selected and receives a payment of pe e’s utility: pe-te t3 s

How to design truthful mechanisms?

Some remarks we’ll describe results for minimization problems (maximization problems are similar) We have: for each xF, valuation function vi(ti,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

Utilitarian Problems: A problem is utilitarian if its objective function is such that f(t) = arg minxF i vi(ti,x) notice: the auction problem is utilitarian …for utilitarian problems there is a class of truthful mechanisms…

Vickrey-Clarke-Groves (VCG) Mechanisms A VCG-mechanism is (the only) strategy-proof mechanism for utilitarian problems: Algorithm g(r) computes: x = arg minyF i vi(ri,y) Payment function for player i: 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? Strategy-proof 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. Let ř=(r-i,ti) and consider a strategy riti x=g(r-i,ti) =g(ř) x’=g(r-i,ri) ui(ti,x) = [hi(r-i) - jivj(rj,x)] - vi(ti,x) = hi(r-i) - jvj(řj,x) ui(ti,x’) = [hi(r-i) - jivj(rj,x’)] - vi(ti,x’) = hi(r-i) - jvj(řj,x’) but x is an optimal solution w.r.t. ř =(r-i,ti), i.e., x = arg minyF i vi(ř,y) jvj(řj,x) ≤ jvj(řj,x’) ui(ti,x)  ui(ti,x’).

How to define hi(r-i)? notice: not all functions make sense what happens if we set hi(r-i)=0 in the Vickrey auction?

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

Clarke mechanism for the Vickrey auction (minimization version) The VCG-mechanism is: x=g(r):=arg minxF i vi(ri,x) allocate to the bidder with lowest reported cost pi = j≠i vj(rj,g(r-i)) -j≠i vj(rj,x) …pay the winner the second lowest offer, and pay 0 the losers

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?

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

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