online matching
play

Online Matching Bipartite Matching Adwords Balance Algorithm Anil - PowerPoint PPT Presentation

Adwords Problem Problem Competitive Ratio Online Matching Bipartite Matching Adwords Balance Algorithm Anil Maheshwari anil@scs.carleton.ca School of Computer Science Carleton University Canada Basic Problem Adwords Problem Problem


  1. Adwords Problem Problem Competitive Ratio Online Matching Bipartite Matching Adwords Balance Algorithm Anil Maheshwari anil@scs.carleton.ca School of Computer Science Carleton University Canada

  2. Basic Problem Adwords Problem Problem Manufacturer Products Ad Amount Total Budget Competitive Ratio I A $1 100 Bipartite Matching II A,B $ 2 100 Adwords Balance Algorithm Online Queries for Products A and B. Which Manufacturer’s Ad should be shown given that we can display exactly one advertisement at a time? Complication: We don’t know how many queries for each product we will get.

  3. Example Query Sequences Adwords Problem Problem 50 for B followed by 100 for A 1 Competitive Ratio 100 for A followed by 50 for B 2 Bipartite Matching intermix of 100 for A and 50 for B 3 Adwords Balance Algorithm intermix of ? for A and ? for B 4

  4. Online v/s Offline Adwords Problem Problem Competitive Ratio Competitive Ratio Ratio of the value returned by an Online Algorithm in Bipartite Matching comparison to the offline algorithm. Adwords What is the largest value of c ≤ 1 , such that Balance Algorithm value(online algorithm) ≥ c ∗ value(off-line algorithm).

  5. Matching Adwords Problem A graph G = ( V = A ∪ B, E ) is bipartite if all edges Problem ( a, b ) ∈ E have the property that a ∈ A and b ∈ B . Competitive Ratio Bipartite Matching A subset M ⊆ E forms a matching if no two edges in M Adwords are incident on the same vertex. Balance Algorithm

  6. Online Matching Problem Adwords Problem Input: A bipartition of the vertex of a bipartite graph Problem G = ( V = A ∪ B, E ) . Edges of G are presented in an Competitive Ratio online manner in an arbitrary order. Bipartite Matching Adwords Output: Find a matching of largest possible size. Upon Balance Algorithm the arrival of an edge, make an irreversible decision on whether to include it in matching or not.

  7. Greedy Algorihm Adwords Problem Bipartite matching greedy algorithm: Problem Competitive Ratio M ← ∅ 1 Bipartite Matching Adwords Upon arrival of edge e = ( a, b ) : 2 Balance Algorithm If both endpoints a and b are unmatched M ← M ∪ { e }

  8. Competitive Ratio of Greedy Algorithm Adwords Problem Problem Competitive Ratio Competitive Ratio Online greedy matching algorithm is 1 2 -competitive. Bipartite Matching Adwords Balance Algorithm

  9. Advertising on the Web Adwords Problem Setting: Problem Competitive Ratio A set of bids from advertisers for search queries 1 Bipartite Matching Budget for each advertiser 2 Adwords CTR for each advertiser 3 Balance Algorithm Limit on the number of displayed ads 4 Objectives: Ensure that advertiser has bid for the query 1 If ad is clicked, advertiser has budget to pay 2 Maximize the total revenue = value of the bid × CTR 3 for the ad. Uncertainty: Online Search queries

  10. Advertising on the Web (contd.) Adwords Problem Simplifications: Problem Competitive Ratio Only display one advertisement per search query 1 Bipartite Matching Each advertiser has the same starting budget 2 Adwords All CTR’s are the same 3 Balance Algorithm All bids are binary (either 0 or 1 ) 4

  11. Greedy Algorithm Adwords Problem Greedy Ad Algorithm Problem On the arrival of a search query q : Competitive Ratio Among the advertisers who have some remaining budget, Bipartite Matching Adwords pick any of them who has bid 1 for q Balance Algorithm Advertiser Search Query Initial Budget $4 A 1 x $4 A 2 x, y

  12. Competitive Ratio Adwords Problem Problem GA for Ads Competitive Ratio Greedy algorithm is 1 2 -competitive Bipartite Matching Adwords Balance Algorithm Proof: Homework. Idea: Look at the proof of the greedy online bipartite matching algorithm.

  13. Balance Algorithm Adwords Problem Balance Algorithm Problem Assign the query to the advertiser who bids for the query Competitive Ratio and has the highest remaining budget. Bipartite Matching Adwords Break the ties deterministically. Balance Algorithm Advertiser Search Query Initial Budget $4 A 1 x $4 A 2 x, y

  14. Balance Algorithm (contd.) Adwords Problem Problem 2-Advertisers Competitive Ratio The balance algorithm is 3 4 -competitive for 2-advertisers. Bipartite Matching Adwords Balance Algorithm

  15. Balance Algorithm: Many Advertisers Adwords Problem Problem n -bidders Competitive Ratio For large values of n , the competitive ratio of the Balance Bipartite Matching Algorithm with n -advertisers is at most 1 − 1 Adwords e Balance Algorithm Consider the following scenario: n advertisers A 1 , . . . , A n , each having a starting 1 budget of B ≥ n n -different types of queries: q 1 , . . . , q n 2 Advertiser A i bids for queries q 1 , . . . , q i , for 1 ≤ i ≤ n 3 Queries arrive in the following order: B queries of 4 type q 1 , followed by B queries of type q 2 , . . . , and finally B queries of type q n

  16. Balance Algorithm Analysis Adwords Problem Offline: Assign all q 1 to A 1 , all q 2 to A 2 , . . . , all q n to A n . Problem Offline Revenue = Bn Competitive Ratio Bipartite Matching Balance Algorithm: Advertiser A j gets Adwords B n queries of type q 1 1 Balance Algorithm B n − 1 queries of type q 2 2 . . . 3 B n − j queries of type q j if it has remaining budget 4 Question: What is the smallest value of j such that B B B n − ( j − 1) ≥ B ? n + n − 1 . . . Answer: j = n (1 − 1 e ) Online Revenue = Bn (1 − 1 e ) Competitive Ratio = Online Revenue Offline Revenue = 1 − 1 e ≈ 0 . 63

  17. Non-uniform bids Adwords Problem Suppose 2-advertisers bid for the same set of queries but Problem they have different bid amounts: Competitive Ratio Bipartite Matching Adwords Advertiser Bid Amount Budget Balance Algorithm $1 $110 A 1 A 2 $10 $100 Consider a set of 10 queries: Revenue(offline) = 100 Revenue(Balance Algorithm) = 10

  18. Non-uniform bids (contd.) Adwords Problem New Idea: For query q : Problem Suppose advertiser A i bids amount x i for q : Competitive Ratio Let f i be the fraction of the unspent budget of A i Bipartite Matching Adwords Define Ψ i = x i (1 − e − f i ) Balance Algorithm Assign q to the advertiser that has the largest value of Ψ i

  19. Non-uniform bids - Example Adwords Problem Problem Advertiser Bid Amount Budget Competitive Ratio x 1 = $1 $110 A 1 Bipartite Matching A 2 x 2 = $10 $100 Adwords Balance Algorithm Ψ i = x i (1 − e − f i ) Advertiser 1st Query 2nd Query 3rd Query Ψ A 1 Ψ A 2

  20. Conclusions Adwords Problem The competitive ratio of Balance is 1 − 1 Problem 1 e Competitive Ratio Non-uniform bid algorithm has a competitive ratio of 2 Bipartite Matching 1 − 1 Adwords e No online algorithm can have a competitive ratio 3 Balance Algorithm greater than 1 − 1 e Main Reference: Aranyak Mehta, Amin Saberi, 4 Umesh V. Vazirani, Vijay V. Vazirani: AdWords and generalized online matching. Journal of ACM 54(5): 22 (2007) Bala Kalyanasundaram, Kirk Pruhs: An optimal 5 deterministic algorithm for online b-matching. Theoretical Computer Science 233(1-2): 319-325 (2000)

Recommend


More recommend