New Algorithms, Better Bounds, and a Novel Model for - - PowerPoint PPT Presentation

new algorithms better bounds and a novel model for online
SMART_READER_LITE
LIVE PREVIEW

New Algorithms, Better Bounds, and a Novel Model for - - PowerPoint PPT Presentation

New Algorithms, Better Bounds, and a Novel Model for Online Stochastic Matching Brian Brubach , Karthik Abinav Sankararaman, Aravind Srinivasan, and Pan Xu


slide-1
SLIDE 1

New ¡Algorithms, ¡Better ¡Bounds, ¡ and ¡a ¡Novel ¡Model ¡for ¡Online ¡ Stochastic ¡Matching ¡

Brian ¡Brubach, ¡Karthik ¡Abinav ¡Sankararaman, ¡ Aravind ¡Srinivasan, ¡and ¡Pan ¡Xu ¡ University ¡of ¡Maryland, ¡College ¡Park ¡

European ¡Symposium ¡on ¡Algorithms ¡– ¡ESA ¡2016 ¡

slide-2
SLIDE 2

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Input: ¡biparGte ¡graph ¡G ¡= ¡(U, ¡V, ¡E) ¡

– U ¡is ¡set ¡of ¡offline ¡verGces ¡ – V ¡is ¡a ¡set ¡of ¡online ¡vertex ¡types ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-3
SLIDE 3

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-4
SLIDE 4

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-5
SLIDE 5

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-6
SLIDE 6

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-7
SLIDE 7

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-8
SLIDE 8

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-9
SLIDE 9

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-10
SLIDE 10

Online ¡Matching: ¡Known ¡I.I.D. ¡Model ¡

  • Arrivals ¡i.i.d. ¡from ¡a ¡known ¡distribuGon ¡on ¡V ¡

– Each ¡arrival ¡of ¡some ¡v ¡in ¡V ¡is ¡a ¡disGnct ¡vertex ¡ – WLOG ¡uniform ¡distribuGon ¡(integral ¡arrival ¡rates ¡assumed) ¡

AdverGsers ¡ User ¡Types ¡ Preferences ¡

slide-11
SLIDE 11

Variants ¡

  • Unweighted ¡
  • Vertex-­‑weighted ¡

– weights ¡only ¡on ¡offline ¡verGces ¡U ¡

  • Edge-­‑weighted ¡
  • StochasGc ¡rewards ¡

– Edges ¡exist ¡(independently) ¡with ¡given ¡ probabiliGes ¡

Less ¡ general ¡ More ¡ general ¡

slide-12
SLIDE 12

Competitive ¡Ratio ¡

  • ALG ¡= ¡any ¡online ¡algorithm ¡
  • OPT ¡= ¡opGmal ¡online ¡algorithm ¡
  • CompeGGve ¡raGo ¡= ¡E[ALG]/E[OPT] ¡
slide-13
SLIDE 13

Related ¡and ¡Our ¡Work ¡

Variant ¡ RaGo ¡ Authors ¡ Unweighted ¡ 0.67 ¡ Feldman, ¡Mehta, ¡Mirokkni, ¡Muthukrishnan ¡(FOCS ¡ 2009) ¡ 0.705 ¡ Manshadi, ¡Oveis, ¡Gharan, ¡Saberi ¡(SODA ¡2011) ¡ 0.7293 ¡ Jaillet ¡and ¡Lu ¡(Math ¡OR ¡2013) ¡ 0.7299 ¡ This ¡work ¡(ESA ¡2016) ¡ Vertex-­‑weighted ¡ 0.725 ¡ Jaillet ¡and ¡Lu ¡(Math ¡OR ¡2013) ¡ 0.7299 ¡ This ¡work ¡(ESA ¡2016) ¡ Edge-­‑weighted ¡ 0.667 ¡ Haeupler, ¡Mirokkni, ¡Zadimoghaddam ¡(WINE ¡2011) ¡ 0.705 ¡ This ¡work ¡(ESA ¡2016) ¡ StochasGc ¡Rewards ¡ 0.632 ¡ This ¡work ¡(ESA ¡2016) ¡

slide-14
SLIDE 14

Two ¡Phases: ¡OfHline ¡& ¡Online ¡

  • Offline ¡phase: ¡

– Preprocess ¡input ¡graph ¡and ¡develop ¡guidelines ¡for ¡ the ¡online ¡phase ¡ – Primary ¡focus ¡of ¡contribuGons ¡presented ¡here ¡

  • Online ¡Phase: ¡

– VerGces ¡arrive ¡and ¡must ¡be ¡matched ¡to ¡an ¡offline ¡ neighbor ¡or ¡discarded ¡

slide-15
SLIDE 15

Benchmark ¡LP ¡

Matching ¡ constraints ¡ Assuming ¡arrival ¡rate ¡is ¡1 ¡ Probability ¡some ¡v ¡never ¡arrives ¡= ¡1/e ¡ Expected ¡value ¡of ¡any ¡edge ¡≤ ¡1-­‑1/e ¡

slide-16
SLIDE 16

Scaled ¡Dependent ¡Rounding ¡

  • Generalizes ¡dependent ¡rounding ¡due ¡to ¡Gandhi, ¡

Khuller, ¡Parthasarathy, ¡and ¡Srinivasan ¡(FOCS ¡2004) ¡

– Oh ¡called ¡GKPS ¡rounding ¡

  • MulGply ¡LP ¡soluGon ¡by ¡k ¡before ¡rounding ¡
  • ProperGes ¡of ¡dependent ¡rounding ¡sGll ¡hold ¡
  • 1. Marginal distribution:

For every edge e, let pe = kfe bkfec. Then, Pr[Fe = dkfee] = pe and Pr[Fe = bkfec] = 1 pe.

  • 2. Degree-preservation:

For any vertex w 2 U [ V , let its fractional degree kfw be P

e∈∂(w) kfe and integral degree be the random variable

Fw = P

e∈∂(w) Fe. Then Fw 2 {bkfwc , dkfwe}.

slide-17
SLIDE 17

Edge-­‑weighted ¡

slide-18
SLIDE 18

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

0.6 ¡ 0.4 ¡ 0.3 ¡ 0.1 ¡ 0.6 ¡ 0.5 ¡ 0.3 ¡ 0.7 ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
slide-19
SLIDE 19

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

1.2 ¡ 0.8 ¡ 0.6 ¡ 0.2 ¡ 1.2 ¡ 1 ¡ 0.6 ¡ 1.4 ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
slide-20
SLIDE 20

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

0.2 ¡ 0.8 ¡ 0.6 ¡ 0.2 ¡ 0.2 ¡ 0.6 ¡ 0.4 ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

slide-21
SLIDE 21

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

0.2 ¡ 0.8 ¡ 0.6 ¡ 0.2 ¡ 0.2 ¡ 0.6 ¡ 0.4 ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

  • Apply ¡dependent ¡rounding ¡
slide-22
SLIDE 22

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

  • Apply ¡dependent ¡rounding ¡
slide-23
SLIDE 23

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

  • Apply ¡dependent ¡rounding ¡
  • Decompose ¡into ¡2 ¡matchings ¡
slide-24
SLIDE 24

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

  • Apply ¡dependent ¡rounding ¡
  • Decompose ¡into ¡2 ¡matchings ¡
slide-25
SLIDE 25

Warm-­‑up ¡Algorithm: ¡OfHline ¡phase ¡

M1 ¡ M2 ¡

  • Assign ¡LP ¡values ¡to ¡edges ¡
  • MulGply ¡values ¡by ¡2 ¡
  • Separate ¡integral ¡and ¡fracGonal ¡

parts ¡

  • Apply ¡dependent ¡rounding ¡
  • Decompose ¡into ¡2 ¡matchings ¡
  • Randomly ¡order ¡the ¡matchings ¡

M1 ¡and ¡M2 ¡

slide-26
SLIDE 26

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

  • First ¡arrival ¡of ¡a ¡type ¡

– Aiempt ¡match ¡to ¡M1 ¡neighbor ¡

  • Second ¡arrival ¡

– Aiempt ¡match ¡to ¡M2 ¡neighbor ¡

  • Third ¡or ¡later ¡arrival ¡

– Do ¡nothing ¡

slide-27
SLIDE 27

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

slide-28
SLIDE 28

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

slide-29
SLIDE 29

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

slide-30
SLIDE 30

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

slide-31
SLIDE 31

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

slide-32
SLIDE 32

Warm-­‑up ¡Algorithm: ¡Online ¡phase ¡

M1 ¡ M2 ¡

? ¡

slide-33
SLIDE 33

Challenge: ¡Two ¡Copies ¡of ¡an ¡Edge ¡

M1 ¡ M2 ¡

slide-34
SLIDE 34

Intuition ¡behind ¡Improvement ¡

  • If ¡an ¡edge ¡appears ¡in ¡both ¡matchings, ¡the ¡

second ¡arrival ¡is ¡wasted ¡

  • Haeupler ¡et ¡al ¡(2011) ¡also ¡used ¡two ¡matchings ¡

– Matchings ¡chosen ¡independently ¡ – Probability ¡edges ¡appear ¡in ¡both ¡matchings ¡≤ ¡0.63 ¡

We ¡show ¡correlated ¡rounding ¡reduces ¡this ¡ probability ¡to ¡≤ ¡0.26 ¡ ¡

  • 2(1-­‑1/e) ¡= ¡1.26 ¡(Pr[rounded ¡to ¡2] ¡= ¡0.26) ¡
slide-35
SLIDE 35

Analysis ¡of ¡Warm-­‑up ¡Algorithm ¡

  • Three ¡edge ¡types ¡

– Type ¡1: ¡only ¡in ¡M1, ¡Pr[matched] ¡≥ ¡0.58 ¡ – Type ¡2: ¡only ¡in ¡M2, ¡Pr[matched] ¡≥ ¡0.148 ¡ – Type ¡3: ¡in ¡both ¡M1 ¡and ¡M2, ¡Pr[matched] ¡≥ ¡0.632 ¡

  • Two ¡cases ¡for ¡edges ¡

– Small: ¡fe ¡≤ ¡1/2, ¡Pr[Type ¡1] ¡= ¡Pr[Type ¡2] ¡= ¡fe ¡ – Large: ¡fe ¡> ¡1/2, ¡Pr[Type ¡1] ¡= ¡Pr[Type ¡2] ¡= ¡1 ¡-­‑ ¡fe ¡ Pr[Type ¡3] ¡= ¡2fe ¡-­‑ ¡1 ¡≤ ¡0.26 ¡

slide-36
SLIDE 36

Analysis ¡of ¡Warm-­‑up ¡Algorithm ¡

  • “Small” ¡edges ¡(fe ¡≤ ¡1/2) ¡achieve ¡raGo ¡of ¡0.729 ¡
  • “Large” ¡edges ¡(fe ¡> ¡1/2) ¡achieve ¡raGo ¡of ¡0.688 ¡

– Warm-­‑up ¡algorithm ¡raGo: ¡0.688 ¡ – Note: ¡a ¡vertex ¡can ¡have ¡only ¡one ¡large ¡neighbor ¡

Combining ¡two ¡algorithms ¡that ¡favor ¡small ¡ and ¡large ¡edges, ¡respecGvely, ¡gives ¡our ¡ edge-­‑weighted ¡raGo: ¡0.705 ¡

slide-37
SLIDE 37

Unweighted ¡& ¡ ¡ Vertex-­‑weighted ¡

slide-38
SLIDE 38

Unweighted ¡Variant ¡

  • Previous ¡best: ¡0.7293 ¡= ¡1-­‑2/e2 ¡(Jaillet ¡and ¡Lu) ¡ ¡

– Their ¡analysis ¡was ¡Gght ¡

  • NegaGve ¡result: ¡0.86 ¡= ¡1-­‑1/e2 ¡(Manshadi ¡et ¡al) ¡
  • Our ¡result: ¡0.7299 ¡> ¡1-­‑2/e2 ¡ ¡

“In ¡some ¡sense, ¡the ¡raGo ¡of ¡1 ¡− ¡2/e2 ¡achieved ¡in ¡[56] ¡for ¡the ¡ integral ¡case, ¡is ¡a ¡nice ¡‘round’ ¡number, ¡and ¡one ¡may ¡suspect ¡ that ¡it ¡is ¡the ¡correct ¡answer.” ¡ ¡

  • ­‑ ¡Aranyak ¡Mehta, ¡Online ¡Matching ¡and ¡Ad ¡Alloca>on ¡(Open ¡quesGon ¡3) ¡
slide-39
SLIDE 39

Random ¡Lists ¡Algorithm ¡(Jaillet ¡and ¡Lu) ¡ ¡

  • AdapGve ¡algorithm ¡for ¡online ¡phase ¡
  • Requires ¡special ¡LP ¡soluGon ¡vector ¡

– Values ¡in ¡{0, ¡1/3, ¡2/3} ¡ – Certain ¡short ¡cycles ¡removed ¡

  • Offline ¡phase ¡

– LP ¡edge ¡constraint: ¡fe ¡≤ ¡2/3 ¡instead ¡of ¡fe ¡≤ ¡1-­‑1/e ¡ – Cycle ¡breaking ¡step ¡

slide-40
SLIDE 40

Our ¡contributions ¡

  • Use ¡scaled ¡dependent ¡rounding ¡

– MulGply ¡by ¡3, ¡round, ¡divide ¡by ¡3, ¡achieves ¡values ¡ in ¡{0, ¡1/3, ¡2/3} ¡if ¡all ¡fe ¡≤ ¡2/3 ¡ ¡

  • This ¡allows ¡for ¡Gghter ¡LP ¡constraints ¡

– Edge ¡constraint: ¡fe ¡≤ ¡1-­‑1/e ¡instead ¡of ¡fe ¡≤ ¡2/3 ¡ – Pair ¡of ¡edges ¡constraint: ¡fe ¡+ ¡fe’ ¡≤ ¡1-­‑1/e2 ¡for ¡all ¡e, ¡e’ ¡ in ¡neighborhood ¡of ¡an ¡offline ¡vertex ¡u ¡ ¡

  • Refined ¡cycle ¡breaking ¡subrouGne ¡
slide-41
SLIDE 41

Bottleneck ¡from ¡Jaillet ¡and ¡Lu ¡

  • Length ¡4 ¡cycles ¡limit ¡performance ¡to ¡1-­‑2/e2 ¡
  • Some ¡cycles ¡can ¡be ¡broken, ¡but ¡not ¡this ¡one ¡

u1 ¡ v1 ¡ u2 ¡ v2 ¡ 2/3 ¡ 2/3 ¡ 1/3 ¡ 1/3 ¡

slide-42
SLIDE 42

Comparison ¡

  • Jaillet ¡and ¡Lu: ¡cycle ¡occurs ¡determinisGcally ¡
  • This ¡work: ¡cycle ¡occurs ¡with ¡probability ¡≤ ¡0.89 ¡

u1 ¡ v1 ¡ u2 ¡ v2 ¡ 2/3 ¡ 2/3 ¡ 1/3 ¡ 1/3 ¡

slide-43
SLIDE 43

Comparison ¡

  • Jaillet ¡and ¡Lu: ¡cycle ¡occurs ¡determinisGcally ¡
  • This ¡work: ¡cycle ¡occurs ¡with ¡probability ¡≤ ¡0.89 ¡
  • Note: ¡fe ¡= ¡2/3 ¡and ¡fe ¡+ ¡fe’ ¡= ¡1 ¡ ¡
  • We ¡add ¡constraints: ¡

– fe ¡< ¡1-­‑1/e ¡= ¡0.63 ¡ – fe ¡+ ¡fe’ ¡< ¡1-­‑1/e2 ¡= ¡0.86 ¡

  • Our ¡boileneck ¡for ¡this ¡cycle: ¡

– 3(fe) ¡< ¡3(1-­‑1/e) ¡= ¡1.89 ¡

u1 ¡ v1 ¡ u2 ¡ v2 ¡

e ¡ e' ¡

2/3 ¡ 2/3 ¡ 1/3 ¡ 1/3 ¡

slide-44
SLIDE 44

Unweighted ¡and ¡Vertex-­‑weighted ¡

Scaled ¡dependent ¡rounding ¡allows ¡us ¡to ¡use ¡ Gghter ¡constraints ¡and ¡sGll ¡produce ¡a ¡nice ¡ LP ¡soluGon ¡in ¡{0, ¡1/3, ¡2/3}. ¡

slide-45
SLIDE 45

Stochastic ¡Rewards ¡

slide-46
SLIDE 46

Stochastic ¡Rewards ¡

  • Edges ¡have ¡(indep.) ¡probabiliGes ¡pe ¡of ¡exisGng ¡

– Choose ¡an ¡edge ¡to ¡match, ¡then ¡find ¡out ¡if ¡it ¡exists ¡ – MoGvaGon: ¡pay-­‑per-­‑click ¡adverGsing ¡

  • GeneralizaGon ¡of ¡the ¡edge-­‑weighted ¡problem ¡
  • LP-­‑based ¡algorithm ¡gets ¡raGo ¡of ¡1-­‑1/e ¡= ¡0.63 ¡

For ¡the ¡natural ¡benchmark ¡LP, ¡1-­‑1/e ¡is ¡Gght! ¡ Open: ¡is ¡there ¡is ¡a ¡beier ¡LP ¡or ¡negaGve ¡result? ¡

slide-47
SLIDE 47

Conclusion ¡

  • Edge-­‑weighted ¡

– Scaled ¡dependent ¡rounding ¡and ¡balancing ¡leads ¡to ¡ improved ¡results ¡

  • Unweighted/Vertex-­‑Weighted ¡

– Scaled ¡dependent ¡rounding ¡allows ¡for ¡Gghter ¡LP ¡ constraints ¡to ¡break ¡the ¡1-­‑2/e2 ¡barrier ¡

  • StochasGc ¡Rewards ¡

– Introduced ¡problem, ¡achieve ¡raGo ¡of ¡1-­‑1/e ¡

slide-48
SLIDE 48

Future ¡Work ¡

  • Edge-­‑weighted ¡

– AdapGve ¡approach? ¡

  • Unweighted/Vertex-­‑Weighted ¡

– Can ¡we ¡close ¡the ¡gap ¡between ¡0.7299 ¡and ¡0.86? ¡ – Use ¡scaled ¡dependent ¡rounding ¡with ¡some ¡k ¡> ¡3? ¡

  • StochasGc ¡Rewards ¡

– Tighter ¡benchmark ¡LP? ¡ – NegaGve ¡result? ¡Is ¡beaGng ¡1-­‑1/e ¡even ¡possible? ¡

  • For ¡related ¡problem ¡of ¡non-­‑integral ¡arrival ¡rates, ¡no ¡non-­‑

adapGve ¡algorithm ¡can ¡beat ¡1-­‑1/e ¡(Manshadi ¡et ¡al) ¡

slide-49
SLIDE 49

Thank ¡You! ¡