Transcript
Page 1: Computational Advertising Bipartite Graph Matching

Computational Advertising Bipartite Graph Matching

13CSE001

Page 2: Computational Advertising Bipartite Graph Matching

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

Page 3: Computational Advertising Bipartite Graph Matching

Example: Bipartite Matching

Nodes: Boys and Girls; Edges: Compatible Pairs Goal: Match as many compatible pairs as possible

Page 4: Computational Advertising Bipartite Graph Matching

Example: Bipartite Matching

Page 5: Computational Advertising Bipartite Graph Matching

Example: Bipartite Matching

Perfect matching... all the vertices of graph are matched Maximum Matching... a matching that contains the longest possible number of matches

Page 6: Computational Advertising Bipartite Graph Matching

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)

Page 7: Computational Advertising Bipartite Graph Matching

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

Page 8: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 9: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 10: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 11: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 12: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 13: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 14: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 15: Computational Advertising Bipartite Graph Matching

Online Graph Matching: Example

Page 16: Computational Advertising Bipartite Graph Matching

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?

Page 17: Computational Advertising Bipartite Graph Matching

Competitive Ratio

• For input I, suppose greedy produces matching 𝑴𝒈𝒓𝒆𝒆𝒅𝒚 while an optimal matching

is 𝑴𝒐𝒑𝒕

Competitive ratio=

𝒎𝒊𝒏𝑎𝑙𝑙 𝑝𝑜𝑠𝑠𝑖𝑏𝑙𝑒 𝑖𝑛𝑝𝑢𝑡𝑠 𝐼(| 𝑴𝒈𝒓𝒆𝒆𝒅𝒚|/ |𝑴𝒐𝒑𝒕|)

Page 18: Computational Advertising Bipartite Graph Matching

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|

Page 19: Computational Advertising Bipartite Graph Matching

Analyzing the Greedy Algorithm

Combining (2) and (3):

• (4) |G|≤|B|≤ |𝑴𝒈𝒓𝒆𝒆𝒅𝒚|

Combining (1) and (4):

|𝑴𝒐𝒑𝒕| ≤ |𝑴𝒈𝒓𝒆𝒆𝒅𝒚|+|𝑴𝒈𝒓𝒆𝒆𝒅𝒚|

|𝑴𝒐𝒑𝒕| ≤ 2|𝑴𝒈𝒓𝒆𝒆𝒅𝒚|

|𝑴𝒈𝒓𝒆𝒆𝒅𝒚|/ |𝑴𝒐𝒑𝒕|≥1/2

Page 20: Computational Advertising Bipartite Graph Matching

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

Page 21: Computational Advertising Bipartite Graph Matching

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

Page 22: Computational Advertising Bipartite Graph Matching

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)

Page 23: Computational Advertising Bipartite Graph Matching

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!

Page 24: Computational Advertising Bipartite Graph Matching

Expected Revenue

Page 25: Computational Advertising Bipartite Graph Matching

Expected Revenue

Page 26: Computational Advertising Bipartite Graph Matching

The AdWords Innovation

Instead of sorting advertisers by bid, sort by expected revenue

Page 27: Computational Advertising Bipartite Graph Matching

Limitations of Simple Algorithm

• CTR of an ad is unknown

• Advertisers have limited budgets and bid on multiple ads.

Page 28: Computational Advertising Bipartite Graph Matching

Future Work

• Estimation of CTR

• Algorithm to solve limited budgets problem

(Balance Algorithm)

Page 29: Computational Advertising Bipartite Graph Matching

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

Page 30: Computational Advertising Bipartite Graph Matching

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,

Page 31: Computational Advertising Bipartite Graph Matching

Thank you


Recommended