Introduction Social welfare maximization Revenue maximization
Introduction to Mechanism Design
Thodoris Lykouris
National Technical University of Athens
May 16, 2013
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Contents
IntroductionMotivationGame TheoryMechanism Design
Social welfare maximizationSingle-item auctionVCG MechanimsExamples
Revenue maximizationBayesian settingOptimal mechanism
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Algorithmic Game Theory
1. Theoretical Computer Science focuses on algorithms that are:I fastI (approximately) optimal
2. Economics take into consideration people’s incentives
Intersection of those two!
I Algorithms are usually run on people that have incentives andmay not follow them if they can make things better for themby deviating (Algorithmic Game Theory)
I Thus we need to design the rules of the game so that we candeal with this (Mechanism Design)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Algorithmic Game Theory
1. Theoretical Computer Science focuses on algorithms that are:I fastI (approximately) optimal
2. Economics take into consideration people’s incentives
Intersection of those two!
I Algorithms are usually run on people that have incentives andmay not follow them if they can make things better for themby deviating (Algorithmic Game Theory)
I Thus we need to design the rules of the game so that we candeal with this (Mechanism Design)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Algorithmic Game Theory
1. Theoretical Computer Science focuses on algorithms that are:I fastI (approximately) optimal
2. Economics take into consideration people’s incentives
Intersection of those two!
I Algorithms are usually run on people that have incentives andmay not follow them if they can make things better for themby deviating (Algorithmic Game Theory)
I Thus we need to design the rules of the game so that we candeal with this (Mechanism Design)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads
(mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location
(mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections
(mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling
(mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions
(mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Motivation
Examples
I Routing in roads (mechanism: tolls, odd/even numbers)
I Facility location (mechanism: median for 1-FL)
I Elections (mechanism: Condorcet winner)
I Scheduling (mechanism: use of payments)
I Auctions (mechanism: in the next slides)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Prisoner’s dilemma
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Finite games
I n players
I Each player has a set of strategies SiI Strategy profile is a vector of n strategies, one for each player:σ = (σ1, σ2, . . . , σn)
I Pure strategy, when σi is deterministically chosen from SiI Mixed strategy, when σi is a probability distribution on SiI σ−i = (σ1, σ2, . . . , σi−1, σi+1, . . . , σn)
I For each player i , there is a payoff/utility functionui : S1 × S2 × · · · × Sn → R
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Equilibria
Nash equilibrium: A strategy profile where no player has incentiveto deviate unilaterally, given that no one else alters their strategy
∀ i , σ′i : ui (σ) ≥ ui (σ−i , σ′i )
Dominant strategy equilibrium: A strategy profile in which everyplayer’s strategy is at least as good as all other strategies,regardless of the actions of any other player
∀ i , σ′i , σ′−i : ui (σ
′−i , σi ) ≥ ui (σ
′−i , σ
′i )
In Prisoner’s Dilemma, (Confess,Confess) is both a NE and a DSE
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Equilibria
Nash equilibrium: A strategy profile where no player has incentiveto deviate unilaterally, given that no one else alters their strategy
∀ i , σ′i : ui (σ) ≥ ui (σ−i , σ′i )
Dominant strategy equilibrium: A strategy profile in which everyplayer’s strategy is at least as good as all other strategies,regardless of the actions of any other player
∀ i , σ′i , σ′−i : ui (σ
′−i , σi ) ≥ ui (σ
′−i , σ
′i )
In Prisoner’s Dilemma, (Confess,Confess) is both a NE and a DSE
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Equilibria
Nash equilibrium: A strategy profile where no player has incentiveto deviate unilaterally, given that no one else alters their strategy
∀ i , σ′i : ui (σ) ≥ ui (σ−i , σ′i )
Dominant strategy equilibrium: A strategy profile in which everyplayer’s strategy is at least as good as all other strategies,regardless of the actions of any other player
∀ i , σ′i , σ′−i : ui (σ
′−i , σi ) ≥ ui (σ
′−i , σ
′i )
In Prisoner’s Dilemma, (Confess,Confess) is both a NE and a DSE
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Battle of the sexes
I Alice prefers going to ballet to going to soccer.
I Bob prefers going to soccer to going to ballet
I Both prefer doing anything together than doing anythingalone.
Alice \ Bob Ballet Soccer
Ballet (10,3) (2,2)
Soccer (0,0) (3,10)
Here there are 2 NE [(Ballet, Ballet),(Soccer, Soccer)] but no DSE.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Battle of the sexes
I Alice prefers going to ballet to going to soccer.
I Bob prefers going to soccer to going to ballet
I Both prefer doing anything together than doing anythingalone.
Alice \ Bob Ballet Soccer
Ballet (10,3) (2,2)
Soccer (0,0) (3,10)
Here there are 2 NE [(Ballet, Ballet),(Soccer, Soccer)] but no DSE.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Battle of the sexes (altered)
Bob can change the game in his profit.
Alice \ Bob Ballet with mum Soccer
Ballet with mum (-10,0) (-10,2)
Soccer (0,0) (3,10)
Now there is just one NE (Soccer, Soccer).
I Generally, in Mechanism Design, the designer (in this case,Bob) tries to change the game
I to maximize one objective function (in this case, Bob’shappiness).
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Battle of the sexes (altered)
Bob can change the game in his profit.
Alice \ Bob Ballet with mum Soccer
Ballet with mum (-10,0) (-10,2)
Soccer (0,0) (3,10)
Now there is just one NE (Soccer, Soccer).
I Generally, in Mechanism Design, the designer (in this case,Bob) tries to change the game
I to maximize one objective function (in this case, Bob’shappiness).
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Game Theory
Battle of the sexes (altered)
Bob can change the game in his profit.
Alice \ Bob Ballet with mum Soccer
Ballet with mum (-10,0) (-10,2)
Soccer (0,0) (3,10)
Now there is just one NE (Soccer, Soccer).
I Generally, in Mechanism Design, the designer (in this case,Bob) tries to change the game
I to maximize one objective function (in this case, Bob’shappiness).
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Single-item auction: The setting
I n possible buyersI possible outcomes: buyer i/no bidder gets itI every possible buyer has a valuation for the painting
We need to find:I Who will get the painting, if any?I How much will he pay?
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Single-item auction: The setting
I n possible buyersI possible outcomes: buyer i/no bidder gets itI every possible buyer has a valuation for the painting
We need to find:I Who will get the painting, if any?I How much will he pay?
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Mechanism Design
I A set of players I = {1, 2, . . . , n}I A set of outcomes A
I For every player i a set of possible valuations (functions):
Vi = {υi : A→ R}υi (α):how much player i values outcome α
Mechanism:
I An outcome function χ : V1 × V2 × · · · × Vn → A
I A payment function p = (p1, p2, . . . , pn), where
pi : V1 × V2 × · · · × Vn → R
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Mechanism Design
I A set of players I = {1, 2, . . . , n}I A set of outcomes A
I For every player i a set of possible valuations (functions):
Vi = {υi : A→ R}υi (α):how much player i values outcome α
Mechanism:
I An outcome function χ : V1 × V2 × · · · × Vn → A
I A payment function p = (p1, p2, . . . , pn), where
pi : V1 × V2 × · · · × Vn → R
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Induced game
I Players I = {1, 2, . . . , n}I Strategies of player i : Vi
I Utility of player i , given strategy profile (v1, v2, . . . , vn):
ui (v1, v2, . . . , vn) = υi (χ(v1, v2, . . . , vn))− pi (v1, v2, . . . , vn)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Mechanism Design
Objective
Lead to an outcome that maximizes some objective function.
I Social welfare: Combined happiness of all players∑ni=1 υi (α)
I Revenue: The total profit of the auctioneer∑ni=1 pi (α)
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Contents
IntroductionMotivationGame TheoryMechanism Design
Social welfare maximizationSingle-item auctionVCG MechanimsExamples
Revenue maximizationBayesian settingOptimal mechanism
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Single-item auction
Single-item auction: The setting
I n possible buyersI Each of them has a valuation for the product υiI Each of them makes a bid bi
We need to find:I Outcome function?I Payment function?
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Single-item auction
First-price auction
The bidder i∗ with the highest bid bi takes the product (outcome)and pays b∗i .
I Social welfare equal to max υi , so it is maximized
I Not stable
I Players have incentive to lie and misreport their truevaluations (bi 6= υi )
I Revenue, at best, equal to maxj 6=i∗ υj
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Single-item auction
Second-price auction (Vickrey auction)
The bidder with the highest bid takes the product and pays thesecond highest bid.
I If a bidder gets the product, what he pays doesn’t depend onhis bid.
I No reason to lie about his true valuation
I If he doesn’t have the highest valuation but he reports ahigher bid, he risks taking the product and have negativeutility υi − b.
I If he declares a lowest bid, he risks not taking the product,whilst what he pays, if he takes it, doesn’t change
Hence, Vickrey auction is truthful.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Single-item auction
Truthfulness
A mechanism is truthful (incentive compatible/strategyproof) iffno player has an incentive to misreport his true valuation andincrease his utility. Formally,
∀ player i ,∀ strategy profile (b1, b2, . . . , bn), bi ∈ Vi :
υi (χ(b−i , υi ))− pi (b−i , υi ) ≥ υi (χ(b−i , bi ))− pi (b−i , bi )
This means that telling the truth is Dominant Strategy Equilibrium.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
VCG Mechanims
Vickrey auction
I Goal: Maximizing the social welfare
I Single-item auction
I ALLOCATION (player with highest bid):
i = arg maxni=1 biI PAYMENT (second highest bid)
p∗i = maxj 6=i∗ bj
1. Does not depend on bi∗2. but only on b−i∗ and outcome
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
VCG Mechanims
Groves Auctions
I ALLOCATION (outcome that maximizes the social welfare):
χ(v1, v2, . . . , vn) = arg maxα∈A∑n
i=1 vi (α)
I PAYMENT (second highest bid)
p(v1, v2, . . . , vn) = hi (v−i )−∑
j 6=i vj(χ(v1, v2, . . . , vn))
1. hi (v−i ): does not depend on vi2.
∑j 6=i vj(χ(v1, v2, . . . , vn)): sum of valuations of other players
in given outcome
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
VCG Mechanims
Clarke pivot rule
hv−i = maxα′∈A∑
j 6=i vi (α′)
I Maximum social welfare when player i does not participate
Intuition: Each player pays the damage they cause to others bytheir presence to the auction
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
VCG Mechanims
Observations
Every Groves Mechanism is truthful:
I Payment:p(v1, v2, . . . , vn) = hi (v−i )−
∑j 6=i vj(χ(v1, v2, . . . , vn))
I Utility of player i :
ui (v−i , vi ) = vi (χ(v−i , vi ))− pi (v−i , vi ) = vi (χ(v−i , vi ))−[hi (v−i )−
∑j 6=i vj(χ(v−i , vi ))] = −hi (v−i ) +
∑j vj(χ(v−i , vi ))
I Hence, Something that does not take into account his bid +Social welfare
I Mechanism maximizes social welfare, so player has no reasonto lie
Clarke pivot rule satisfies individual rationality :
I For every player i : ui (v1, v2, . . . , vn) ≥ 0
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Connecting nodes in a graph
We want to connect A and B. Each edge has a cost (valuation isthe negative cost). Implement VCG to maximize social welfare inthis setting.
A
D
C
B
CAD = 2
CAC = 1 CBC = 4
CCD = 3
CBD = 5
Which edges will we use and how much will we pay them?Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Connecting nodes in a graph (solution)
I players: edges
I outcomes: paths from A to B.
I If edge e is used, player e has a valuation −ce .
I Maximize social welfare: Pick shortest path (ACB,−1− 4 = −5)
I We pay each player the damage they cause
(pAD = pBD = pCD = 0 as they are not used)
pAC = (2 + 5)− 4 = 3, uAC = −1 + 3 = 2
pCB = (2 + 5)− 1 = 6, uAC = −4 + 6 = 2
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Connecting nodes in a graph (solution)
I players: edges
I outcomes: paths from A to B.
I If edge e is used, player e has a valuation −ce .
I Maximize social welfare: Pick shortest path (ACB,−1− 4 = −5)
I We pay each player the damage they cause
(pAD = pBD = pCD = 0 as they are not used)
pAC = (2 + 5)− 4 = 3, uAC = −1 + 3 = 2
pCB = (2 + 5)− 1 = 6, uAC = −4 + 6 = 2
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Connecting nodes in a graph (solution)
I players: edges
I outcomes: paths from A to B.
I If edge e is used, player e has a valuation −ce .
I Maximize social welfare: Pick shortest path (ACB,−1− 4 = −5)
I We pay each player the damage they cause
(pAD = pBD = pCD = 0 as they are not used)
pAC = (2 + 5)− 4 = 3, uAC = −1 + 3 = 2
pCB = (2 + 5)− 1 = 6, uAC = −4 + 6 = 2
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions
I Two items for sale.
I Every player i has a valuation υi ,1 for the first, a valuation υi ,2for the second and a valuation υi ,12 for both.
I υi ,12 is not necessarily υi ,1 + υi ,2.
I Goal: Give the items with an objective to maximize socialwelfare
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions (solution)
1. Outcome:
I Compute:
i∗∗ = arg max υi,12
(i∗, j∗) = arg maxi 6=j(υi,1 + υj,2)
I Offer it to:
1.1 i∗∗ if max υi,12 > maxi 6=j(υi,1 + υj,2)1.2 (i∗, j∗) else
2. Payment:
2.1 pi∗∗ = max(maxi 6=i∗∗ υi,12,maxi 6=j 6=i∗∗(υi,1 + υj,2))2.2 I pi∗ = max(maxi 6=i∗ υi,12,maxi 6=j 6=i∗(υi,1 + υj,2))− υj∗,2
I pj∗ = max(maxi 6=j∗ υi,12,maxi 6=j 6=j∗(υi,1 + υj,2))− υi∗,1
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions (solution)
1. Outcome:
I Compute:
i∗∗ = arg max υi,12
(i∗, j∗) = arg maxi 6=j(υi,1 + υj,2)
I Offer it to:
1.1 i∗∗ if max υi,12 > maxi 6=j(υi,1 + υj,2)1.2 (i∗, j∗) else
2. Payment:
2.1 pi∗∗ = max(maxi 6=i∗∗ υi,12,maxi 6=j 6=i∗∗(υi,1 + υj,2))2.2 I pi∗ = max(maxi 6=i∗ υi,12,maxi 6=j 6=i∗(υi,1 + υj,2))− υj∗,2
I pj∗ = max(maxi 6=j∗ υi,12,maxi 6=j 6=j∗(υi,1 + υj,2))− υi∗,1
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions (solution)
1. Outcome:
I Compute:
i∗∗ = arg max υi,12
(i∗, j∗) = arg maxi 6=j(υi,1 + υj,2)
I Offer it to:
1.1 i∗∗ if max υi,12 > maxi 6=j(υi,1 + υj,2)1.2 (i∗, j∗) else
2. Payment:
2.1 pi∗∗ = max(maxi 6=i∗∗ υi,12,maxi 6=j 6=i∗∗(υi,1 + υj,2))2.2 I pi∗ = max(maxi 6=i∗ υi,12,maxi 6=j 6=i∗(υi,1 + υj,2))− υj∗,2
I pj∗ = max(maxi 6=j∗ υi,12,maxi 6=j 6=j∗(υi,1 + υj,2))− υi∗,1
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions (solution)
1. Outcome:
I Compute:
i∗∗ = arg max υi,12
(i∗, j∗) = arg maxi 6=j(υi,1 + υj,2)
I Offer it to:
1.1 i∗∗ if max υi,12 > maxi 6=j(υi,1 + υj,2)1.2 (i∗, j∗) else
2. Payment:
2.1 pi∗∗ = max(maxi 6=i∗∗ υi,12,maxi 6=j 6=i∗∗(υi,1 + υj,2))2.2 I pi∗ = max(maxi 6=i∗ υi,12,maxi 6=j 6=i∗(υi,1 + υj,2))− υj∗,2
I pj∗ = max(maxi 6=j∗ υi,12,maxi 6=j 6=j∗(υi,1 + υj,2))− υi∗,1
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Combinatorial auctions (solution)
1. Outcome:
I Compute:
i∗∗ = arg max υi,12
(i∗, j∗) = arg maxi 6=j(υi,1 + υj,2)
I Offer it to:
1.1 i∗∗ if max υi,12 > maxi 6=j(υi,1 + υj,2)1.2 (i∗, j∗) else
2. Payment:
2.1 pi∗∗ = max(maxi 6=i∗∗ υi,12,maxi 6=j 6=i∗∗(υi,1 + υj,2))2.2 I pi∗ = max(maxi 6=i∗ υi,12,maxi 6=j 6=i∗(υi,1 + υj,2))− υj∗,2
I pj∗ = max(maxi 6=j∗ υi,12,maxi 6=j 6=j∗(υi,1 + υj,2))− υi∗,1
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Substitute products
I Suppose now that there are two products A and B (laptops)and the players won’t to take just one.
I A is better than B and everybody prefers it but the valuationsvaries among bidders.
I The players have valuations for the products υi ,A and υi ,B(υi ,A ≥ υi ,B))
I Goal is to find who will get each product and at what price.
I Objective: Maximize social welfare
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Substitute products (solution)
1. Outcome:
I Offer it to:
(i∗, j∗) = arg maxi 6=j(υi,A + υj,B)
2. Payment:I pi∗ = maxi 6=j 6=i∗(υi,A + υj,B))− υj∗,BI pj∗ = maxi 6=j 6=j∗(υi,A + υj,B))− υi∗,A
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Substitute products (solution)
1. Outcome:
I Offer it to:
(i∗, j∗) = arg maxi 6=j(υi,A + υj,B)
2. Payment:I pi∗ = maxi 6=j 6=i∗(υi,A + υj,B))− υj∗,BI pj∗ = maxi 6=j 6=j∗(υi,A + υj,B))− υi∗,A
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Substitute products (solution)
1. Outcome:
I Offer it to:
(i∗, j∗) = arg maxi 6=j(υi,A + υj,B)
2. Payment:
I pi∗ = maxi 6=j 6=i∗(υi,A + υj,B))− υj∗,BI pj∗ = maxi 6=j 6=j∗(υi,A + υj,B))− υi∗,A
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Substitute products (solution)
1. Outcome:
I Offer it to:
(i∗, j∗) = arg maxi 6=j(υi,A + υj,B)
2. Payment:I pi∗ = maxi 6=j 6=i∗(υi,A + υj,B))− υj∗,BI pj∗ = maxi 6=j 6=j∗(υi,A + υj,B))− υi∗,A
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Generalized Second Price Auction
I Similar setting as in search engines
I Auction behind each keyword
I However VCG is not used there
I Yahoo! used First-Price Auction
I Google used Generalized Second Price Auction (everybodypays the price of the person below him)
I Not truthful but offers more revenue.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Generalized Second Price Auction
I Similar setting as in search engines
I Auction behind each keyword
I However VCG is not used there
I Yahoo! used First-Price Auction
I Google used Generalized Second Price Auction (everybodypays the price of the person below him)
I Not truthful but offers more revenue.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Generalized Second Price Auction
I Similar setting as in search engines
I Auction behind each keyword
I However VCG is not used there
I Yahoo! used First-Price Auction
I Google used Generalized Second Price Auction (everybodypays the price of the person below him)
I Not truthful but offers more revenue.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Examples
Generalized Second Price Auction
I Similar setting as in search engines
I Auction behind each keyword
I However VCG is not used there
I Yahoo! used First-Price Auction
I Google used Generalized Second Price Auction (everybodypays the price of the person below him)
I Not truthful but offers more revenue.
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Contents
IntroductionMotivationGame TheoryMechanism Design
Social welfare maximizationSingle-item auctionVCG MechanimsExamples
Revenue maximizationBayesian settingOptimal mechanism
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Bayesian setting
Relaxations of the setting
I Generally, impossible to find an optimal mechanism thatmaximizes revenue
I Two relaxations:
1. Suppose that the distribution of agents’ preferences is commonknowledge (Bayesian setting)
2. Try to approximate optimal mechanism’s solution
Bayesian auctions:
I For each player, the seller knows a probability distributionfi (vi ), vi ∈ [`i , ri ]
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Bayesian setting
Single-item auction, 2 players
I Vickrey: E [min{x1, x2}] = 13
I Anything better?
I Reserved price at 12
I Then the revenue’s expectation is14 × 0 + 1
4 ×23 + 1
2 ×12 = 5
12
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Bayesian setting
Single-item auction, 2 players
I Vickrey: E [min{x1, x2}] = 13
I Anything better?
I Reserved price at 12
I Then the revenue’s expectation is14 × 0 + 1
4 ×23 + 1
2 ×12 = 5
12
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Truthfulness
Given the valuation trajectory of other players x−i ,
I the probability ai (xi , x−i ) that player i gets the product,denoting valuation xi should be a monotone function of xi
I the price he pays should be xiαi (xi , x−i )−∫ xi0 αi (t, x−i )dt
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Optimal revenue (Myerson)
We want to maximize:∑i
∫ 10
∫ 10 . . .
∫ 10 pi (xi , x−i )fn(xn) . . . f1(x1)dxn . . . dx1
Expected revenue from player i given utilities x−i :∫ 10 pi (xi , x−i )fi (xi )dxi = . . .
∫ 10 ai (xi , x−i )[xi − 1−Fi (xi )
fi (xi )]fi (xi )dxi
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Optimal revenue (Myerson)
We want to maximize:∑i
∫ 10
∫ 10 . . .
∫ 10 pi (xi , x−i )fn(xn) . . . f1(x1)dxn . . . dx1
Expected revenue from player i given utilities x−i :∫ 10 pi (xi , x−i )fi (xi )dxi = . . .
∫ 10 ai (xi , x−i )[xi − 1−Fi (xi )
fi (xi )]fi (xi )dxi
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Virtual values as the solution
Virtual value:
φi (xi ) = [xi − 1−Fi (xi )fi (xi )
]
Hence, we need to maximize:∫ 10 . . .
∫ 10
∑ai (xi )φi (xi )f (x1) . . . f (xn)dx1 . . . dxn
Weighted VCG on φi (xi ). If i has the highest φi (xi ) and j thesecond highest,
1. Outcome: i gets the item
2. Payment: and pays φ−1i (φj(xj))I φi monotone if Fi regularI Ironing it otherwise
3. Solution for all single-parameter settings
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Example
I f1(x1) = 12 , x1 = [0, 2] and 0 elsewhere
I f2(x2) = 12 , x2 = [1, 3] and 0 elsewhere
I φ1(x1) = 2x1 − 2, x1 = [0, 2]
I φ2(x2) = 2x2 − 3, x2 = [1, 3]
I If player 1 declares 2 and player 2 declares 2.4 for instance,player 2 will lose the product.
I We incentivize player 2 not to denote just 2 + ε and we winmore than 2 from him!
Introduction to Mechanism Design National Technical University of Athens
Introduction Social welfare maximization Revenue maximization
Optimal mechanism
Example
I f1(x1) = 12 , x1 = [0, 2] and 0 elsewhere
I f2(x2) = 12 , x2 = [1, 3] and 0 elsewhere
I φ1(x1) = 2x1 − 2, x1 = [0, 2]
I φ2(x2) = 2x2 − 3, x2 = [1, 3]
I If player 1 declares 2 and player 2 declares 2.4 for instance,player 2 will lose the product.
I We incentivize player 2 not to denote just 2 + ε and we winmore than 2 from him!
Introduction to Mechanism Design National Technical University of Athens