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

online matching
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Adwords Problem Problem Competitive Ratio Bipartite Matching Adwords Balance Algorithm

Online Matching

Anil Maheshwari

anil@scs.carleton.ca School of Computer Science Carleton University Canada

slide-2
SLIDE 2

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.

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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.

slide-6
SLIDE 6

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.

slide-7
SLIDE 7

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}

slide-8
SLIDE 8

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.

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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)

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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.

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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.

slide-15
SLIDE 15

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

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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

Bala Kalyanasundaram, Kirk Pruhs: An optimal deterministic algorithm for online b-matching. Theoretical Computer Science 233(1-2): 319-325 (2000)