Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Próxima SlideShare
Cargando en…5
×

# Computational advertising bipartite graph matching

This presentation deals with online algorithms, web advertising history, challeges and solutions.

• Full Name
Comment goes here.

Are you sure you want to Yes No
• Sé el primero en comentar

### Computational advertising bipartite graph matching

1. 1. Online Algorithms • Classic model of algorithms – We get to see the entire input, then compute some function of it – In this context, “offline algorithm” • Online Algorithms – We get to see the input one piece at a time, and need to make irrevocable decisions along the way – Similar to the data stream model
2. 2. Example: Bipartite Matching Nodes: Boys and Girls; Edges: Compatible Pairs Goal: Match as many compatible pairs as possible
3. 3. Example: Bipartite Matching
4. 4. Example: Bipartite Matching Perfect matching... all the vertices of graph are matched Maximum Matching... a matching that contains the longest possible number of matches
5. 5. Matching Algorithm • Problem: Find a maximum matching for a given bipartite graph – A perfect one if it exists • There is a polynomial – time offline algorithm based on augmenting path (Hopcroft & Karp 1973)
6. 6. Online Graph Matching Problem • Initially, we are given the sets boys and girls • In each round, one girl’s choice are revealed – That is, girl’s edges are revealed • At that time, we have to decide either: – Pair the girl with a boy – Do not pair the girl with any boy • Example of application: Assigning tasks to servers
7. 7. Online Graph Matching: Example
8. 8. Online Graph Matching: Example
9. 9. Online Graph Matching: Example
10. 10. Online Graph Matching: Example
11. 11. Online Graph Matching: Example
12. 12. Online Graph Matching: Example
13. 13. Online Graph Matching: Example
14. 14. Online Graph Matching: Example
15. 15. Greedy Algorithm • Greedy algorithm for the online graph matching problem: – Pair the new girl with any eligible boy • If there is none, do not pair girl • How good is the algorithm?
16. 16. Competitive Ratio • For input I, suppose greedy produces matching 𝑴 𝒈𝒓𝒆𝒆𝒅𝒚 while an optimal matching is 𝑴 𝒐𝒑𝒕 Competitive ratio= 𝒎𝒊𝒏 𝑎𝑙𝑙 𝑝𝑜𝑠𝑠𝑖𝑏𝑙𝑒 𝑖𝑛𝑝𝑢𝑡𝑠 𝐼(| 𝑴 𝒈𝒓𝒆𝒆𝒅𝒚|/ |𝑴 𝒐𝒑𝒕|)
17. 17. Analyzing the Greedy Algorithm • Suppose 𝑴 𝒈𝒓𝒆𝒆𝒅𝒚 ≠ 𝑴 𝒐𝒑𝒕 • Consider the set G of girls matched 𝑴 𝒐𝒑𝒕 but not in 𝑴 𝒈𝒓𝒆𝒆𝒅𝒚 • (1) |𝑴 𝒐𝒑𝒕| ≤ |𝑴 𝒈𝒓𝒆𝒆𝒅𝒚|+|G| • Every boy B adjacent to girls in G is already matched in 𝑴 𝒈𝒓𝒆𝒆𝒅𝒚 • (2) |𝑴 𝒈𝒓𝒆𝒆𝒅𝒚|≥ |B| • Optimal matches all the girls in G to boys in B • (3) |G|≤|B|
18. 18. Analyzing the Greedy Algorithm Combining (2) and (3): • (4) |G|≤|B|≤ |𝑴 𝒈𝒓𝒆𝒆𝒅𝒚| Combining (1) and (4): |𝑴 𝒐𝒑𝒕| ≤ |𝑴 𝒈𝒓𝒆𝒆𝒅𝒚|+|𝑴 𝒈𝒓𝒆𝒆𝒅𝒚| |𝑴 𝒐𝒑𝒕| ≤ 2|𝑴 𝒈𝒓𝒆𝒆𝒅𝒚| |𝑴 𝒈𝒓𝒆𝒆𝒅𝒚|/ |𝑴 𝒐𝒑𝒕|≥1/2
19. 19. History of Web Advertising • Banner ads (1995-2001) – Initial form of web advertising – Popular websites charged X\$ for every 1000 “impressions” of the add • Called “CPM” rate (cost per thousand impressions) • Modeled similar to TV, magazine ads – From untargeted to demographically targeted – Low click-through rates • Low ROI for advertisers
20. 20. Performance-based Advertising • Introduced by Overture around 2000 – Advertisers bid on search keywords – When someone searches for that keyword, the highest bidder’s ad is shown – Advertiser is charged only if the ad is clicked on • Similar model adopted by Google with some changes around 2002 – Called Adwords
21. 21. Algorithmic Challenges • Performance – based advertising works – Multi-billion-dollar industry • What ads to show for a given query? – The AdWords Problem Mining of Massive Datasets • If I am an advertiser, which search terms should I bid on and how much should I bid? – (It’s not our focus)
22. 22. AdWords Problem • A stream of queries arrives at the search engine: 𝑞1, 𝑞2, … • Several advertisers bid on each query • When query 𝑞𝑖 arrives, search engine must pick a subset of advertisers whose ads are shown • Goal: Maximize search engine’s revenues • Clearly we need an online algorithm!
23. 23. Expected Revenue
24. 24. Expected Revenue
26. 26. Limitations of Simple Algorithm • CTR of an ad is unknown • Advertisers have limited budgets and bid on multiple ads.
27. 27. Future Work • Estimation of CTR • Algorithm to solve limited budgets problem (Balance Algorithm)
28. 28. Recall… • Greedy algorithm for the online graph matching problem • Competitive Ratio • History of Web Advertising • Performance-based Advertising • The AdWords Innovation • Click Through Rate (CTR) • Expected Revenue
29. 29. AdWords Problem Given: • A set of bids by advertiser for search queries • A click-through rate for each advertiser query pair • A budget for each advertiser • A limit on the number of ads to be displayed with each search query
30. 30. Adwords Problem Respond to each search query with a set of advertisers such that: • The size of set is no larger than the limit on the number of ads per query • Each advertiser has bid on search query • Each advertiser has enough budget left to pay for the ad if it is clicked upon
31. 31. Dealing with Limited Budget • Our setting: Simplified Environment – There is 1 ad shown for each query – All advertisers have same budget B – All ads are equally likely to be clicked – Value of each ad is same(=1) • Simplest Algorithm is greedy – For a query pick any advertiser who has bid 1 for that query – Competitive ratio of greedy is 1/2.
32. 32. Bad Scenario for Greedy • Two advertisers A and B – A bids on x, B bids on x and y – Both have budget \$4 • Query stream: x x x x y y y y – Worst case for greedy choice: B B B B _ _ _ _ – Optimal: A A A A B B B B – Competitive ratio= ½ • This is worst case! – Note: Greedy algorithm is deterministic – it always resolves draw in same way
33. 33. BALANCE Algorithm [MSVV] • For each query, pick the advertiser with the largest unspent budget • Break ties arbitrarily ( but in deterministic way)
34. 34. Example: BALANCE • Two advertisers A and B – A bids on x, B bids on x and y – Both have budget \$4 • Query stream: x x x x y y y y • Balance Choice: A B A B B B _ _ – Optimal: A A A A B B B B • Competitive ratio= ¾ – For BALANCE with two advertisers
35. 35. Analyzing 2 advertiser BALANCE • Consider simple case – 2 Advertisers, 𝐴1 and 𝐴2, each with budget B(≥1) – Optimal solution exhaust both advertisers’ budgets • BALANCE must exhaust at least one advertiser’s budget: – If not, we can allocate more queries – Assume BALANCE exhausts 𝐴2’s budget
36. 36. Analyzing Balance
37. 37. Analyzing Balance
38. 38. BALANCE: General Result • In the general case, worst case competitive ratio of BALANCE is 1-1/e = approx. 0.63 – Interestingly, no online algorithm has a better competitive ratio! • Let’s see the worst case example that gives this ratio
39. 39. Worst case for BALANCE • N advertisers 𝐴1, 𝐴2, … 𝐴 𝑁 – Each with budget B>N • Queries: – N.B queries appear in N rounds of B queries each • Bidding: – Round 1 queries: bidders 𝐴1, 𝐴2, … 𝐴 𝑁 – Round 2 queries: bidders 𝐴2, 𝐴3, … 𝐴 𝑁 – Round i queries: bidders 𝐴𝑖, … 𝐴 𝑁
40. 40. BALANCE Allocation
41. 41. BALANCE Allocation
42. 42. BALANCE Allocation
43. 43. BALANCE Allocation After k rounds, the allocation to k advertiser is: 𝑆 𝑘 = 𝐵 (𝑁 − 𝑖 + 1)𝑘 𝑖=1 If we find smallest k such that 𝑆 𝑘 ≥ 𝐵, then after k rounds we can not allocate any queries to any advertiser
44. 44. BALANACE Analysis
45. 45. BALANACE Analysis • Fact for large n – Result due to Euler ln 𝑁 − 𝑘 = ln 𝑁 − 1 ln(𝑁/(𝑁 − 𝑘)) = 1 𝑁/(𝑁 − 𝑘) = 𝑒 𝒌 = 𝑵(𝟏 − 𝟏/𝒆)
46. 46. BALANACE Analysis • So after the first 𝑘 = 𝑁(1 − 1/𝑒) rounds, we cannot allocate a query to any advertiser • Revenue = 𝐵. 𝑁(1 − 1/𝑒) • Competitive ratio = 1 − 1/𝑒
47. 47. General Version of the Problem • So far: all bid = 1, all budget equal (=B) • In general balance can be terrible – Consider query q, two advertiser 𝐴1and 𝐴2 – 𝐴1: bid = 1, budget = 110 – 𝐴2: bid = 10, budget = 100 – Suppose we see 10 instance of q – BALANCE always selects 𝐴1and earns 10 – Optimal earns 100
48. 48. Generalized BALANCE • Consider query q, bidder i – Bid = 𝑥𝑖 – Budget = 𝑏𝑖 – Amount spent so far = 𝑚𝑖 – Fraction of budget left over 𝑓𝑖 = 1 − 𝑚𝑖/𝑏𝑖 – Define 𝜑𝑖(𝑞) = 𝑥𝑖 1 − 𝑒−𝑓 𝑖 • Allocate query q to bidder i with largest value of 𝜑𝑖 𝑞 • Same Competitive ratio = 1 − 1/𝑒
49. 49. Conclusion • AdWords Problem • Limited Budget Problem • Solution of Limited Budget Problem – BALANCE Algorithm and Analysis
50. 50. Future Work • Estimation of CTR – Data Mining and Machine Learning techniques
51. 51. References • [1] Mehta A, Saberi A, Vazirani U, Vazirani V. Adwords and generalized online matching. J ACM (JACM) 2007;54(5):22. • [2] Reiss C, Wilkes J, Hellerstein JL. Google cluster- usage traces: formatþ schema. Google Inc., White Paper; 2011. • [3] Legrain A, Fortin M-A, Lahrichi N, Rousseau L- M. Online stochastic optimization of radiotherapy patient scheduling. In: Health care management science; 2014. p. 1–14
52. 52. References • [4] Coy P. The secret to google's success. 〈http://www.bloomberg.com/bw/stories/ 2006-03-05/ the-secret-to-googles-success〉; 5 March 2006 [accessed16.02.15]. • [5] Google, 2014. 2014 financial tables. 〈https://investor.google.com/financial/tables.html〉 [accessed 16.02.2015]. • [6] Antoine Legrain , Patrick Jaillet A stochastic algorithm for online bipartite resource allocation problems. Computers & Operations Research 75 (2016) 28–37,
53. 53. Thank you