View
214
Download
0
Category
Tags:
Preview:
Citation preview
Tractable Computational Methods for Finding Nash Equilibria of
Perfect-Information Position Auctions
David Robert Martin ThompsonKevin Leyton-Brown
Department of Computer ScienceUniversity of British Columbia{daveth|kevinlb}@cs.ubc.ca
Motivation
How will bidders behave in a position auction that does not meet the assumptions
for which theoretical results are known?
Motivation
How will bidders behave in a position auction that does not meet the assumptions
for which theoretical results are known?
Our approach: compute Nash equilibrium
Motivation
How will bidders behave in a position auction that does not meet the assumptions
for which theoretical results are known?
Our approach: compute Nash equilibrium
Main hurdle: existing algorithms work with normal form; infeasibly large for ad auctions
Motivation
How will bidders behave in a position auction that does not meet the assumptions
for which theoretical results are known?
Our approach: compute Nash equilibrium
Main hurdle: existing algorithms work with normal form; infeasibly large for ad auctions
Main message: preliminary, but it works
Outline
Auctions & Model
Action-Graph Games
Auctions as AGGs
Computational Experiments
Economic Experiments
Types of Position Auctions
Dimensions:
Generalized First Price vs. Generalized Second Price
Pay-per-click vs. Pay-per-impression
Weighted vs. Unweighted: “Effective Bid”: bid * weight Ads ranked by effective bid Payment: effective bid / weight
Current Usage (Google,Microsoft,Yahoo!):
Weighted, Per-Click, GSP
Model of Auction Setting
Full-information, one-shot game [Varian, 2007; Edelman, Ostrovsky, Schwarz, 2006 (“EOS”)]
WeightsCTR across
positionsCTR across
bidders Value per ClickBid
Amounts
[EOS] Always 1 Decreasing ConstantOne valueper bidder
Continuous
[Varian] Arbitrary DecreasingProportional
to Weight (“Separable”)
One valueper bidder
Continuous
Our model Arbitrary Arbitrary Arbitrary Arbitrary Discrete
Outline
Auctions & Model
Action-Graph Games
Auctions as AGGs
Computational Experiments
Economic Experiments
What are AGGs?
Action Graphs: Each node represents an action.
Arcs indicate payoff dependencies.
[Bhat & Leyton-Brown, 2004; Jiang & Leyton-Brown, 2006]
What are AGGs?
Action Graphs: Each node represents an action.
Arcs indicate payoff dependencies.
“Function Nodes” increase sparsity.
[Bhat & Leyton-Brown, 2004; Jiang & Leyton-Brown, 2006]
Why Use AGGs? [Bhat & Leyton-Brown, 2004]
Small: Compact representation of a one-shot, full-information game Frequently polynomial in n
Why Use AGGs? [Bhat & Leyton-Brown, 2004]
Small: Compact representation of a one-shot, full-information game Frequently polynomial in n
Fast: Dynamic programing can compute expected utility in ~O(ani+1) [Jiang & Leyton-Brown, 2006]
Plug into existing equilibrium solvers (e.g. simplicial subdivision [van der Laan, Talman, and van Der Heyden, 1987] or GNM [Govindan, Wilson, 2003]) for exponential speedup
Outline
Auctions & Model
Action-Graph Games
Auctions as AGGs
Computational Experiments
Economic Experiments
Agent Cβ=3
Weighted GFP as AGG
Agent Bβ=2
Agent Aβ=2
Weighted GFP as AGG
0
0
0
1
1
1
2
2
3
3
2
4
4
3
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
Weighted GFP as AGG
0
0
0
#e
i=0
1
1
#e
i=2
1
#e
i=3
2
2
#e
i=4
3
3
2
#e
i=6
4
4
#e
i=8
3
#e
i=9
5
5
#e
i=10
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
Weighted GFP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
#e
i≥10
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
Weighted GFP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
Agent Bβ=2
#e
i≥10
#e
i=10
#e
i≥10
Weighted GFP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
#e
i≥10
Weighted GFP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
#e
i≥10
Weighted GFP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Position = 1
Position = 2,3(Ties broken randomly)
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
Representing GSP
Start from a GFP graph same method of computing a bidder’s position
We need to add new nodes to compute prices
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<10
max e
i
ei<4
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
#e
i=10
#e
i≥10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
max e
i
ei<10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
#e
i=10
#e
i≥10
max e
i
ei<10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
#e
i=10
#e
i≥10
max e
i
ei<10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
#e
i=10
#e
i≥10
max e
i
ei<10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<4
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
2200 4 4 4 9
#e
i=10
#e
i≥10
max e
i
ei<10
Weighted GSP as AGG
0
0
0
#e
i=0
#e
i≥0
1
1
#e
i=2
#e
i≥2
1
#e
i=3
#e
i≥3
2
2
#e
i=4
#e
i≥4
3
3
2
#e
i=6
#e
i≥6
4
4
#e
i=8
#e
i≥8
3
#e
i=9
#e
i≥9
5
5
Effective Bid (e
i) 0 2 3 4 6 8 9 10
max e
i
ei<4
Position = 2Price = 2/β=1
Agent Cβ=3
Agent Bβ=2
Agent Aβ=2
max e
i
ei<3
max e
i
ei<2
max e
i
ei<0
max e
i
ei<6
max e
i
ei<8
max e
i
ei<9
2200 4 4 4 9
Outline
Auctions & Model
Action-Graph Games
Auctions as AGGs
Computational Experiments
Economic Experiments
Model of Auction Setting
WeightsCTR across
positionsCTR across
bidders Value per ClickBid
Amounts
[EOS] Always 1 Decreasing ConstantOne valueper bidder
Continuous
[Varian] Arbitrary DecreasingProportional
to Weight (“Separable”)
One valueper bidder
Continuous
Our model Arbitrary Arbitrary Arbitrary Arbitrary Discrete
Model of Auction Setting
WeightsCTR across
positionsCTR across
bidders Value per ClickBid
Amounts
[EOS] Always 1 Decreasing ConstantOne valueper bidder
Continuous
[Varian] Arbitrary DecreasingProportional
to Weight (“Separable”)
One valueper bidder
Continuous
Our model Arbitrary Arbitrary Arbitrary Arbitrary Discrete
Why Instantiate [Varian]?
Validate by comparing with Varian's analytical results for weighted, pay-per-click GSP and obtain computational results on a model of
independent interest
Obtain novel economic results “Apples-to-apples” comparison: how do different
auctions perform given identical preferences?
Most appropriate model is still an open question
Model of Auction Setting
WeightsCTR across
positionsCTR across
bidders Value per ClickBid
Amounts
[EOS] Always 1 Decreasing ConstantOne valueper bidder
Continuous
[Varian] Arbitrary DecreasingProportional
to Weight (“Separable”)
One valueper bidder
Continuous
Our model Arbitrary Arbitrary Arbitrary Arbitrary Discrete
Problem Distribution
Uniform[0,1]Uniform[0,1]
* CTR of higher slot
Proportionalto Weight
(“Separable”)
One valueper bidder:
Uniform[0,1]Discrete
Experimental Setup
10 bidders, 5 slots
Integer bids between 0 and 10
For pay-per-click, normalize value/click:
Scale maxi valuei to 10, then scale other values
proportionately to use full range of discrete bid amounts
For pay-per-impression, normalize value/impression.
Size Experiments: PlayersInteger bids: 0 to 10
1.00E+00
1.00E+02
1.00E+04
1.00E+06
1.00E+08
1.00E+10
1.00E+12
1.00E+14
1.00E+16
1.00E+18
1.00E+20
1.00E+22
1.00E+24
0 5 10 15 20
Bidders
Rep
rese
nta
tio
n s
ize
(byt
es)
Normal Form
GSP Unweighted
GSP Weighted
GFP Unweighted
GFP Weighted
2GB
Size Experiments: Bid Increments10 bidders
1.00E+00
1.00E+02
1.00E+04
1.00E+06
1.00E+08
1.00E+10
1.00E+12
1.00E+14
1.00E+16
0 5 10 15 20 25
Bid Increments
Rep
rese
nta
tio
n s
ize
(byt
es)
Normal Form
GSP Unweighted
GSP Weighted
GFP Unweighted
GFP Weighted
2GB
Runtime Experiments: Test-bed
Environment: Intel Xeon 3.2GHz, 2MB cache, 2GB RAM
Suse Linux 10.1
Solver software: Gambit [McKelvey, McLennan, Turocy, 2007] implementation
of simplicial subdivision “simpdiv” [van der Laan, Talman,
and van Der Heyden, 1987], AGG-specific dynamic programming inner loop1 [Jiang & Leyton-Brown, 2006]
1. http://www.cs.ubc.ca/~jiang/agg/
Runtime Experiments: Results
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 10 100
Time (s)
Fra
ctio
n o
f in
stan
ces
solv
ed
GSP,PerImp,Unweighted
GSP,PerClick,Weighted
GSP,PerImp,Weighted
GFP,PerImp,Weighted
GFP,PerImp,Unweighted
GFP,PerClick,Unweighted
GSP,PerClick,Unweighted
GFP,PerClick,Weighted
* much longer experiments are ongoing…
Outline
Auctions & Model
Action-Graph Games
Auctions as AGGs
Computational Experiments
Economic Experiments
GF
P,
Per
-Im
p
Unw
eig
hted
GF
P,
Per
-Im
p
Wei
ghte
d
GF
P,
Per
-Clic
k
Unw
eig
hted
GF
P,
Per
-Clic
k
Wei
ghte
d
GS
P,
Per
-Im
p
Unw
eig
hted
GS
P,
Per
-Im
p
Wei
ghte
d
GS
P,
Per
-Clic
k
Unw
eig
hted
GS
P,
Per
-Clic
k
Wei
ghte
d
GF
P,
Per
-Im
p
Unw
eig
hted
GF
P,
Per
-Im
p
Wei
ghte
d
GF
P,
Per
-Clic
k
Unw
eig
hted
GF
P,
Per
-Clic
k
Wei
ghte
d
GS
P,
Per
-Im
p
Unw
eig
hted
GS
P,
Per
-Im
p
Wei
ghte
d
GS
P,
Per
-Clic
k
Unw
eig
hted
GS
P,
Per
-Clic
k
Wei
ghte
d
[Varian]: Any SNE gives rise to an efficient allocation
GF
P,
Per
-Im
p
Unw
eig
hted
GF
P,
Per
-Im
p
Wei
ghte
d
GF
P,
Per
-Clic
k
Unw
eig
hted
GF
P,
Per
-Clic
k
Wei
ghte
d
GS
P,
Per
-Im
p
Unw
eig
hted
GS
P,
Per
-Im
p
Wei
ghte
d
GS
P,
Per
-Clic
k
Unw
eig
hted
GS
P,
Per
-Clic
k
Wei
ghte
d
[EOS]’s auction with [Varian]’s preference model
GF
P,
Per
-Im
p
Unw
eig
hted
GF
P,
Per
-Im
p
Wei
ghte
d
GF
P,
Per
-Clic
k
Unw
eig
hted
GF
P,
Per
-Clic
k
Wei
ghte
d
GS
P,
Per
-Im
p
Unw
eig
hted
GS
P,
Per
-Im
p
Wei
ghte
d
GS
P,
Per
-Clic
k
Unw
eig
hted
GS
P,
Per
-Clic
k
Wei
ghte
d
Yahoo! Auctions: Past and Present
1997-2002
2002-2007
2007-
GF
P,
Per
-Im
p
Unw
eig
hted
GF
P,
Per
-Im
p
Wei
ghte
d
GF
P,
Per
-Clic
k
Unw
eig
hted
GF
P,
Per
-Clic
k
Wei
ghte
d
GS
P,
Per
-Im
p
Unw
eig
hted
GS
P,
Per
-Im
p
Wei
ghte
d
GS
P,
Per
-Clic
k
Unw
eig
hted
GS
P,
Per
-Clic
k
Wei
ghte
d
[Varian]: VCG revenue is a lower bound on SNE revenue
Multiple Equilibria of GSPs [Varian; EOS]
Each agent can have many best responses to an equilibrium strategy profile.
Raising i's bid increases (i-1)'s price, decreasing i's envy.
Given an envy-free NE / SNE, lowering an agent’s bid may lead to an efficient, pure NE w/ sub-VCG revenue
Nash EquilibriumEnvy-free Nash
EquilibriumNot EquilibriumNot Equilibrium
← Lower bids Higher bids →4 5 6 7 8
Even if pure NE exist for continuous bids, they may not exist for discrete bids.
Equilibrium selection Previous results simply showed the first
equilibrium found by simpdiv Often a mixed strategy over arbitrary points on
equilibrium interval
Local search approach to equilibrium selection: Start point: Nash equilibrium found by simpdiv
Neighbours: Nash equilibria where one bid is changed by one increment
Objective: maximize/minimize sum of bids
Algorithm: Greedily raise bids (choose bidder by random permutation); random restarts.
Yahoo!
2002-2007
Google /
Yahoo! 2007-
Summary
Many position auctions are tractable: Polynomial-size AGG
Polynomial-time expected utility by dynamic programming
Very general preference model: Position-specific valuations
Non-separable CTRs (and arbitrary weights)
Experimental results consistent with existing theory and practice.
Future Work
Economic: Use full preference model (learn from data)
Model richer preferences (e.g. cascading CTR [Aggarwal, et al, 2008; Kempe, Mahdian, 2008])
Computational: In progress: Adapt SEM [Porter, Nudelman, Shoham, 2006] to
AGGs: Allows enumerating equilibria (answer questions like “what percentage of pure equilibria are envy free?”)
Thank You.
Recommended