61
Polyhedral Clinching Auctions and the AdWords Polytope Renato Paes Leme (Cornell University) Joint work with Gagan Goel and Vahab Mirrokni (Google NYC)

Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Polyhedral Clinching Auctions and the AdWords Polytope

Renato Paes Leme

(Cornell University)

Joint work with Gagan Goel and

Vahab Mirrokni (Google NYC)

Page 2: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Creating an Ads campaign …

Page 3: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Creating an Ads campaign …

Page 4: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Creating an Ads campaign …

Page 5: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

Page 6: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

nice and well studied auction with good game-theoretic properties but without budgets…

Page 7: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

budget layer

Page 8: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

engineering fix to adapt the original auction to the budgeted setting. Original game theoretic analysis is now lost.

budget layer

Page 9: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

budget layer

Page 10: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How to deal with budgets in practice ?

VCG, GSP, …

control loop Polyhedral Clinching Auction

Goal: Design an auction for AdWords that supports budgets natively, i.e., budgets are built in the game theoretic analysis

Page 11: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What do we mean by budgets ?

Page 12: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Classical quasi-linear utility function:

Page 13: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Classical quasi-linear utility function:

Budget constrained utility function:

Page 14: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Classical quasi-linear utility function:

Budget constrained utility function:

Very well understood: VCG, affine maximizers, …

Page 15: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Classical quasi-linear utility function:

Budget constrained utility function:

Very well understood: VCG, affine maximizers, …

Surprisingly little is known.

Page 16: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Goal: Design auctions for budget constrained agents

Page 17: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Goal: Design auctions for budget constrained agents • Agents report values and budgets • Mechanism decides on allocation and payments for each player

Page 18: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Goal: Design auctions for budget constrained agents • Agents report values and budgets • Mechanism decides on allocation and payments for each player • Requirements:

Page 19: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Goal: Design auctions for budget constrained agents • Agents report values and budgets • Mechanism decides on allocation and payments for each player • Requirements:

(feasible set)

Page 20: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Desirable properties • Incentive Compatibility:

assumption: budgets Bi are public

• Individual rationality:

• Pareto optimality:

An outcome (x,p) is Pareto-optimal if there is no (x’,p’) such that u’i ≥ ui, Σp’i ≥ Σpi and at least one of them is strict.

Page 21: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our main contribution Solve this problem for a large class of feasible sets P.

Page 22: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our main contribution Solve this problem for a large class of feasible sets P : (scaled) polymatroids.

Show this is impossible to be extended to general polytopes.

Page 23: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our main contribution Solve this problem for a large class of feasible sets P : (scaled) polymatroids.

Show this is impossible to be extended to general polytopes.

Conjecture: scaled polymatroids are the largest class for which this is possible. (we supply evidence for that)

Page 24: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What do we know about budgets? [Dobzinski, Lavi, Nisan, FOCS’08] :: auction for one divisible good [Fiat, Leonardi, Saia, Sankowski, EC’11] :: auction for matching markets

Page 25: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What do we know about budgets? [Dobzinski, Lavi, Nisan, FOCS’08] :: auction for one divisible good [Fiat, Leonardi, Saia, Sankowski, EC’11] :: auction for matching markets based on the clinching auctions framework [Ausubel, AER’97]

Page 26: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How does it fit in our goal ? [Dobzinski, Lavi, Nisan, FOCS’08] P = Uniform Matroid [Fiat, Leonardi, Saia, Sankowski, EC’11] P = Transversal Matroid

Page 27: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

How does it fit in our goal ? [Dobzinski, Lavi, Nisan, FOCS’08] P = Uniform Matroid [Fiat, Leonardi, Saia, Sankowski, EC’11] P = Transversal Matroid

For AdWords and other more complicated markets, we need to solve it for more generic feasibility constraints P

Page 28: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P.

Page 29: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P. • Incentive compatibility • Individual Rationality • Budget Feasibility • Pareto Optimality

Page 30: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P.

for a submodular function f.

Page 31: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P. Our auction only needs oracle access to the submodular function f. Our auction has a natural geometric flavor.

Page 32: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P. Many applications Auctions for network design, queuing systems, video on demand, matching markets, internet advertisement, …

Page 33: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our Results We provide an auction with all the desirable properties for any polymatroid P. Many applications Auctions for network design, queuing systems, video on demand, matching markets, internet advertisement, …

Page 34: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our results The set of that can be obtained this way form a polymatroid. We call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy to generalize

Page 35: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Also on Sponsored Search with Budgets Independently, [Colini-Baldeschi, Henzinger, Leonardi, Starnberger, 2012] design an auction for sponsored search with one keyword, multiple slots and budgets.

Page 36: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction

polytope of feasible allocations price

clock

Page 37: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction

Page 38: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction

Page 39: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction

Page 40: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction

Page 41: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction In each step compute demands at price if ; and o.w.

Page 42: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction In each step compute demands at price Compute clinched amount

if ; and o.w.

Page 43: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Computing clinched amounts What is the allocations that are still feasible at this point?

Page 44: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction: how to implement clinch ? How much can I allocate to 1 without harming player 2?

Page 45: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction: how to implement clinch ?

Page 46: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction: how to implement clinch ?

Clinching step

Page 47: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction: how to implement clinch ?

Clinching step

Theorem: Clinching as defined above results in a feasible allocation. If P is a polymatroid, δi can be computed efficiently using submodular minimization.

Page 48: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Our auction: how to implement clinch ?

Clinching step

Theorem: Clinching as defined above results in a feasible allocation. If P is a polymatroid, δi can be computed efficiently using submodular minimization. [in practice there are more efficient algorithms for each case]

Page 49: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Summary of the proof • Show clinching is well-defined and can

be computed efficiently

• Characterize Pareto-optimal outcomes for polymatroidal environments

• Show that the auction produces an outcome satisfying the characterization

Page 50: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Extensions and Limits Going beyond polymatroids…

Page 51: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

General convex environment One budget-constrained player For a single budget constrained player (and many other unconstrained ones), it is possible do design an auction for any convex environment.

Page 52: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What about 2 budget constrained players ? Weak impossibility: There is no auction following the clinching framework beyond (scaled) polymatroids.

Page 53: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What about 2 budget constrained players ? Weak impossibility: There is no auction following the clinching framework beyond (scaled) polymatroids. Stronger impossibility: There exists a class of polytopes, for which no auction exists satisfying all the desirable properties.

Page 54: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

What about 2 budget constrained players ? Weak impossibility: There is no auction following the clinching framework beyond (scaled) polymatroids. Stronger impossibility: There exists a class of polytopes, for which no auction exists satisfying all the desirable properties.

No hope of an auction for a general polyhedral environment.

Page 55: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Impossibility for decreasing marginals Single divisible good: Decreasing marginal valuations

Page 56: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Impossibility for decreasing marginals Single divisible good: Thm: No auction with all the desirable properties for one divisible good with decreasing marginals.

Strengthens previous impossibility results of [Lavi, May’11] and [Fiat et al’11]

Page 57: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Summary

Clinching auction for polymatroids

Page 58: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Summary

Clinching auction for polymatroids

Characterization of Pareto Optimal Auctions

in general polyhedral environments

Page 59: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Summary

Clinching auction for polymatroids

Impossibility for decreasing-marginals

and budgets

Characterization of Pareto Optimal Auctions

in general polyhedral environments

Impossibility for general polytopes

Page 60: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Summary

Clinching auction for polymatroids

Impossibility for decreasing-marginals

and budgets

Characterization of Pareto Optimal Auctions

in general polyhedral environments

Impossibility for general polytopes

Positive results for one budget-constr

agent and general environments

Page 61: Polyhedral Clinching Auctions and the AdWords Polytoperenatoppl/slides/polyhedral... · call it the AdWords Polytope. General model: • multiple slots • multiple keywords • easy

Thanks !