Tractable Computational Methods for Finding Nash Equilibria of Perfect-Information Position Auctions...

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