vcg computational game theory fall 2010 by inna kalp and yosef heskia
Post on 28-Dec-2015
223 Views
Preview:
TRANSCRIPT
VCG
Computational game theoryFall 2010
by Inna Kalp and Yosef Heskia
Mechanisms with money
• group of all valuation functions for
player i.• A – group of alternatives. ( is a
single alternative)• Each player is determined by his
valuation function:
iV
Aa
RAvVvi jij ::
A model for n players:
Mechanisms with money – cont.A mechanism with money consists of:• Social choice function:• Payments: -
payment for player i.
AVVVf n ...: 21
RVVVp ni ...: 21
…1p 2p 3p Rpn Aa
Mechanism )...,( 1 nppf
2v 3v nv…1v
iii pavu )(• The utility function of player i:
Truthful mechanism:
Definition: Incentive compatible (IC) (or truthful) mechanism:
i.e. – the utility function of player i maximizes when he tells the truth.
),'()'(),()(
'),'(,),(::
iiiiiiii
iiiiii
vvpavvvpav
avvfavvfVvNi
Our goal: Find a mechanism that:
1)Incentive Compatible.2)Maximizes the social welfare.
Definition: social welfare:
Where is the true valuation of player i, i.e. no one is lying..
n
ini vvfv
11 )),...,((
iv
VCG Mechanism
Definition: VCG (Vichery Clarke Grove) mechamism: a mechanism with money s.t:
Given valuations , returns:nvvv ..., 21
)...,( 21 nvvvf
n
ii
Aaav
1
)(maxarg
ij
jiini avvhvvvp )()()...,( 21
Theorem: VCG mechamism is:(1) IC(2) Maximizes social welfare
VCG mechanism. Cont.
Proof: first, it follows by definition that VCG maximizes social welfare, since:
We now have to prove that VCG is Incentive Compatible.
VCG maximizes social welfare
)...,( 21 nvvvf
n
ii
Aaav
1
)(maxarg
• We shall fix player i and valuations vector for the other players.• We’ll define as the real valuation, and as the false
valuation. • We also define:
VCG is IC
iv iv'iv
),( ii vvfa ),'(' ii vvfa • The player’s utility when he tell the truth:
)()(
))()(()(),()),((
1ii
n
ii
jjiiiiiiiiii
vhav
avvhavvvpvvfvu
• The player’s utility when reports false valuation:
)()'(
))'(')(()'(),'()),'(('
1ii
n
ii
jjiiiiiiiiii
vhav
avvhavvvpvvfvu
VCG is IC- Cont.
n
ii
n
ii avav
11
)'()(
Since a maximizes social welfare,
We conclude that , and thus VCG mechanism is IC.
ii uu '
Aa '
Generalization of VCGDefinition: a function f is calledAffine maximizer:
: constants and .. weights, ' group subfor 1
AacwwAA
a
n
'1
21 ))(max(arg),...,,(
Aa
n
jjjan avwcvvvf
note: iff is called Maximal in Range
Aa 0 and 1... w,' 1 an cwAA
Affine Maximizer - Cont.
Claim: we can turn an Affine maximizer to be IC. We define:
i
aii
ijj
i
jiini
n
jjja
Aan
w
cvvfav
w
wvhvvp
avwcvvf
)),()(()(),...( .2
))((maxarg),...( .1
1
1'1
Affine maximizer is IC- Cont.
)())),(((1
)()),(()),((),(
),(1
),(
iivvf
n
jiij
i
j
i
iii
vvf
ijiij
i
jiiiiii
vhcvvfvw
ww
vhw
cvvfv
w
wvvfvvvu
ii
ii
proof: lets calculate the utility functions for vi (true) and vi’ (false):
)())),'(((1
)()),'(()),'((),'('
),'(1
),'(
iivvf
n
jiij
i
j
i
iii
vvf
ijiij
i
jiiiiii
vhcvvfvw
ww
vhw
cvvfv
w
wvvfvvvu
ii
ii
Affine maximizer is IC- Cont.
Since maximizes social
welfare,
We conclude that Affine maximizer is IC.
ii uu '
))),(( ),(1
ii vvf
n
jiij
i
j cvvfvw
w
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:
i.e. every player benefits from the game, no mater what the outcome is.
0)..()..(()..(:..
111
...11
ninini
nnvvpvvfvvvui
VVvv
• A mechanism has No Positive Transfers (NPT) if:
0)..(: 1 ni vvpi
}..,{ 1 nppf
Clarke Pivot Payments
Clarke Pivot Payments (CPP) determine the payments in VCG (they determine hi):
• = “what could have been the social welfare if player i didn’t participate”
ij
jAb
ii bvvh )(max)(
)( ii vh
VCG with CPP has NPT:
Using CPP the payments are:
0)),(()(max
)),(()(
iiij
jij
jAb
ijiijiii
vvfvbv
vvfvvhp
ij
)( :sum themaximazes b
bv j
))v,(v(:over sum themaximazes )v,f(v
i-i
n
1
i-i
i i fv
All the payments are positive -> the mechanism has no Positive Transfers!
VCG with CPP is IR:
Claim: and the mechanism is Individually rational.
0)..( then 0)(A ai if 1 nii vvuav
proof:
n
j ijj
Abnjni bvvvfvvvu
111 )(max))..(()..(
ij
jAb
bvb )(maxarg define slet'
0)())..(()..( 1 1
11
n
j
n
jjnjni bvvvfvvvu
0)(vremoved have we
j bSince f maximizessocial welfare
Example 1: Single Item Auction
We define a single item auction by:
In this case, f is reduced into:
else 0
wins"i")(
}i| wins{
awav
iA
ii
abvfNj
jAb
)(maxarg
iillij
ijj
i
vavp
avp
Niv
)(0
0)(0
: then, w valuemaximum thehas i if
: then, 0)(hLet
i
i
i
Example 1: cont.
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)
0)()(max
bid)highest second the(
w)()(max
: then, w valuemaximum thehas i if
: then, )(max)(hLet
si
i
i
iijll
ljlij
ijj
ijj
Abij
ji
vvavbvp
avbvp
Nibvv
Example 1: using CPP
Second Price Auction
Example 2: selling k items with CPPEach player wants only one item. There are k (identical) items for sale:
K highest bidders win and pay
:bids sort the sLet'
)(maxarg'largest v i
sk
iNi
iAb
vbvf
lj ljjj
Ab
ij ijknjj
Ab
n
avbv
vavbv
vvvv
0)()(maxp
)()(maxp
item get the bidsk highest The
...
k-ni
1k-ni
321
1 knv
Example 3: Bilateral TradeEach player wants only one item. There are k (identical) items for sale:
0 are prices the- tradeno ;
v valuehas v valuehass
}"","{"
b
s
iftradevvtradenovv
bbuyerseller
tradenotradeA
bsbs
bbs
bss
b
b
vyvyvxvvxv
vTradeAyvTradenoAx
)( ; 0)(0)( ; )(
v:":" v:":"
s
s
Example 3: Bilateral Trade
bbbis
ssssib
bibbis
ssissib
vyvvhvvvyvvhv
vhxvvhvvvhxvvhv
)()()(p0)()()(p
: trade)(y ealternativin
0)(0)()()(p)(0)()()(p
: trade)(no x ealternativin
i
i
i
i
Since Vs<Vb,The mechanism subsidizes the project
Example 4: public projectIn a public project like bridge, the players benefit from building. The problem is how to divide the cost of building.
jii
jii
ii
i
Cp
CCv
piCv
buildCv
A
buildnobuildA
j
j
i
v
vbut , If
0. If
. If
project. thefrom w valuehasplayer Each
C. ofcost build total
}"","{"
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:
Va = {vi∊Vi|f(vi, v-i) = a} – thus price for i on every vi∊Va is fixed at Pa in m and Pa’ in m’ (both truthful, according lemma)
side (cont)
So if vi,vi’∊Va we get:
pi’(vi,v-i) - pi(vi,v-i) = Pa’ – Pa =
pi’(vi’,v-i) - pi(vi’,v-i))
But if vi∊Va, vi’∊Vb for a != b:Definition: Va, Vb are “close” if:
Now, if a,b are close, for the via,vi
b that are epsiolon apart:
m is truthful, via∊Va thus:
via(a) – Pa >= vi
a(b) – Pb
Similarily: vib∊Vb vi
b(a) – Pa <= vib(b) –
Pb
|)()(|max||||0 1 cvcvvvvvvvba
Ac
baaiiii
bbi
ai
side (cont)
Combine them to get:
via(a) - vi
a(b) >= Pa – Pb >= vib(a) - vi
b(b)
Now Pa – Pb is caught in a sandwich, whose size is:
via(a) - vi
a(b) – (vib(a) - vi
b(b))
= (via(a) - vi
b(a)) + (vib(b) - vi
a(b))a,b are “close” so each red expression <= epsilon (by definition) vi
a(a) - via(b)
=
Pa – Pb = vib(a) - vi
b(b) We do the same for m’ and get:
P’a – P’b = vib(a) - vi
b(b) = Pa – Pb
side (cont)
that’s since vib(a) - vi
b(b) doesn’t change in m’ (valuation functions are the same) P’a – P’b = Pa – Pb P’a – Pa = P’b – Pb
Meaning, for vi∊Va, vi’∊Vb where a,b are closewe 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 connectedand continuous, so between
every Va, Vb⊂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:
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.
)(')(')()()),'(),((:', bvavbvavvvfbavvfvvvi iiiiiiii iii
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 existsf(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 playersV1, 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 valuationwhich led to b (1 didn’t win), so there has tobe 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:
Note that when limited only to k=2, it’s exactly the WMON condition.
0))1()((...))()(())()((
:);,(:
|)},(),...,,({:|,...,
32212211
11
avavavavavav
thenvvfawhere
kvvfvvfvvkvi
kk
j
kk
ikiiiii
iij
iiiiiii
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 graphrepresentationfor each i of fis that the graphdoesn’t containany directed negative cyclesin 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.
top related