מצגת של 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 , vi ) a, f (v'i , vi ) a'
vi (a) pi (vi , vi ) vi (a' ) pi (v'i , vi )
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 )
aA
i 1
pi (v1 , v2 ...vn ) hi (vi ) 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 )
aA
i 1
We now have to prove that VCG is
Incentive Compatible.
VCG is IC
• We shall fix player i and valuations vector
vi 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 , vi )
a' f (v'i , vi )
• The player’s utility when he tell the truth:
ui vi ( f (vi , vi )) pi (vi , vi ) vi (a) (hi (vi ) 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 , vi )) pi (v'i , vi ) vi (a' ) (hi (vi ) 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))
aA'
j 1
wj
ca
2. pi (v1 ,...vn ) hi (vi ) ( v j (a) f (vi , vi ))
wi
j i wi
Affine maximizer is IC- Cont.
proof: lets calculate the utility functions for
vi (true) and vi’ (false):
ui (vi , vi ) vi ( f (vi , vi ))
j i
wj
wi
v j ( f (vi , vi ))
c f ( vi ,vi )
wi
hi (vi )
wj
1
w ( v j ( f (vi , vi )) c f ( vi ,vi ) ) hi (vi )
i
w
n
j 1
i
ui ' (vi ' , vi ) vi ( f (vi ' , vi ))
j i
wj
wi
v j ( f (vi ' , vi ))
wj
1
w ( v j ( f (vi ' , vi )) c f ( vi ',vi ) ) hi (vi )
i
w
n
j 1
i
c f ( vi ',vi )
wi
hi (vi )
Affine maximizer is IC- Cont.
Since
n
wj
w v ( f (v , v
j 1
j
i
i
)) c f ( vi ,vi ) )
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 (vi ) max v j (b)
b A
j i
• hi (vi ) = “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 (vi ) v j ( f (vi , vi ))
max
b A
v
j i
j i
j
(b) v j ( f (vi , vi )) 0
b maximazes the sum :
v j (b)
ji
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 ia 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)
bA
j 1
j i
let' s define b arg max v j (b)
bA
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
bA
v
jN
j
(b) a
Example 1: cont.
Let h i (vi ) 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 (vi ) 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
iN
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:
0vi 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:
iv ivi, 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:
iv ikvi1 ,..., 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.