מצגת של PowerPoint - Tel Aviv University

Download Report

Transcript מצגת של PowerPoint - Tel Aviv University

VCG
Computational game theory
Fall 2010
by Inna Kalp and Yosef Heskia
Mechanisms with money
A model for n players:
• Vi  group of all valuation functions for
player i.
• A – group of alternatives. ( a  A is a single
alternative)
• Each player is determined by his valuation
function: i : vj Vi  vj : A  R
Mechanisms with money – cont.
A mechanism with money consists of:
• Social choice function: f : V1 V2  ... Vn  A
• Payments: pi : V1 V2  ... Vn  R - payment
for player i.
v1 v2 v3 … vn
Mechanism
( f , p1... pn )
a  A p1 p2 p3 … pn  R
• The utility function of player i: ui  vi (a)  pi
Truthful mechanism:
Definition: Incentive compatible (IC) (or
truthful) mechanism:
i  N : vi Vi : f (vi , vi )  a, f (v'i , vi )  a' 
vi (a)  pi (vi , vi )  vi (a' )  pi (v'i , vi )
i.e. – the utility function of player i maximizes
when he tells the truth.
Our goal:
Find a mechanism that:
1) Incentive Compatible.
2) Maximizes the social welfare.
Definition: social welfare:
n
 v ( f (v ,..., v ))
i 1
i
1
n
Where vi is the true valuation of player i,
i.e. no one is lying..
VCG Mechanism
Definition: VCG (Vichery Clarke Grove)
mechamism: a mechanism with money s.t:
Given valuations v1 , v2 ...vn , returns:
n
f (v1 , v2 ...vn )  arg max  vi (a )
aA
i 1
pi (v1 , v2 ...vn )  hi (vi )   v j (a)
j i
VCG mechanism. Cont.
Theorem: VCG mechamism is:
(1) IC
(2) Maximizes social welfare
VCG maximizes social welfare
Proof: first, it follows by
definition that VCG maximizes
social welfare, since:
n
f (v1 , v2 ...vn )  arg max  vi (a )
aA
i 1
We now have to prove that VCG is
Incentive Compatible.
VCG is IC
• We shall fix player i and valuations vector
vi for the other players.
• We’ll define vi as the real valuation, and v'i as the false
valuation.
• We also define: a  f (vi , vi )
a'  f (v'i , vi )
• The player’s utility when he tell the truth:
ui  vi ( f (vi , vi ))  pi (vi , vi )  vi (a)  (hi (vi )   v j (a)) 
j
n
 v ( a )  h (v
i
i 1
i
i
)
• The player’s utility when reports false valuation:
u 'i  vi ( f (v'i , vi ))  pi (v'i , vi )  vi (a' )  (hi (vi )   v' j (a' )) 
j
n
 v ( a ' )  h (v
i 1
i
i
i
)
VCG is IC- Cont.
Since a maximizes social welfare, a' A
n
n
 v (a)   v (a' )
i 1
i
i 1
i
We conclude that ui  u 'i , and thus VCG
mechanism is IC.
Generalization of VCG
Definition: a function f is called
Affine maximizer:
for sub group A'  A , weights w1..wn
and constants ca a  A :
n
f (v1 , v2 ,..., vn )  arg max( ca   w j v j (a ))
j 1
a A '
note: if A'  A, w1  ...wn  1 and ca  0 a  A
f is called Maximal in Range
Affine Maximizer - Cont.
Claim: we can turn an Affine maximizer to be
IC. We define:
n
1. f (v1 ,...vn )  arg max (ca   w j v j (a))
aA'
j 1
wj
ca
2. pi (v1 ,...vn )  hi (vi )   ( v j (a) f (vi , vi )) 
wi
j  i wi
Affine maximizer is IC- Cont.
proof: lets calculate the utility functions for
vi (true) and vi’ (false):
ui (vi , vi )  vi ( f (vi , vi ))  
j i
wj
wi
v j ( f (vi , vi )) 
c f ( vi ,vi )
wi
 hi (vi )
wj
1
 w ( v j ( f (vi , vi ))  c f ( vi ,vi ) )  hi (vi )
i
w
n
j 1
i
ui ' (vi ' , vi )  vi ( f (vi ' , vi ))  
j i
wj
wi
v j ( f (vi ' , vi )) 
wj
1
 w ( v j ( f (vi ' , vi ))  c f ( vi ',vi ) )  hi (vi )
i
w
n
j 1
i
c f ( vi ',vi )
wi
 hi (vi )
Affine maximizer is IC- Cont.
Since
n
wj
 w v ( f (v , v
j 1
j
i
i
))  c f ( vi ,vi ) )
maximizes social
i
welfare, ui  u 'i
We conclude that Affine maximizer is IC.
Roberts Theorem
Roberts Theorem: if Vi can be any
function, then there are no other
mechanisms that are Incentive
Compatible.
Definitions:
• A mechanism is Individually Rational (IR) if:
v1..vn V1...Vn
i : ui (v1..vn )  vi ( f (v1..vn )  pi (v1..vn )  0
i.e. every player benefits from the game, no
mater what the outcome is.
• A mechanism{ f , p1.. pn } has No Positive
Transfers (NPT) if:
i : pi (v1..vn )  0
Clarke Pivot Payments
Clarke Pivot Payments (CPP) determine the
payments in VCG (they determine hi):
hi (vi )  max  v j (b)
b A
j i
• hi (vi ) = “what could have been the social
welfare if player i didn’t participate”
VCG with CPP has NPT:
Using CPP the payments are:
pi  hi (vi )   v j ( f (vi , vi )) 
max
b A
v
j i
j i
j
(b)   v j ( f (vi , vi ))  0
b maximazes the sum :
 v j (b)
ji
j i
 f(v , vv ()fmaximazes
(v , v ))

i
n
-i
i 1 i
i
the sum over :
-i
All the payments are positive -> the
mechanism has no Positive Transfers!
VCG with CPP is IR:
Claim: if ia  A vi (a)  0 then ui (v1..vn )  0
and the mechanism is Individually rational.
n
proof: ui (v1..vn )   v j ( f (v1..vn ))  max  v j (b)
bA
j 1
j i
let' s define b  arg max  v j (b)
bA
n
j i
n
ui (v1..vn )   v j ( f (v1..vn ))   v j (b)  0
j 1
we have removed
v j (b)  0
j 1
Since f maximizes
social welfare
Example 1: Single Item Auction
We define a single item auction by:
 A  {i wins | i  }
wi a " i wins" 
 vi (a)  

0 else

In this case, f is reduced into:
f arg max
bA
v
jN
j
(b)  a
Example 1: cont.
Let h i (vi )  0 i  N , then :
if i has the maximum value w i , then :
pi  0   v j ( a )  0
j i
p j  i  0   vl ( a )  vi
l i
The mechanism will give the item to the
highest bidder, and the players will receive vi$
The mechanism is IC
(no one will be better off by lying)
Example 1: using CPP
Let h i (vi )  max  v j (b) i  N , then :
j i
b A
if i has the maximum value w i , then :
pi  max  v j (b)   v j ( a )  w s 
j i
j i
 ( the second highest bid)
p j  i  max  vl (b)   vl ( a )  vi  vi  0
j l
l j
Second Price Auction
Example 2: selling k items with CPP
Each player wants only one item. There are k
(identical) items for sale:
f arg max
b A
 v (b)   v
iN
i
i
k largest vi ' s
Let' s sort the bids :
v1  v2  v3 ...  vn
The highest k bids get the item
p i  n -k  max  v j (b)   v j ( a )  vn  k 1
b A
j i
j i
p i  n -k  max  v j (b)   v j ( a )  0
b A
j l
j l
K highest bidders win and pay vn k 1
Example 3: Bilateral Trade
Each player wants only one item. There are k
(identical) items for sale:
A  {" trade" , " no  trade"}
seller s  has value v s
buyer b  has value v b
vs  vb  no  trade ; vs  vb  trade
if no  trade - the prices are 0
x  A :" no  Trade": v s  vb
y  A :" Trade": v s  vb
vs ( x)  vs ; vb ( x)  0
vs ( y )  0 ; vb ( y )  vb
Example 3: Bilateral Trade
in alternativ e x (no trade) :
p i (vb )  hi (vs )  vs ( x)  0  hi (vs )  vs
p i (vs )  hi (vb )  vb ( x)  0  hi (vb )  0
in alternativ e y ( trade) :
p i (vb )  hi (vs )  vs ( y )  vs  0  vs
p i (vs )  hi (vb )  vb ( y )  vb
Since Vs<Vb,
The mechanism subsidizes the project
Example 4: public project
In a public project like bridge, the players
benefit from building. The problem is how to
divide the cost of building.
A  {" build " , " no  build "}
A total build cost of C.
Each player has value w i from the project.
v
If  v
If  v
If
i
 C  build .
i
 C  i. pi  0
i
 C , but
v
i j
pi  C   v j
i j
j
C
The mechanism
subsidizes the project
Uniqueness Of Prices
Describe each type (valuation function) vi∊Vi
as |A| = m dimensional vector
vi =(vi(a1), …, vi(am)). Note that Vi ⊂ R|A|
Uniqueness Of Prices: If for every i:
Vi ⊂ R|A| is con, and mechanism
(f, p1, …, pn) is IC then:
Mechanism (f, p1’, …, pn’) is IC iff
For every i, vi there exists h(v-i) s.t.
pi’(vi, v-i) = pi(vi, v-i) + h(v-i)
Uniqueness Of Prices (cont.)
Trivial – given a certain v-i, player i can’t
influence the prices in (f, p1’, …, pn’). That is,
since prices are off by a constant h(v-i)
compared to prices of (f, p1, …, pn), thus:
for every vi (“the truth”) and every other vi’:
vi(f(vi’, v-i)) – pi’(vi’, v-i)
= vi(f(vi’, v-i)) - pi(vi’, v-i) + h(v-i) (assumption)
<= vi(f(vi, v-i)) - pi(vi, v-i) + h(v-i) (truthful)
= vi(f(vi, v-i)) – pi’(vi, v-i)
(assumption)
 (f, p1’, …, pn’) is truthful as well.
Uniqueness Of Prices (Lemma)
: First we prove the following lemma:
A mechanism that maximizes social welfare
is IC 
(1) For every i, v-i, every vi, vi’:
f(vi, v-i) = f(vi’, v-i)  pi(vi, v-i) = pi(vi’, v-i)
Proof: Assume otherwise – so given i, v-i, vi,
vi’ s.t. f(vi, v-i) = f(vi’, v-i) and
pi(vi, v-i) < pi(vi’, v-i) (w.l.o.g.):
-pi(vi, v-i) > -pi(vi’, v-i)
(add vi’(f(vi’, v-i)))
vi’(f(vi’, v-i))- pi(vi, v-i) > vi’(f(vi’, v-i))- pi(vi’, v-i)
but f(vi, v-i) = f(vi’, v-i) - switch in left side:
Lemma (cont.)
vi’(f(vi, v-i))- pi(vi, v-i) > vi’(f(vi’, v-i)) - pi(vi’, v-i)
thus mechanism is not truthful (“if vi’ is the
truth – better saying vi”)
Note that if combined with (1), we have:
(2) f(vi, v-i) ∊ argmaxa∊A(vi(a)-Pa)
(Pa “price for player i if a is the result” is
uniform for every vi that gives: f(vi,v-i) = a –
along with condition (1))
It’s (1), (2) iff IC, but it’s not needed for
Uniqueness Of Prices.
Uniqueness Of Prices ( side)
We have Vi ⊂ R|A| connected, m=(f, p1, …, pn)
and m’=(f, p1’, …, pn’) IC mechanisms. We fix
i, v-i.
We need to show for every vi, vi’∊Vi that
pi’(vi, v-i) = pi(vi, v-i) + h(v-i) thus
pi’(vi, v-i) - pi(vi, v-i) = h(v-i) (fixed, for every
vi)  for every vi, vi’ :
pi’(vi,v-i) - pi(vi,v-i) = pi’(vi’,v-i) - pi(vi’,v-i))
Define division of V to fragments:
a
V = {vi∊Vi|f(vi, v-i) = a} – thus price for i on
a
every vi∊V is fixed at Pa in m and Pa’ in m’
(both truthful, according lemma)
 side (cont)
a
So if vi,vi’∊V we get:
pi’(vi,v-i) - pi(vi,v-i) = Pa’ – Pa =
pi’(vi’,v-i) - pi(vi’,v-i))
a
b
But if vi∊V , vi’∊V for a != b:
a
b
Definition: V , V are “close” if:
  0vi  v vi  v || vi
a
a
b
b
a

vi || 1  max c  A | vi (c)  vi (c) | 
b
b
a
a
b
Now, if a,b are close, for the vi ,vi that are
epsiolon apart:
a
a
m is truthful, vi ∊V thus:
a
a
vi (a) – Pa >= vi (b) – Pb
b
b
b
b
Similarily: vi ∊V  vi (a) – Pa <= vi (b) – Pb
 side (cont)
Combine them to get:
a
a
b
b
vi (a) - vi (b) >= Pa – Pb >= vi (a) - vi (b)
Now Pa – Pb is caught in a sandwich, whose
size is:
a
a
b
b
vi (a) - vi (b) – (vi (a) - vi (b))
a
b
b
a
= (vi (a) - vi (a)) + (vi (b) - vi (b))
a,b are “close” so each red expression <=
a
a
epsilon (by definition)  vi (a) - vi (b) =
b
b
Pa – Pb = vi (a) - vi (b)
We do the same for m’ and get:
b
b
P’a – P’b = vi (a) - vi (b) = Pa – Pb
 side (cont)
b
b
that’s since vi (a) - vi (b) doesn’t change in
m’ (valuation functions are the same)
P’a – P’b = Pa – Pb  P’a – Pa = P’b – Pb
a
b
Meaning, for vi∊V , vi’∊V where a,b are close
we got the needed
pi’(vi,v-i) - pi(vi,v-i) = P’a – Pa
= P’b – Pb = pi’(vi’,v-i) - pi(vi’,v-i)).
Note that V is connected
and continuous, so between
a
b
every V , V ⊂Vi there must be
chain a, a1, …, am, b close in couples
Uniqueness Of Prices conclusion
 P’a – Pa = P’a1– Pa1 ’ = … = P’am – Pam = P’b – Pb
 We get the needed result:
for each vi, vi’∊Vi:
pi’(vi,v-i) - pi(vi,v-i) = pi’(vi’,v-i) - pi(vi’,v-i))
 for each vi∊Vi: pi’(vi, v-i) = pi(vi, v-i) + h(v-i)
We showed “ side” as well, and thus
“Uniqueness Of Prices”
Weak Monotonicity
Definition: function f: (V1* …* Vn)  A is
WMON if:
iv  ivi, vi ': ( f (vi, v  i )  a  b  f (vi ' , v  i ))  vi (a)  vi (b)  vi ' (a)  vi ' (b)
Note that it’s not a complete mechanism,
but just its alternative picking function.
Also note that if a=b, it trivially holds as
well.
Saks Yu Theorem
(1) For m=(f, p1, …, pn) IC mechanism  f is
WMON.
(2) If every Vi⊂R|A| is convex and given f
WMON  exists p1, …, pn Payments
functions s.t. m=(f, p1, …, pn) is IC
(alternatively f is “implementable”)
Proof for (1): assume otherwise, thus exists
f(vi, v-i) = a != b = f(vi’, v-i) s.t.
vi(a) - vi(b) < vi‘(a) - vi‘(b)
Saks Yu Theorem (cont.)
but f is IC, so Uniqueness of prices:
vi(a)-Pa>=vi(b)-Pb as well as vi‘(a)-Pa<=vi‘(b)-Pb
Add inequations:
vi(a)-Pa+ vi‘(b)-Pb >=vi(b)-Pb+vi‘(a)-Pa
 vi(a) + vi‘(b) >=vi(b)+vi‘(a)
 vi(a) - vi(b) >=vi‘(a) - vi‘(b) – contradiction.
 f is WMON
The (2) proof of Saks Yu will be skipped for
now.
Weak Monotonicity (examples)
One Item Auction:
Under the assumptions that non zero value
for player i exists only if chosen alternative
is that it gets the item.
Under m players auction Vi⊂Rm but non zero
value exists only on the axis of “player i
won” – so Vi is a segment from (0,…,0) to
the direction of axis i.
Note that Saks Yu (2) applies as every Vi is
convex  f is implementable (e.g. VCG)
WMON (One Item Auction)
For example with 2 players
V1, V2⊂R2 looks like that:
If we fix v-1 = v2 and observe v1 on its
possible axis, then according to WMON, if
there are 2 possible outcomes (1 wins (a)
and 2 wins (b)) then if f(v1, v2) = a,
f(v1’, v2) = b  v1(a) – v1(b) >= v1‘(a) – v1‘(b)
but for every v∊V1 v(b) = 0
 v1(a) >= v1‘(a)
thus if 1 won, its valuation is greater than
WMON (One Item Auction cont)
any possible valuation which led to b (1
didn’t win), so there has to
be some threshold in V1
over which all vi emit
f(vi) = a, and under which
f(vi) = b.
Obviousely, the threshold is v2(b) – valuation
of the item by the other player.
WMON (public project example)
Another example: Public project. For player
i, fix v-i has again only 2 alternatives –
project constructed – a, and not
constructed – b. Again valuation for b is
zero, leaving with similar layout – out of R2
space Vi occupies the positive axis of
alternative a.
Again, if the 2 alternatives are possible,
we’ll get the same pattern with the
threshold as the WMON forced on the one
item auction previousely.
Cyclic Monotonicity
Definition: function f: (V1* …* Vn)  A is
Cyclic Monotone (CMON) if:
iv  ikvi1 ,..., vi k :| { f (vi1 , v  i ),..., f (vi k , v  i )} | k
where : aj  f (vi j , v  i ); then :
(vi1 (a1 )  vi1 (a 2))  (vi 2 (a 2)  vi 2 (a3))  ...  (vi k (ak )  vi k (a1))  0
Note that when limited only to k=2, it’s
exactly the WMON condition.
CMON (Alternative definition)
An alternative way to represent CMON is by
fixing some v-i, and defining weighted,
complete directed graph G=(Vi,E), W: E  R.
Each vertex vi∊Vi has also its corresponding
f value – f(vi, v-i).
Now define W(vk,vj) (edge directed from vk
to vj), where f(vk, v-i) = a, f(vj, v-i) = b:
W(vk,vj) = vj (b)-vj(a)
Intuition: Edge (vk,vj), if the truth is vj how
much damage will be caused if you’ll say
you’re vk
CMON (Alternative def. cont.)
Now, CMON
condition in graph
representation
for each i of f
is that the graph
doesn’t contain
any directed
negative cycles
in terms of summing the cycle’s edges.
Rochet Theorem
Given f: (V1* …* Vn)  A:
f is CMON iff
f is implementable ( = there exists payment
functions p1, …, pn s.t. m=(f, p1, …, pn) yields
IC mechanism)
Proof: : We’ll build explicitly the payment
functions p1, …, pn based on CMON f. For pi
We’ll pick a some vi∊Vi, and based on it for
every vi’∊Vi: pi(vi’, v-i) will be the shortest
path on the weighted (f, v-i) graph from vi to
vi’.
Rochet Theorem ( side proof)
Shortest paths on the graph is well defined
since f is CMON. Shortest paths also has
the triangle inequality over the distances as
follows (for every vi’’, vi’ ∊Vi):
dist(vi, vi’’) <= dist(vi, vi’) + w(vi’, vi’’)
[Recall dist(vi, x) is pi(x, v-i) and w(vi’, vi’’) is
vi’’(f(vi’’ ,v-i)) - vi’’(f(vi’ ,v-i))]
 pi(vi’’, v-i) <= pi(vi’, v-i) + vi’’(f(vi’’ ,v-i)) –
vi’’(f(vi’ ,v-i))
(move sides)
 vi’’(f(vi’ ,v-i)) - pi(vi’, v-i) <= vi’’(f(vi’’ ,v-i)) –
pi(vi’’, v-i)  f is IC
Rochet Theorem ( side proof)
Now, let f be
implementable,
assume in
contradiction that
the graph contains
negative cycle:
Thus we get:
(vj(b)-vj(a)) + (vk(c)-vk(b)) +
(vl(d)-vl(c)) + (vi(a)-vi(d)) < 0
 side proof (cont.)
•
•
•
•
But f is implementable  exists
m=(f, p1, …, pn) IC mechanism.
Uniqueness of prices – denote pi(vi, v-i),
where f(vi, v-i)=a to be Pa
IC:
vj(b)-Pb>=vj(a)-Pa  vj(b)-vj(a)
>= Pb-Pa
vk(c)-Pc>=vk(b)-Pb  vk(c)-vk(b)
>= Pc-Pb
vl(d)-Pd>=vl(c)-Pc  vl(d)-vl(c)
>= Pd-Pc
vi(a)-Pa>=vi(d)-Pd  vi(a)-vi(d)
>= Pa-Pd
 side proof (cont.)
Now we sum the columns:
(vj(b)-vj(a)) + (vk(c)-vk(b)) + (vl(d)-vl(c)) +
(vi(a)-vi(d)) >=
Pb - Pa + Pc - Pb + Pd - Pc + Pa – Pd = 0
Thus we a, b, c, d is not a negative cycle 
contradiction to the existence of negative
cycles  f is CMON.