Computational Advertising Bipartite Graph Matching

  • View

  • Download

Embed Size (px)


  • 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

  • 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


    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. 2006-03-05/

    the-secret-to-googles-success; 5 March 2006 [accessed16.02.15].

    [5] Google, 2014. 2014 financial tables. [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