VCG

50
VCG Computational game theory Fall 2010 by Inna Kalp and Yosef Heskia

description

VCG. Computational game theory Fall 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 :. - PowerPoint PPT Presentation

Transcript of VCG

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.