Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Online Matching Bipartite Matching Adwords Balance Algorithm Anil - - PowerPoint PPT Presentation
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
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Basic Problem
Manufacturer Products Ad Amount Total Budget I A $1 100 II A,B $ 2 100 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.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Example Query Sequences
1
50 for B followed by 100 for A
2
100 for A followed by 50 for B
3
intermix of 100 for A and 50 for B
4
intermix of ? for A and ? for B
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Online v/s Offline
Competitive Ratio
Ratio of the value returned by an Online Algorithm in comparison to the offline algorithm. What is the largest value of c ≤ 1, such that value(online algorithm) ≥ c ∗ value(off-line algorithm).
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Matching
A graph G = (V = A ∪ B, E) is bipartite if all edges (a, b) ∈ E have the property that a ∈ A and b ∈ B. A subset M ⊆ E forms a matching if no two edges in M are incident on the same vertex.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Online Matching Problem
Input: A bipartition of the vertex of a bipartite graph G = (V = A ∪ B, E). Edges of G are presented in an
- nline manner in an arbitrary order.
Output: Find a matching of largest possible size. Upon the arrival of an edge, make an irreversible decision on whether to include it in matching or not.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Greedy Algorihm
Bipartite matching greedy algorithm:
1
M ← ∅
2
Upon arrival of edge e = (a, b): If both endpoints a and b are unmatched M ← M ∪ {e}
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Competitive Ratio of Greedy Algorithm
Competitive Ratio
Online greedy matching algorithm is 1
2-competitive.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Advertising on the Web
Setting:
1
A set of bids from advertisers for search queries
2
Budget for each advertiser
3
CTR for each advertiser
4
Limit on the number of displayed ads Objectives:
1
Ensure that advertiser has bid for the query
2
If ad is clicked, advertiser has budget to pay
3
Maximize the total revenue = value of the bid × CTR for the ad. Uncertainty: Online Search queries
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Advertising on the Web (contd.)
Simplifications:
1
Only display one advertisement per search query
2
Each advertiser has the same starting budget
3
All CTR’s are the same
4
All bids are binary (either 0 or 1)
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Greedy Algorithm
Greedy Ad Algorithm On the arrival of a search query q: Among the advertisers who have some remaining budget, pick any of them who has bid 1 for q Advertiser Search Query Initial Budget A1 x $4 A2 x, y $4
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Competitive Ratio
GA for Ads
Greedy algorithm is 1
2-competitive
Proof: Homework. Idea: Look at the proof of the greedy online bipartite matching algorithm.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Balance Algorithm
Balance Algorithm Assign the query to the advertiser who bids for the query and has the highest remaining budget. Break the ties deterministically. Advertiser Search Query Initial Budget A1 x $4 A2 x, y $4
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Balance Algorithm (contd.)
2-Advertisers
The balance algorithm is 3
4-competitive for 2-advertisers.
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Balance Algorithm: Many Advertisers
n-bidders
For large values of n, the competitive ratio of the Balance Algorithm with n-advertisers is at most 1 − 1
e
Consider the following scenario:
1
n advertisers A1, . . . , An, each having a starting budget of B ≥ n
2
n-different types of queries: q1, . . . , qn
3
Advertiser Ai bids for queries q1, . . . , qi, for 1 ≤ i ≤ n
4
Queries arrive in the following order: B queries of type q1, followed by B queries of type q2, . . ., and finally B queries of type qn
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Balance Algorithm Analysis
Offline: Assign all q1 to A1, all q2 to A2, . . ., all qn to An. Offline Revenue = Bn Balance Algorithm: Advertiser Aj gets
1
B n queries of type q1
2
B n−1 queries of type q2
3
. . .
4
B n−j queries of type qj if it has remaining budget
Question: What is the smallest value of j such that
B n + B n−1 . . . B n−(j−1) ≥ B?
Answer: j = n(1 − 1
e)
Online Revenue = Bn(1 − 1
e)
Competitive Ratio = Online Revenue
Offline Revenue = 1 − 1 e ≈ 0.63
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Non-uniform bids
Suppose 2-advertisers bid for the same set of queries but they have different bid amounts: Advertiser Bid Amount Budget A1 $1 $110 A2 $10 $100 Consider a set of 10 queries: Revenue(offline) = 100 Revenue(Balance Algorithm) = 10
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Non-uniform bids (contd.)
New Idea: For query q: Suppose advertiser Ai bids amount xi for q: Let fi be the fraction of the unspent budget of Ai Define Ψi = xi(1 − e−fi) Assign q to the advertiser that has the largest value of Ψi
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Non-uniform bids - Example
Advertiser Bid Amount Budget A1 x1 = $1 $110 A2 x2 = $10 $100 Ψi = xi(1 − e−fi) Advertiser 1st Query 2nd Query 3rd Query ΨA1 ΨA2
Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm
Conclusions
1
The competitive ratio of Balance is 1 − 1
e
2
Non-uniform bid algorithm has a competitive ratio of 1 − 1
e
3
No online algorithm can have a competitive ratio greater than 1 − 1
e
4
Main Reference: Aranyak Mehta, Amin Saberi, Umesh V. Vazirani, Vijay V. Vazirani: AdWords and generalized online matching. Journal of ACM 54(5): 22 (2007)
5