View

63Download

1

Embed Size (px)

Transcript

Computational Advertising Bipartite Graph Matching

13CSE001

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

Example: Bipartite Matching

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

Example: Bipartite 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

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)

Online Graph Matching Problem

Initially, we are given the sets boys and girls

In each round, one girls choice are revealed

That is, girls 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

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

Online Graph Matching: Example

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?

Competitive Ratio

For input I, suppose greedy produces matching while an optimal matching

is

Competitive ratio=

(| |/ ||)

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|

Analyzing the Greedy Algorithm

Combining (2) and (3):

(4) |G||B| ||

Combining (1) and (4):

|| ||+||

|| 2||

||/ ||1/2

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

Performance-based Advertising

Introduced by Overture around 2000

Advertisers bid on search keywords

When someone searches for that keyword, the highest bidders 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

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? (Its not our focus)

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 engines revenues

Clearly we need an online algorithm!

Expected Revenue

Expected Revenue

The AdWords Innovation

Instead of sorting advertisers by bid, sort by expected revenue

Limitations of Simple Algorithm

CTR of an ad is unknown

Advertisers have limited budgets and bid on multiple ads.

Future Work

Estimation of CTR

Algorithm to solve limited budgets problem

(Balance Algorithm)

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. 114

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) 2837,

Thank you