Online Matching and Adwords Aranyak Mehta Google - - PowerPoint PPT Presentation

online matching and adwords
SMART_READER_LITE
LIVE PREVIEW

Online Matching and Adwords Aranyak Mehta Google - - PowerPoint PPT Presentation

Online Matching and Adwords Aranyak Mehta Google Research Mountain View, CA Search Adver=sing (Adwords) Queries Bidding (online) (offline) users


slide-1
SLIDE 1

Online ¡Matching ¡and ¡Adwords ¡ ¡

Aranyak ¡Mehta ¡

Google ¡Research ¡

Mountain ¡View, ¡CA ¡

slide-2
SLIDE 2

Search ¡Adver=sing ¡(Adwords) ¡

slide-3
SLIDE 3

Search ¡engine ¡ users ¡ adver=sers ¡ Bidding ¡ (offline) ¡ Queries ¡ (online) ¡

slide-4
SLIDE 4

Search ¡engine ¡ users ¡ adver=sers ¡ Find ¡matching ¡ candidates ¡ Score ¡candidates ¡ Run ¡auc3on ¡ Bidding ¡ (offline) ¡ Queries ¡ (online) ¡

slide-5
SLIDE 5

Search ¡engine ¡ users ¡ adver=sers ¡ Find ¡matching ¡ candidates ¡ Score ¡candidates ¡ Run ¡auc3on ¡

  • ¡ ¡Adver=ser ¡Budgets ¡ ¡=> ¡Demand ¡Constraint ¡ ¡=> ¡ ¡Matching ¡

Bidding ¡ (offline) ¡ Queries ¡ (online) ¡

slide-6
SLIDE 6

Display ¡ads ¡

  • ¡Demand ¡is ¡offline ¡ ¡from ¡adver=sers ¡ ¡ ¡
  • ¡Targe=ng ¡
  • ¡Quan=ty ¡ ¡(“1M ¡ads”) ¡
  • ¡ ¡Supply ¡is ¡online ¡ ¡from ¡page ¡views ¡ ¡ ¡
slide-7
SLIDE 7

Ad ¡Exchanges ¡

Ad ¡Exchange ¡ Publisher ¡ Ad ¡Network ¡ Ad ¡Network ¡ Ad ¡Network ¡ Publisher ¡ Publisher ¡ … ¡Many ¡other ¡examples ¡from ¡adver=sing ¡and ¡outside. ¡

slide-8
SLIDE 8

Theory ¡to ¡Prac=ce ¡

  • Details ¡of ¡the ¡implementa=on: ¡

– CTR, ¡CPC, ¡pay-­‑per-­‑click, ¡Second ¡price ¡auc=on, ¡Posi=on ¡Normalizers. ¡

  • Objec=ve ¡func=ons ¡(in ¡order): ¡

– User’s ¡u=lity ¡ – Adver=ser ¡ROI ¡ – Short ¡term ¡Revenue ¡/ ¡Long ¡term ¡growth ¡

slide-9
SLIDE 9

Online ¡Bipar=te ¡Matching ¡

. . . . . .

Known ¡in ¡ advance ¡ Arrive ¡ Online ¡

  • ¡ ¡Match ¡upon ¡arrival, ¡irrevocably ¡
  • ¡ ¡Maximize ¡size ¡of ¡the ¡matching ¡
slide-10
SLIDE 10

The ¡Core ¡difficulty ¡

slide-11
SLIDE 11

The ¡Core ¡difficulty ¡

No ¡determinis3c ¡algorithm ¡ can ¡do ¡be>er ¡than ¡1/2 ¡

slide-12
SLIDE 12

The ¡Core ¡difficulty ¡

No ¡determinis3c ¡algorithm ¡ can ¡do ¡be>er ¡than ¡1/2 ¡ RANDOM ¡is ¡1/2 ¡

slide-13
SLIDE 13

KVV: ¡Correlated ¡Randomness ¡

[Karp, ¡Vazirani ¡and ¡Vazirani ¡STOC ¡1990] ¡

  • ¡ ¡Randomly ¡permute ¡ver=ces ¡in ¡L ¡
  • ¡ ¡When ¡a ¡vertex ¡in ¡R ¡arrives: ¡
  • ¡ ¡Match ¡it ¡to ¡the ¡highest ¡available ¡neighbor ¡in ¡L ¡

Theorem: ¡ ¡KVV ¡achieves ¡a ¡factor ¡of ¡1-­‑1/e. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡This ¡is ¡op=mal. ¡

slide-14
SLIDE 14

Analysis ¡of ¡KVV ¡in ¡1 ¡slide ¡

. . . . . .

u ¡ u* ¡ v ¡ t ¡ s ¡ u ¡miss ¡@ ¡t ¡ ¡ ¡ ⇒ ¡u* ¡match ¡@ ¡s ¡< ¡t ¡ ¡ ⇒ ¡Factor ¡≥ ¡ ¡1/2 ¡ [Birnbaum, ¡Matheiu] ¡SIGACT ¡News ¡2008 ¡

slide-15
SLIDE 15

Analysis ¡of ¡KVV ¡in ¡1 ¡slide ¡

. . . . . .

u ¡ u* ¡ v ¡ t ¡ s ¡ u ¡miss ¡@ ¡t ¡ ¡ ¡ ⇒ ¡In ¡each ¡of ¡the ¡n ¡permuta=ons ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡u* ¡match ¡at ¡s ¡≤ ¡t ¡ [Birnbaum, ¡Matheiu] ¡SIGACT ¡News ¡2008 ¡

slide-16
SLIDE 16

Analysis ¡of ¡KVV ¡in ¡1 ¡slide ¡

. . . . . .

u ¡ u* ¡ v ¡ t ¡ s ¡ u ¡miss ¡@ ¡t ¡ ¡ ¡ ⇒ ¡In ¡each ¡of ¡the ¡n ¡permuta=ons ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡u* ¡match ¡at ¡s ¡≤ ¡t ¡ ⇒ ¡ ¡ ⇒ ¡ ¡Factor ¡ ¡1-­‑1/e ¡ [Birnbaum, ¡Matheiu] ¡SIGACT ¡News ¡2008 ¡ Pr[miss@t] ≤ 1 n Pr[match@s]

s≤t

slide-17
SLIDE 17

Tight ¡example ¡

L ¡ R ¡ 1 ¡ 0 ¡ L ¡ R ¡

slide-18
SLIDE 18

Goal: ¡“Adwords” ¡problem ¡

. . . . . .

Known ¡in ¡ advance ¡ Arrive ¡ Online ¡

B1 ¡ B2 ¡ B3 ¡ B4 ¡ BN ¡

Budgets ¡ Bids ¡ bidiq ¡

  • ¡ ¡bid ¡<< ¡budget ¡
  • ¡ ¡Maximize ¡the ¡sum ¡of ¡budgets ¡spent ¡
slide-19
SLIDE 19

4 ¡models ¡of ¡arrival ¡

  • Adversarial. ¡

Random ¡Order: ¡ ¡ ¡The ¡set ¡of ¡ver=ces ¡is ¡adversarial, ¡but ¡arrive ¡in ¡a ¡random ¡order. ¡ Unknown ¡Distribu3on: ¡ ¡ ¡Each ¡vertex ¡is ¡picked ¡iid ¡from ¡some ¡(unknown) ¡ distribu=on. ¡ Known ¡Distribu3on: ¡ ¡ ¡Each ¡vertex ¡is ¡picked ¡iid ¡from ¡a ¡known ¡distribu=on. ¡ ¡ ¡

slide-20
SLIDE 20

Adversarial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ Vertex ¡Weighted ¡ Matching ¡ Adwords ¡

slide-21
SLIDE 21

Unknown ¡Distribu=on ¡/ ¡Random ¡Order ¡

  • ¡GREEDY ¡= ¡ ¡1-­‑1/e ¡
  • ¡ ¡KVV ¡ ¡>= ¡1-­‑1/e ¡ ¡ ¡
  • ¡ ¡Can ¡we ¡do ¡bemer? ¡ ¡ ¡

¡ ¡ ¡ ¡How ¡about ¡KVV ¡itself? ¡

. . . . . .

slide-22
SLIDE 22

Unknown ¡Distribu=on ¡/ ¡Random ¡Order ¡

  • ¡GREEDY ¡= ¡ ¡1-­‑1/e ¡
  • ¡ ¡KVV ¡ ¡>= ¡1-­‑1/e ¡ ¡ ¡
  • ¡ ¡Can ¡we ¡do ¡bemer? ¡ ¡ ¡

¡ ¡ ¡ ¡How ¡about ¡KVV ¡itself? ¡

. . . . . .

Upper ¡triangular ¡example ¡ ¡ goes ¡to ¡factor ¡1 ¡! ¡ ¡

slide-23
SLIDE 23

KVV ¡in ¡random ¡order ¡

Theorem ¡1: ¡ ¡ ¡KVV ¡has ¡factor ¡0.655 ¡in ¡the ¡Random ¡Order ¡Model ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[ ¡Computer ¡aided ¡proof: ¡0.667] ¡ Theorem ¡2: ¡ ¡: ¡ ¡If ¡the ¡graph ¡has ¡k ¡disjoint ¡perfect ¡matchings ¡then ¡factor ¡is ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡1 ¡-­‑ ¡ ¡1 ¡/ ¡√k ¡ [Mahdian, ¡Yan] ¡ ¡STOC ¡2011 ¡ ¡Computer ¡aided ¡proof ¡for ¡0.696 ¡ [Karande, ¡Mehta, ¡Tripathi] ¡STOC ¡2011 ¡

slide-24
SLIDE 24

Bad ¡examples ¡

0 ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡R ¡

0 ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡L ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡R ¡

0.75 ¡ 0.726 ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡L ¡

slide-25
SLIDE 25

Adverserial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ 0.696 ¡ ¡(0.83) ¡ Vertex ¡Weighted ¡ Matching ¡ Adwords ¡

slide-26
SLIDE 26

Known ¡iid ¡input ¡

. . . . . .

Known ¡ ver3ces ¡ Known ¡ ¡types ¡ Known ¡ edges ¡

Ver=ces ¡in ¡R ¡are ¡picked ¡iid ¡ ¡ from ¡the ¡set ¡of ¡types ¡ (with ¡replacement) ¡ [Feldman, ¡Mehta, ¡Mirrokni, ¡Muthukrishnan] ¡FOCS ¡2009 ¡ Use ¡offline ¡es3mates ¡to ¡guide ¡online ¡decisions? ¡

slide-27
SLIDE 27

. . . . . .

Op3mal ¡matching ¡in ¡ ¡ ¡ ¡Base ¡Graph ¡

¡ALGORITHM ¡Suggested-­‑Matching: ¡ ¡ ¡

  • ¡ ¡Find ¡an ¡op=mal ¡matching ¡in ¡the ¡base ¡graph ¡
  • ¡ ¡When ¡the ¡next ¡vertex ¡arrives: ¡
  • ¡If ¡the ¡op=mal ¡match ¡is ¡available, ¡use ¡it ¡
  • ¡ ¡Else ¡don’t ¡match ¡

Core ¡difficulty: ¡ ¡ ¡Some ¡types ¡will ¡repeat. ¡ You ¡will ¡match ¡only ¡the ¡first ¡of ¡each ¡type. ¡ ⇒ ¡ ¡Factor ¡1-­‑1/e ¡

Amempt ¡1 ¡

slide-28
SLIDE 28

Amempt ¡2: ¡ ¡Power ¡of ¡two ¡choices! ¡

. . . . . .

¡ ¡ ¡ ¡Two ¡Matchings ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡in ¡Base ¡Graph ¡

ALGORITHM ¡ ¡Two-­‑Suggested-­‑Matchings ¡(TSM): ¡ Offline: ¡Find ¡Two ¡disjoint ¡matchings ¡in ¡base ¡graph ¡ Online: ¡ ¡ ¡ ¡ ¡

  • ¡Try ¡Red ¡Matching ¡
  • ¡If ¡FAIL ¡: ¡Try ¡Blue ¡Matching ¡
  • ¡If ¡FAIL: ¡ ¡do ¡not ¡match ¡ ¡ ¡ ¡
slide-29
SLIDE 29

How ¡to ¡get ¡the ¡two ¡matchings? ¡

slide-30
SLIDE 30

Performance ¡

  • ¡ ¡Theorem: ¡ ¡TSM ¡achieves ¡factor ¡0.67 ¡with ¡high ¡probability ¡
  • ¡ ¡Miraculously, ¡this ¡is ¡=ght! ¡
  • ¡ ¡No ¡algorithm ¡can ¡get ¡1-­‑ ¡o(1) ¡

Follow-­‑ups: ¡ ¡ [Bahmani ¡Karpalov] ¡(ESA ¡2010): ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡0.70 ¡and ¡upper ¡bound ¡of ¡0.90 ¡ [Manshadi, ¡Oweis-­‑Gharan, ¡Saberi] ¡(SODA ¡2011): ¡ ¡ ¡ ¡0.70 ¡and ¡upper ¡bound ¡of ¡ ¡0.83 ¡

slide-31
SLIDE 31

Adverserial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ 0.655 ¡ ¡(0.83) ¡ 0.70 ¡(0.83) ¡ Vertex ¡Weighted ¡ Matching ¡ Adwords ¡

slide-32
SLIDE 32

Weighted ¡Vertex ¡Matching ¡

. . . . . .

Known ¡in ¡ advance ¡ Arrive ¡ Online ¡

W1 ¡ W2 ¡ W3 ¡ W4 ¡ WN ¡

  • ¡ ¡Ver=ces ¡in ¡L ¡have ¡weights ¡
  • ¡ ¡Ver=ces ¡in ¡R ¡arrive ¡(adversarial ¡order) ¡
  • ¡ ¡Maximize ¡the ¡sum ¡of ¡weights ¡of ¡ver=ces ¡in ¡L ¡ ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡which ¡got ¡matched. ¡

weights ¡

slide-33
SLIDE 33

1 ¡ 1 ¡ M ¡ 1 ¡

KVV ¡ GREEDY ¡

3/4 ¡ ¡-­‑> ¡ ¡1-­‑1/e ¡ 1/2 ¡ ¡ ¡-­‑> ¡ ¡0 ¡ 1/2 ¡ 1 ¡

Two ¡Extremes ¡

slide-34
SLIDE 34

Intui=on ¡

KVV ¡ GREEDY ¡ Non-­‑uniform ¡ ¡Permuta=ons ¡ Perturbed ¡ ¡ GREEDY ¡

slide-35
SLIDE 35

Intui=on ¡

KVV ¡ GREEDY ¡ Non-­‑uniform ¡ ¡Permuta=ons ¡ Perturbed ¡ ¡ GREEDY ¡

slide-36
SLIDE 36

A ¡New ¡Algorithm ¡

  • ¡For ¡each ¡vertex ¡i ¡in ¡ ¡L: ¡

¡Pick ¡ ¡r(i) ¡ ¡ ¡Unif[0, ¡1] ¡ ¡ ¡ ¡iid ¡ ¡ ¡Define: ¡ ¡W*(i) ¡ ¡= ¡ ¡W(i) ¡ ¡x ¡ ¡Ψ( ¡r(i) ¡) ¡ ¡ ¡

  • ¡For ¡each ¡arriving ¡vertex ¡in ¡R: ¡

¡Pick ¡available ¡neighbor ¡ ¡ ¡with ¡highest ¡W*(i) ¡

Ψ(x) ¡ ¡:= ¡ ¡1 ¡– ¡e ¡–(1-­‑x) ¡

[Aggarwal, ¡Goel, ¡Karande, ¡Mehta] ¡SODA ¡2011 ¡ ¡ ¡

slide-37
SLIDE 37

A ¡New ¡Algorithm ¡

  • ¡For ¡each ¡vertex ¡i ¡in ¡ ¡L: ¡

¡Pick ¡ ¡r(i) ¡ ¡ ¡Unif[0, ¡1] ¡ ¡ ¡ ¡iid ¡ ¡ ¡Define: ¡ ¡W*(i) ¡ ¡= ¡ ¡W(i) ¡ ¡x ¡ ¡Ψ( ¡r(i) ¡) ¡ ¡ ¡

  • ¡For ¡each ¡arriving ¡vertex ¡in ¡R: ¡

¡Pick ¡available ¡neighbor ¡ ¡ ¡with ¡highest ¡W*(i) ¡

Ψ(x) ¡ ¡:= ¡ ¡1 ¡– ¡e ¡–(1-­‑x) ¡

CHECK: ¡

  • ¡ ¡When ¡all ¡weights ¡equal ¡

¡becomes ¡KVV ¡

  • ¡ ¡When ¡weights ¡highly ¡skewed ¡

¡becomes ¡GREEDY ¡ Theorem: ¡Factor ¡1-­‑1/e ¡ [Aggarwal, ¡Goel, ¡Karande, ¡Mehta] ¡SODA ¡2011 ¡ ¡ ¡

slide-38
SLIDE 38

Adverserial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ 0.655 ¡ ¡(0.83) ¡ 0.70 ¡(0.83) ¡ Vertex ¡Weighted ¡ Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ ? ¡ ? ¡ Adwords ¡

slide-39
SLIDE 39

Finally, ¡the ¡“Adwords” ¡problem ¡

. . . . . .

Known ¡in ¡ advance ¡ Arrive ¡ Online ¡

B1 ¡ B2 ¡ B3 ¡ B4 ¡ BN ¡

Budgets ¡ Bids ¡ bidiq ¡

  • ¡ ¡bid ¡<< ¡budget ¡
  • ¡ ¡Maximize ¡the ¡sum ¡of ¡budgets ¡spent ¡
slide-40
SLIDE 40

Intui=on ¡

1 2 A B Budget ¡ ¡= ¡$100 ¡ $1.05 ¡ Budget ¡ ¡= ¡$100 ¡ $1 ¡ $1 ¡ 100 ¡ copies ¡ 100 ¡ ¡ copies ¡ 1 2 A B $0.05 ¡ $1 ¡ $1 ¡

Greedy ¡ Load ¡ ¡ Balance ¡ 1/2 ¡ 1 ¡ 3/4 ¡ 1/2 ¡

slide-41
SLIDE 41

Intui=on ¡

Load ¡Balancing ¡ GREEDY ¡ MSVV ¡ [Mehta, ¡Saberi, ¡Vazirani, ¡Vazirani] ¡FOCS ¡2005 ¡and ¡J. ¡ACM ¡2007 ¡

slide-42
SLIDE 42

Algorithm ¡

  • ¡Define: ¡ ¡ ¡

bid*(i, ¡q) ¡ ¡= ¡ ¡bid(i, ¡q) ¡ ¡ ¡x ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Ψ( ¡frac=on ¡of ¡budget ¡spent) ¡ ¡ ¡

  • ¡For ¡each ¡arriving ¡vertex ¡in ¡R: ¡

¡Pick ¡neighbor ¡with ¡highest ¡bid*(i, ¡q) ¡ Theorem: ¡MSVV ¡achieves ¡1-­‑1/e. ¡ ¡ ¡This ¡is ¡op=mal. ¡

slide-43
SLIDE 43

Algorithm ¡

  • ¡Define: ¡ ¡ ¡

bid*(i, ¡q) ¡ ¡= ¡ ¡bid(i, ¡q) ¡ ¡ ¡x ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Ψ( ¡frac=on ¡of ¡budget ¡spent) ¡ ¡ ¡

  • ¡For ¡each ¡arriving ¡vertex ¡in ¡R: ¡

¡Pick ¡neighbor ¡with ¡highest ¡bid*(i, ¡q) ¡

  • ¡For ¡each ¡vertex ¡i ¡in ¡ ¡L: ¡

¡Pick ¡ ¡r(i) ¡ ¡ ¡Unif[0, ¡1] ¡ ¡ ¡ ¡iid ¡ ¡ ¡Define: ¡ ¡W*(i)= ¡W(i) ¡ ¡ ¡x ¡ ¡ ¡Ψ( ¡r(i) ¡) ¡ ¡ ¡

  • ¡For ¡each ¡arriving ¡vertex ¡in ¡R: ¡

¡Pick ¡available ¡neighbor ¡ ¡ ¡with ¡highest ¡W*(i) ¡ Recall ¡(for ¡vertex ¡weighted ¡matching): ¡ Theorem: ¡MSVV ¡achieves ¡1-­‑1/e. ¡ ¡ ¡This ¡is ¡op=mal. ¡

slide-44
SLIDE 44

Adverserial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ 0.655 ¡ ¡(0.83) ¡ 0.70 ¡(0.83) ¡ Vertex ¡Weighted ¡ Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ ? ¡ ? ¡ Adwords ¡ 1-­‑1/e ¡(op=mal) ¡

slide-45
SLIDE 45

The ¡tradeoff ¡func=on ¡

OPT ¡: ¡ ¡ ¡ ¡ ¡ ¡ ¡Uses ¡op=mal ¡dual. ¡ Greedy: ¡ ¡ ¡Uses ¡ ¡duals ¡= ¡0 ¡ MSVV: ¡ ¡ ¡ ¡ ¡Uses ¡best ¡online ¡duals ¡as ¡a ¡determinis=c ¡func=on ¡of ¡money ¡spent. ¡ ¡ ¡ ¡ ¡ ¡ ¡Prefix ¡sums ¡of ¡a ¡related ¡LP’s ¡dual ¡variables. ¡ [Devanur ¡Hayes] ¡EC ¡2009 ¡ ¡ ¡ ¡In ¡random ¡order ¡input ¡we ¡can ¡approximate ¡op=mal ¡duals ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡=> ¡ ¡1 ¡– ¡epsilon ¡ [FHKMS] ¡ESA ¡2010 ¡ ¡ ¡Extend ¡to ¡packing ¡problems, ¡describe ¡experiments ¡on ¡real ¡datasets. ¡ [Agrawal, ¡Wang, ¡Ye] ¡ From ¡the ¡op=mal ¡dual ¡of ¡the ¡alloca=on ¡Linear ¡Program ¡ ¡(Adwords) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡[Buchbinder, ¡Jain, ¡Naor] ¡ESA ¡2007 ¡ ¡Online ¡Primal ¡Dual ¡Method ¡

slide-46
SLIDE 46

Adverserial ¡Order ¡ Random ¡order ¡/ ¡ ¡ Unknown ¡iid ¡ Known ¡iid ¡ Bipar=te ¡Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ 0.655 ¡ ¡(0.83) ¡ 0.70 ¡(0.83) ¡ Vertex ¡Weighted ¡ Matching ¡ 1-­‑1/e ¡ ¡(op=mal) ¡ ? ¡ ? ¡ Adwords ¡ 1-­‑1/e ¡(op=mal) ¡ 1-­‑ ¡epsilon ¡ 1 ¡-­‑ ¡epsilon ¡ Greedy ¡= ¡1-­‑1/e ¡ [Goel-­‑Mehta ¡‘08] ¡

slide-47
SLIDE 47

Landscape ¡of ¡problems: ¡

BPM ¡ Vertex-­‑weighted ¡ ~ ¡ ¡Equal ¡bids ¡ Adwords ¡with ¡ small ¡bids ¡ Adwords ¡with ¡arbitrary ¡bids ¡ Submodular ¡welfare ¡ ¡ ¡ ¡func=ons ¡

slide-48
SLIDE 48

Landscape ¡of ¡problems: ¡

BPM ¡ Vertex-­‑weighted ¡ ~ ¡ ¡Equal ¡bids ¡ Adwords ¡with ¡ small ¡bids ¡ Adwords ¡with ¡arbitrary ¡bids ¡ Submodular ¡welfare ¡ ¡ ¡ ¡func=ons ¡ Single ¡Randomized ¡ Algorithm ¡for ¡the ¡red ¡blob ¡

slide-49
SLIDE 49

Landscape ¡of ¡problems: ¡

BPM ¡ Vertex-­‑weighted ¡ ~ ¡ ¡Equal ¡bids ¡ Adwords ¡with ¡ small ¡bids ¡ Adwords ¡with ¡arbitrary ¡bids ¡ Submodular ¡welfare ¡ ¡ ¡ ¡func=ons ¡ Offline ¡3/4 ¡ Offline ¡ 1-­‑1/e ¡ ¡ Offline ¡~1 ¡ For ¡the ¡red ¡blob ¡

slide-50
SLIDE 50

Open ¡Ques=ons ¡ ¡

  • ¡ ¡All ¡the ¡“?” ¡in ¡the ¡table ¡+ ¡close ¡the ¡bounds ¡
  • ¡Extend ¡these ¡algorithms ¡to ¡work ¡for ¡large ¡bids, ¡submodular? ¡
  • ¡At ¡least ¡beat ¡1/2? ¡
  • ¡Is ¡there ¡a ¡connec=on ¡to ¡Mul=plica=ve ¡Update ¡Algorithms? ¡
  • ¡ ¡Greedy ¡= ¡ ¡exploita=on ¡
  • ¡ ¡Randomize ¡/ ¡ ¡Determinis=c ¡Scaling ¡ ¡= ¡ ¡regulariza=on ¡
  • ¡ ¡[BJN] ¡uses ¡mul=plica=ve ¡updates ¡
slide-51
SLIDE 51

Theory ¡to ¡Prac=ce ¡

¡ ¡ ¡ ¡ ¡ ¡Objec3ve ¡Func3ons ¡

α ¡Quality ¡ ¡ ¡+ ¡ ¡ ¡β ¡ROI ¡ ¡ ¡ ¡+ ¡ ¡ ¡ ¡γ ¡Revenue ¡

  • ¡ ¡CTR ¡
  • ¡ ¡#conversions ¡/ ¡$ ¡
  • ¡ ¡smooth ¡delivery ¡
  • ¡ ¡Short ¡term ¡revenue ¡

Choose ¡α, ¡β, ¡γ ¡ ¡: ¡ ¡One ¡good ¡business ¡policy ¡ ¡“Users ¡come ¡first”. ¡ Efficiency ¡in ¡ ¡Bid ¡* ¡CTR ¡ ¡is ¡a ¡good ¡proxy ¡for ¡all ¡these. ¡

slide-52
SLIDE 52

Applying ¡the ¡algorithms ¡

¡ ¡Use ¡best ¡available ¡informa3on ¡ No ¡ Info ¡ Full ¡ Info ¡

slide-53
SLIDE 53

Applying ¡the ¡algorithms ¡

Distribu3onal ¡input: ¡ ¡ ¡ Es=mate ¡the ¡dual ¡variable ¡from ¡yesterday’s ¡logs ¡ ¡ ¡ ¡Use ¡them ¡for ¡today’s ¡alloca=on ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Es=mate ¡distribu=on ¡of ¡metrics ¡rather ¡than ¡items. ¡ What ¡if ¡distribu3ons ¡changes? ¡ ¡Heuris3c: ¡ ¡increase ¡weights ¡if ¡behind ¡schedule, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡decrease ¡if ¡ahead ¡of ¡schedule ¡ ¡[Devanur, ¡Hayes ¡EC09] ¡ ¡[Mahdian, ¡Nazerzadeh, ¡Saberi ¡EC ¡07] ¡ [Feldman ¡et ¡al. ¡ESA ¡2010] ¡ [Kothari, ¡Mehta, ¡Srikant. ¡Manu.] ¡ ¡ ¡Use ¡best ¡available ¡informa3on ¡ No ¡ Info ¡ Full ¡ Info ¡

slide-54
SLIDE 54

THANKS ¡