PowerPoint 演示文稿

Market Design and Analysis
Lecture 3
Lecturer: Ning Chen (陈宁)
Email: [email protected]
Last Two Lectures…

Gale-Shapley marriage market

mathematical model

extensions (incomplete preferences, different # of M and W)

solution concept: stability

computational issue: G-S algorithm

mathematical properties



men/women optimal stable matching
lattice, LP
economic properties


Pareto optimality, core
strategic considerations
2
Multi-Item Market
$2
$5
$6
$3
$4
$8
How to decide prices and allocations
to achieve certain economic goals?
3
Multi-Item Market

Market information




m sellers, each has one item to sell
n potential buyers, each demands at most one item
for each buyer i and item j, there is a value vij meaning
the max amount that i is willing to pay for item j
Output: a tuple (p,x) where
 price vector (pj) j=1,…,m where pj is the price of item j
 allocation
vector (xi) i=1,…,n where xi is the item that
buyer i obtains

xi = Ø denotes i obtains nothing
 xi ≠ xj for all i and j (unless they are Ø)
4
Single Item Market



When there is only one item, i.e., m = 1, the problem
degenerates to auction a single item
Solutions: first price auction, second price auction,...
Fairness guaranteed by the first and second price
auction: no buyer envies other buyer’s allocation for the
given charged price. That is, (e.g., in first price auction)





if v1 ≥ v2 ≥ v3 ≥ ... ≥ vn
buyer 1 wins the item at price v1
then the output (p,x) is p = v1 and x = (1, Ø, Ø, ..., Ø)
buyer 1 doesn’t prefer any other’s allocation Ø
any other buyer doesn’t prefer buyer 1’s allocation
5
Envy-Freeness

Given an output (p,x), the utility of buyer i is defined to
be
vij – pj, if i wins item j
 0, if i wins nothing


An output (p,x) is envy-free if the utility of every buyer is
maximized at the corresponding allocation for the given
price vector. That is,

if i wins item j, vij – pj ≥ 0;
and for any other item k, vij – pj ≥ vik – pk

if i wins nothing, for any other item k, 0 ≥ vik – pk
6
Example
Not envy-free!
$2
$5
$3
$2
$6
$3
$4
$5
$4
$8
Does an envy-free solution always
exist for any instance?
7
Competitive Equilibrium

An output (x,p) is called a competitive equilibrium if
 (market


clearance)
item priced at 0 if not allocated out
items of non-zero price are all sold out
 (fairness)

all buyers are envy-free
Does a competitive equilibrium exist?
8
Example
$2
$5
$0
$5
$6
$3
$0
$6
$4
$8
9
Computation of Competitive Equilibrium

Theorem 10.1 (Shapley & Shubik). A competitive
equilibrium always exists.

How can we find one?
10
Computation – Demand Graph

Given a price vector p, create a bipartite graph G(p)
= (A,B;E), called demand graph, where


A is the set of buyers, B is the set of items
(i,j) is an edge if
vij – pj > 0 (i.e., i obtains positive utility from j)
 vij – pj is maximized among all items


For every buyer i, its neighbor set is N(i) = {j: (i,j) ∈ E}


items desired by i
buyer’s most satisfied items at the current price vector
11
Computation – Price Increment

Given a price vector p and demand graph G(p) =
(A,B;E)


N(i) is the set of items that i desires (i.e., utilitymaximized)
If there is S ⊆ A s.t. |S| > |T| where T = N(S)

there is no way to allocated items in T to buyers in S to
satisfy everyone in S
 T is over-demanded
 increase prices of items in T to reduce its “over-demand”

Which over-demanded items should be increased?
12
Computation – Minimal Over-Demand Items

Given a price vector p and demand graph G(p) =
(A,B;E)


we say a subset of items T ⊆ B is over-demanded if
|S| > |T|, where S = {i ∈ A | N(i) ≠ Ø and N(i) ⊆ T}
a subset of items T ⊆ B is minimal over-demanded if it
is over-demanded and does not contain any overdemanded proper subset
13
Example
over-demanded, but not minimal
$2
$5
$0
$6
$3
$0
$4
$8
minimal over-demanded
14
Computation – Outline of the Algorithm
1)
2)
Let p = 0 and initialize demand graph G(p)
While there is an over-demanded subset

price-increment: simultaneously increase current price
vector p for the items in the minimal over-demanded subset
till someone is about to change its demand set
 update the demand graph G(p)
3)
Output

price vector: the final prices
 allocation vector: compute a matching of max size in G(p)
15
Computation – Step 2 Price Increment


Let T⊆B be a minimal over-demanded set and S =
N(T)
Raise pj for each jT by the same amount till one of
the following events occurs

There are iS and jT s.t. i obtains the max utility
from j


(i,j) becomes a new edge of G
There are iS and jT s.t. (i,j)E and vij = pj


max obtainable utility of i (from all items) is 0
delete node i
16
Example
value = (100,50)
value = (80,40)
•
Three buyers {R, B, G}
Two items {a, b}
•
Valuation vector:
•
a
–
–
b
–
R: (100, 50)
B: (80, 40)
G: (20, 10)
value = (20,10)
17
Initialization: Price p = 0
value = (100,50)
value = (80,40)
p1 = 0
•
Price vector: (0, 0)
•
Utility vector:
–
–
–
R: (100, 50)
B: (80, 40)
G: (20, 10)
p2 = 0
value = (20,10)
18
Initialization – Demand Graph
value = (100,50)
value = (80,40)
•
Price vector: (0, 0)
•
Utility vector:
–
p1 = 0
–
–
R: (100, 50)
B: (80, 40)
G: (20, 10)
p2 = 0
•
value = (20,10)
Minimal over-demanded
subset: {a}
19
While loop1: Increase Price
value = (100,50)
value = (80,40)
p1 = 10
•
Price vector: (10, 0)
•
Utility vector:
–
–
–
R: (90, 50)
B: (70, 40)
G: (10, 10)
p2 = 0
value = (20,10)
20
While loop1: Update Graph
value = (100,50)
value = (80,40)
•
Price vector: (10, 0)
•
Utility vector:
–
p1 = 10
–
–
R: (90, 50)
B: (70, 40)
G: (10, 10)
p2 = 0
•
value = (20,10)
Minimal over-demanded
subset: {a}
21
While loop2: Increase Price
value = (100,50)
•
Price vector: (40, 0)
•
Utility vector:
–
value = (80,40)
p1 = 40
–
–
R: (60, 50)
B: (40, 40)
G: (0, 10)
p2 = 0
value = (20,10)
22
While loop2: Update Graph
value = (100,50)
•
Price vector: (40, 0)
•
Utility vector:
–
value = (80,40)
p1 = 40
–
–
p2 = 0
value = (20,10)
•
R: (60, 50)
B: (40, 40)
G: (0, 10)
Minimal over-demanded
subset: {a, b}
23
While loop3: Increase Price
value = (100,50)
value = (80,40)
p1 = 50
•
Price vector: (50, 10)
•
Utility vector:
– R: (50, 40)
– B: (30, 30)
– G: (0, 0)
p2 = 10
value = (20,10)
24
While loop3: Update Graph
value = (100,50)
value = (80,40)
•
Price vector: (50, 10)
•
Utility vector:
– R: (50, 40)
– B: (30, 30)
– G: (0, 0)
•
No over-demanded items!
p1 = 50
p2 = 10
value = (20,10)
25
Final Output
value = (100,50)
value = (80,40)
•
Price vector: (50, 10)
•
Allocation vector: (a, b, Ø)
p1 = 50
p2 = 10
value = (20,10)
26
Example
$2
$5
$0
$1
$2
$6
$3
$0
$1
$4
$3
$2
$5
$4
$8
minimal over-demanded
27
Computation of Competitive Equilibrium

Theorem 10.2 (Demange, Gale, Sotomayor). The
above “ascending auction” algorithm computes a
competitive equilibrium.
28
Properties of Competitive Equilibrium

Given an allocation x, the social welfare is defined to
be
f(x) = ∑i vi,x(i)
That is, the total valuations obtained for all buyers. An
allocation x is called efficient if for any other feasible
allocation x’, f(x) ≥ f’(x).
29
Properties of Competitive Equilibrium

First Fundamental Welfare Theorem. For any
competitive equilibrium (p,x), the allocation x is
efficient, i.e., it maximizes social welfare.

Second Fundamental Welfare Theorem. For any
efficient allocation x, there is a price vector p such
that (p,x) is a competitive equilibrium.
30
Stability and Competitive Equilibrium

What is the relation between competitive equilibrium
and stability?

Definition of preferences:

buyers prefer items with larger utility (i.e., vij – pj)

sellers (i.e., items) prefer buyers with larger payment
31
Stability in Multi-Item Market
j new utility

j old utility
i old utility
i new utility
Given an outcome (p,x), where


pj is the price of item j (i.e., the total payment that
seller j receives)
xi is the allocation of buyer
we say (i,j) a blocking pair if there is p’j such that
p’j > pj (i.e., item j can receive more payment)
 the utility that i obtains in (p,x) is less than vij – p’j (i.e.,
by payment p’j to item j buyer i can get more utility)


An outcome (p,x) is stable if it has no blocking pairs
32
Stability and Competitive Equilibrium

Theorem 10.2 (Shapley, Shubik) In a multi-item market, an
outcome (p,x) is a competitive equilibrium if and only if it is
stable.

Proof. If (p,x) is a competitive equilibrium, consider any
buyer i:

If xi = j (i.e., i wins item j), then and for any item k,
vij – pj ≥ vik – pk. Hence, for any p’k > pk,
vij – pj ≥ vik – pk > vik – p’k

If xi =Ø (i.e., i wins nothing), for any item k, 0 ≥ vik – pk. Hence,
for any p’k > pk, 0 ≥ vik – pk > vik – p’k
That is, i and k cannot be a blocking pair, i.e., (p,x) is stable
33
Stability and Competitive Equilibrium

Proof (continue). If (p,x) is stable, consider any buyer i:

If xi = j (i.e., i wins item j), for any item k, if
vij – pj < vik – pk
then there is p’k > pk such that vij – pj < vik – p’k < vik – pk
That is, (i, k) is a blocking pair, a contradiction.
 If xi =Ø (i.e., i wins nothing), for any item k, if
0 < vik – pk
Hence, for any p’k > pk, 0 < vik – p’k < vik – pk
Again, (i, k) is a blocking pair, a contradiction.
That is, everyone is satisfied with his allocation, i.e., (p,x)
is a competitive equilibrium
34
Stability and Competitive Equilibrium

Since stability = competitive equilibrium, do other
properties of stability, e.g.,
 men/women
optimal stable matching
 linear program and lattice structure
 one side truthfulness
apply to competitive equilibrium?
35
Lattice Structure

Given two competitive equilibria (p,x) and (p’,x’), we say
(p,x) ≤ (p’,x’) if for all items, we have pj ≤ p’j

Theorem 10.3 (Shapley, Shubik) The partial order ≤
forms a complete lattice.
(p1,x1)
(p2,x2)
(p3,x3)
(p4,x4)
36
Minimum/Maximum Competitive Equilibrium

An outcome (p,x) is called a

minimum competitive equilibrium if it is a competitive
equilibrium and for any other competitive equilibrium
(p’,x’), we have pj ≤ p’j for all items.


represents the interests of all buyers in terms of their total
payment.
maximum competitive equilibrium if it is a competitive
equilibrium and for any other competitive equilibrium
(p’,x’), we have pj ≥ p’j for all items.

represents the interests of all items (i.e., sellers) in terms of
total payment received
37
Properties of Min/Max Competitive Equilibrium

Existence. Lattice theorem implies that both minimum
and maximum equilibria always exist.

Uniqueness. A min/max competitive equilibrium may
NOT be unique. For example,

two buyers and one item with v1 = v2 = 10, there are two
min/max competitive equilibria: p=10, x=(1,Ø) and p=10,
x=(Ø,1).
However, the price vector in min/max equilibrium is
unique.
38
Properties of Min/Max Competitive Equilibrium

Connection to first/second price auction. When
there is a single item, what are min/max competitive
equilibria?


min equilibrium = 2nd price auction = buyer-optimal
max equilibrium = 1st price auction = seller-optimal
39
Properties of Min/Max Competitive Equilibrium

Computation. How can we compute a min/max
competitive equilibrium?


(Demange, Gale, Sotomayor) ascending auction
algorithm computes a min competitive equilibrium
computation of max equilibrium
40
Properties of Min/Max Competitive Equilibrium

One-side truthfulness. What if (vij) are private
information and buyer i bid (bij) strategically for every
item j?


min competitive equilibrium mechanism: it is a dominant
strategy for every buyer to report his true valuation (vij)
max competitive equilibrium mechanism: it is possible that
some buyer bid a false value to obtain more utility
41