Matching and Market Design: Introduction, Bipartite Matching
Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers&...
Transcript of Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers&...
![Page 1: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/1.jpg)
Online Matching and Adwords
Aranyak Mehta
Google Research Mountain View, CA
![Page 2: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/2.jpg)
Search Adver=sing (Adwords)
![Page 3: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/3.jpg)
Search engine users adver=sers
Bidding (offline)
Queries (online)
![Page 4: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/4.jpg)
Search engine users adver=sers
Find matching candidates
Score candidates Run auc3on
Bidding (offline)
Queries (online)
![Page 5: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/5.jpg)
Search engine users adver=sers
Find matching candidates
Score candidates Run auc3on
• Adver=ser Budgets => Demand Constraint => Matching
Bidding (offline)
Queries (online)
![Page 6: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/6.jpg)
Display ads
• Demand is offline from adver=sers • Targe=ng • Quan=ty (“1M ads”)
• Supply is online from page views
![Page 7: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/7.jpg)
Ad Exchanges
Ad Exchange Publisher
Ad Network
Ad Network
Ad Network
Publisher
Publisher
… Many other examples from adver=sing and outside.
![Page 8: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/8.jpg)
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
![Page 9: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/9.jpg)
Online Bipar=te Matching
.
.
.
.
.
.
Known in advance
Arrive Online
• Match upon arrival, irrevocably
• Maximize size of the matching
![Page 10: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/10.jpg)
The Core difficulty
![Page 11: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/11.jpg)
The Core difficulty
No determinis3c algorithm can do be>er than 1/2
![Page 12: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/12.jpg)
The Core difficulty
No determinis3c algorithm can do be>er than 1/2
RANDOM is 1/2
![Page 13: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/13.jpg)
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.
![Page 14: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/14.jpg)
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
![Page 15: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/15.jpg)
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
![Page 16: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/16.jpg)
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] ≤1n
Pr[match@s]s≤t∑
![Page 17: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/17.jpg)
Tight example
L
R
1
0 L R
![Page 18: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/18.jpg)
Goal: “Adwords” problem
.
.
.
.
.
.
Known in advance
Arrive Online
B1
B2
B3
B4
BN
Budgets
Bids
bidiq
• bid << budget
• Maximize the sum of budgets spent
![Page 19: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/19.jpg)
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.
![Page 20: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/20.jpg)
Adversarial Order Random order / Unknown iid
Known iid
Bipar=te Matching 1-‐1/e (op=mal)
Vertex Weighted Matching
Adwords
![Page 21: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/21.jpg)
Unknown Distribu=on / Random Order
• GREEDY = 1-‐1/e
• KVV >= 1-‐1/e
• Can we do bemer? How about KVV itself?
.
.
.
.
.
.
![Page 22: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/22.jpg)
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 !
![Page 23: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/23.jpg)
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
![Page 24: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/24.jpg)
Bad examples
0
R
0 L
R
0.75 0.726
L
![Page 25: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/25.jpg)
Adverserial Order Random order / Unknown iid
Known iid
Bipar=te Matching 1-‐1/e (op=mal) 0.696 (0.83)
Vertex Weighted Matching
Adwords
![Page 26: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/26.jpg)
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?
![Page 27: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/27.jpg)
.
.
.
.
.
.
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
![Page 28: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/28.jpg)
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
![Page 29: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/29.jpg)
How to get the two matchings?
![Page 30: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/30.jpg)
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
![Page 31: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/31.jpg)
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
![Page 32: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/32.jpg)
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
![Page 33: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/33.jpg)
1
1
M
1
KVV
GREEDY
3/4 -‐> 1-‐1/e 1/2 -‐> 0
1/2 1
Two Extremes
![Page 34: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/34.jpg)
Intui=on
KVV GREEDY
Non-‐uniform Permuta=ons
Perturbed GREEDY
![Page 35: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/35.jpg)
Intui=on
KVV GREEDY
Non-‐uniform Permuta=ons
Perturbed GREEDY
![Page 36: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/36.jpg)
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
![Page 37: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/37.jpg)
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
![Page 38: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/38.jpg)
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
![Page 39: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/39.jpg)
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
![Page 40: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/40.jpg)
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
![Page 41: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/41.jpg)
Intui=on
Load Balancing GREEDY
MSVV
[Mehta, Saberi, Vazirani, Vazirani] FOCS 2005 and J. ACM 2007
![Page 42: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/42.jpg)
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.
![Page 43: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/43.jpg)
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.
![Page 44: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/44.jpg)
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)
![Page 45: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/45.jpg)
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
![Page 46: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/46.jpg)
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]
![Page 47: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/47.jpg)
Landscape of problems:
BPM
Vertex-‐weighted
~ Equal bids Adwords with small bids
Adwords with arbitrary bids
Submodular welfare func=ons
![Page 48: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/48.jpg)
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
![Page 49: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/49.jpg)
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
![Page 50: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/50.jpg)
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
![Page 51: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/51.jpg)
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.
![Page 52: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/52.jpg)
Applying the algorithms Use best available informa3on
No Info
Full Info
![Page 53: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/53.jpg)
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
![Page 54: Online&Matching&and&Adwordszdvir/apx11slides/mehta-slides.pdf · Search&engine& users adver=sers& Find%matching% candidates% Scorecandidates Run%auc3on% Bidding (offline) Queries](https://reader030.fdocuments.in/reader030/viewer/2022041016/5ec888c4fa146116dd23a6fe/html5/thumbnails/54.jpg)
THANKS