New Online Algorithms for Story Scheduling in Web Advertising - - PowerPoint PPT Presentation

new online algorithms for story scheduling in web
SMART_READER_LITE
LIVE PREVIEW

New Online Algorithms for Story Scheduling in Web Advertising - - PowerPoint PPT Presentation

New Online Algorithms for Story Scheduling in Web Advertising Susanne Albers Achim Paen TU Munich HU Berlin Online advertising Worldwide online ad spending 2012/13: $ 100 billion Expected to surpass print ad spending soon Display


slide-1
SLIDE 1

New Online Algorithms for Story Scheduling in Web Advertising

Susanne Albers Achim Paßen TU Munich HU Berlin

slide-2
SLIDE 2

Online advertising

Worldwide online ad spending 2012/13: $ 100 billion Expected to surpass print ad spending soon Display advertising: images, videos, animations Content shown depending on browsing history of user

slide-3
SLIDE 3

Story boarding

slide-4
SLIDE 4

Story boarding

  • Maintain ad position of a web site during browsing session of a user.
  • Position depicts image sequences of advertisers.

Advertiser pay unit shown.

  • Depending on history/state user becomes interesting for advertisers.
  • Maximize revenue of session.
slide-5
SLIDE 5

Model

  • Session time is slotted

Time t: user continues surfing with probability β 0 < β < 1

  • I = J1, . . . , JN

Ji = (ai, li, vi) ai = arrival time li = length vi = per-unit value

  • Preemption: Job Ji may be scheduled for < li time units
  • max
  • t≥0

βtv(t) v(t) = per-unit value of job scheduled at time t Dasgupta, Ghosh, Nazerzadeh, Raghavan SODA’09

slide-6
SLIDE 6

Competitive analysis

A(I) A: Online algorithm OPT(I) OPT: Offline algorithm A is c-competitive if for all I A(I) ≥ 1 c · OPT(I).

slide-7
SLIDE 7

Previous results

  • Lower bound: c ≥ 2 for general β

c ≥ β + β2

  • Upper bound: c = 7

ALG: ∀t vi of current Ji ⇐ ⇒ loss in delaying Jk with vk > vi for 1 time unit Dasgupta, Ghosh, Nazerzadeh, Raghavan SODA’09

slide-8
SLIDE 8

Previous results

  • Lower bound: c ≥ 2 for general β

c ≥ β + β2

  • Upper bound: c = 7
  • Jobs to be scheduled immediately upon arrival

c = Ω(

  • log µ/ log log µ)

µ = max{lmax/lmin, vmax/vmin}

  • Total value of vi gained only if entire Ji is shown

c = O(log(vmax/vmin)) Dasgupta, Ghosh, Nazerzadeh, Raghavan SODA’09

slide-9
SLIDE 9

Our contribution

  • Upper bound: c = 4/(2 − β)
  • Upper bound: c = 1 + Φ ≈ 2.62

Φ = 1+

√ 5 2

Golden Ratio

  • Problem extension: Web page with m ad positions, where stories can be

shown simultaneously; job migration not allowed max

  • t≥0

m

  • j=1

βtv(t, j) v(t, j) = per-unit value of job scheduled on ad position j at time t Upper bound: 3.414 ≈ 2/(2 − √ 2) ≤ c ≤ 1/(3 − 2 √ 2) ≈ 5.828

slide-10
SLIDE 10

Algorithmic approach

k 2k

Time: P1 P2 P3

2k − 1 k − 1 3k − 1

  • Phases P1, P2, P3, . . . of k consecutive time steps.
  • Scheduling decisions are made at the beginning of the phase.
  • Jobs arriving during the phase are ignored.
slide-11
SLIDE 11

Simple algorithm

Time:

(n − 1)k nk − 1

Qn : Pn

ALG1: Phase Pn: Qn = {unscheduled jobs Ji with ai ≤ (n − 1)k} Schedule jobs of Qn in order of non-increasing per-unit value Preempt job at the end of Pn Thm: c = 1/(βk−1(1 − βk)) c = 4/(2 − β) for k = ⌈− logβ 2⌉ c = 1/(1 − β) for k = 1

slide-12
SLIDE 12

Refined algorithm

Time:

(n − 1)k nk − 1

Qn : Pn

ALG2: Phase Pn: Jn = remainder of last job in Pn−1 Qn = {Jn + unscheduled jobs Ji with ai ≤ (n − 1)k} Schedule jobs of Qn in order of non-increasing per-unit value If Jn contained in schedule, move it to the front Thm: c = 1/βk−1 · max{1/βk−1, 1/(1 − β2k), β3k/(1 − βk)} c = 1 + Φ ≈ 2.618, where Φ = (1 + √ 5)/2 for k = ⌊− 1

2 logβ(1 + Φ)⌋ + 1

slide-13
SLIDE 13

Refined algorithm

Time:

(n − 1)k nk − 1

Qn : Pn

ALG2: Phase Pn: Jn = remainder of last job in Pn−1 Qn = {Jn + unscheduled jobs Ji with ai ≤ (n − 1)k} Schedule jobs of Qn in order of non-increasing per-unit value If Jn contained in schedule, move it to the front Thm: c = 1/βk−1 · max{1/βk−1, 1/(1 − β2k), β3k/(1 − βk)} c = 1 + Φ ≈ 2.618, where Φ = (1 + √ 5)/2 for k = ⌊− 1

2 logβ(1 + Φ)⌋ + 1

slide-14
SLIDE 14

Algorithm for m ad positions

(n − 1)k nk − 1

Qn :

  • Pos. 1
  • Pos. 2

ALG3: Phase Pn: Qn = {unscheduled jobs Ji with ai ≤ (n − 1)k} For t = (n − 1)k, . . . , nk − 1, schedule m jobs of highest per-unit value Preempt jobs at the end of Pn Implementation: Units of a job are placed on same ad position

slide-15
SLIDE 15

Algorithm for m ad positions

(n − 1)k nk − 1

Qn :

  • Pos. 1
  • Pos. 2

ALG3: Phase Pn: Qn = {unscheduled jobs Ji with ai ≤ (n − 1)k} For t = (n − 1)k, . . . , nk − 1, schedule m jobs of highest per-unit value Preempt jobs at the end of Pn Thm: c = 1/βk−1 · (1 + 1/(1 − βk)) c = (1 + 1/(1 − β(2 − √ 2)))/(2 − √ 2) for k = ⌈logβ(2 − √ 2)⌉ 3.414 ≈ 2/(2 − √ 2) ≤ c ≤ 1/(3 − 2 √ 2) ≈ 5.828

slide-16
SLIDE 16

Simple algorithm

Time:

(n − 1)k nk − 1

Qn : Pn

ALG1: Phase Pn: Qn = {unscheduled jobs Ji with ai ≤ (n − 1)k} Schedule jobs of Qn in order of non-increasing per-unit value Jobs of same value sorted in order of increasing arrival time Preempt job at the end of Pn

slide-17
SLIDE 17

Analysis simple algorithm

I = J1, . . . , JN Ji = (ai, li, vi) k-quantized input Ik = J′

1, . . . , J′ N

J′

i = (a′ i, li, vi)

a′

i = k⌈ai/k⌉

(n − 1)k nk − 1

Pn

slide-18
SLIDE 18

Analysis simple algorithm

Lemma: OPT(Ik) ≥ βk−1 · OPT(I) Proof: Shift optimal schedule for I by k − 1 time units to the right. Observation: ALG1(Ik) = ALG1(I)

slide-19
SLIDE 19

Relaxed offline algorithm

CHOP: Optimal algorithm that may resume preempted jobs Always schedule job with highest per-unit value. Jobs with same per-unit value are scheduled in the same order as in ALG1. Observation: CHOP(Ik) ≥ OPT(Ik)

slide-20
SLIDE 20

Timing property

S = ALG1’s schedule for Ik tS(i) = start time of Ji in S S∗ = CHOP’s schedule for Ik tS∗(i) = start time of Ji in S∗ Lemma: tS(i) ≤ tS⋆(i)

slide-21
SLIDE 21

tS(i) ≤ tS⋆(i)

Let Ji⋆ be first job in S⋆ with tS(i⋆) > tS⋆(i⋆) = t⋆

Ji

CHOP ALG1:

t⋆ Ji⋆

  • vi ≥ vi⋆
  • At time t⋆ CHOP has finished Ji

vi > vi⋆ : √ vi = vi⋆ : CHOP schedules jobs of value vi in the same order as ALG1

  • tS⋆(i) ≤ t⋆ − li

tS(i) ≥ t⋆ − li + 1

slide-22
SLIDE 22

Phase analysis

Time:

(n − 1)k nk − 1

Pn

Jn = {jobs scheduled by ALG1 in Pn} ALG1(Pn) = value achieved for Jn ALG1(Ik) =

  • n

ALG1(Pn) CHOP(Pn) = value achieved for Jn Lemma: CHOP(Ik) =

  • n

CHOP(Pn) Proof: For any Ji scheduled by CHOP, tS(i) ≤ tS⋆(i) {jobs scheduled by CHOP} ⊆

  • n

Jn

slide-23
SLIDE 23

Phase analysis

Time:

(n − 1)k nk − 1

Pn

Lemma: CHOP(Pn) ≤ ALG1(Pn)/(1 − βk) Proof: J = last job of Pn with value v CHOP(Pn) ≤ ALG1(Pn) + extra value in scheduling preempted portion of J ALG1(Pn) =

nk−1

  • t=(n−1)k

βtv = (β(n−1)k − βnk)/(1 − β) · v extra value =

  • t≥nk

βtv = βnk/(1 − β) · v CHOP(Pn)/ALG1(Pn) ≤ 1 + βnk/(β(n−1)k − βnk) = 1/(1 − βk)

slide-24
SLIDE 24

Wrapping up

CHOP(Ik) ≤ ALG1(Ik)/(1 − βk) βk−1 · OPT(I) ≤ CHOP(Ik) OPT(I) ≤ ALG1(I)/(βk−1(1 − βk))

slide-25
SLIDE 25

Analysis refined algorithm

  • Take care of delays if last job of previous phase is continued.
  • Loss of preempted jobs have to amortized over several phases;

segments of up to three phases.

slide-26
SLIDE 26

Analysis m ad positions

  • ∃ S⋆ value is at least as high as that of optimal schedule
  • S⋆ schedules up to 2m jobs at any time
  • ∀t: each Ji scheduled in S⋆ but not in S can be mapped

(a) to a unit vi′ ≥ vi scheduled in S or (b) to a job preempted by S at time t′ < t

slide-27
SLIDE 27

Open problems

  • Tight bounds for deterministic algorithms
  • Design randomized algorithms