Online Ad Allocation, and Online Submodular Welfare Maximization Vahab Mirrokni Google Research, New York March 20, 2012
Outline ◮ Problems: SWM and Online Ad Allocation ◮ Online Generalized Assignment (GAP) ◮ Page-based Allocation and SWM with online buyers ◮ Stochastic Settings: ◮ Online Stochastic Matching: Primal Algorithms ◮ Online Stochastic Packing: Dual Algorithms ◮ Experimental Results ◮ Simultaneous Stochastic and Adversarial Approximations
Submodular Welfare Maximization(SWM): Offline ◮ m buyers and n items. ◮ Each buyers i has a monotone submodular valuation f i on items. Buyers S 5 S 6 S 1 S 2 S 3 S 4 f 1 ( S 1 ) f 2 ( S 2 ) f 4 ( S 4 ) f 6 ( S 6 ) f 3 ( S 3 ) f 5 ( S 5 ) ◮ Goal: Partition items to maximize social welfare, i.e, � i f i ( S i ). ◮ Known Results: ◮ There exists a 1 − 1 e -approximation for this problem. (Vondrak) ◮ Achieving factor better than 1 − 1 e needs exponential number of value queries. [M., Schapira, Vondrak]
Submodular Welfare Maximization(SWM): Online ◮ m buyers and n items. Buyers S 5 S 6 S 1 S 2 S 3 S 4 f 1 ( S 1 ) f 2 ( S 2 ) f 4 ( S 4 ) f 6 ( S 6 ) f 3 ( S 3 ) f 5 ( S 5 ) ◮ Goal: Partition items to maximize social welfare, i.e, � i f i ( S i ). ◮ Online: ◮ SWM with online items: items arrive online one by one ◮ Greedy is a 1/2-approximation algorithm (NWF) ◮ Will present improved algorithms for special cases. ◮ SWM with online buyers with re-assignment: buyers arrive one by one. ◮ Will present improved approximation algorithms.
Online Ad Allocation ◮ When a page arrives, assign an eligible ad. ◮ value of assigning page i to ad a : v ia
Online Ad Allocation ◮ When a page arrives, assign an eligible ad. ◮ value of assigning page i to ad a : v ia ◮ Display Ads (DA) problem: ◮ Maximize value of ads served: max � i , a v ia x ia ◮ Capacity of ad a : � i ∈ A ( a ) x ia ≤ C a
Online Ad Allocation ◮ When a page arrives, assign an eligible ad. ◮ revenue from assigning page i to ad a : b ia ◮ “AdWords” (AW) problem: ◮ Maximize revenue of ads served: max � i , a b ia x ia ◮ Budget of ad a : � i ∈ A ( a ) b ia x ia ≤ B a
General Form of LP � max v ia x ia i , a � x ia ≤ 1 ( ∀ i ) a � s ia x ia ≤ ( ∀ a ) C a i x ia ≥ 0 ( ∀ i , a ) Online Matching: Disp. Ads (DA): AdWords (AW): v ia = s ia = 1 s ia = 1 s ia = v ia
General Form of LP � max v ia x ia i , a � x ia ≤ 1 ( ∀ i ) a � s ia x ia ≤ ( ∀ a ) C a i x ia ≥ 0 ( ∀ i , a ) Online Matching: Disp. Ads (DA): AdWords (AW): v ia = s ia = 1 s ia = 1 s ia = v ia [MSVV,BJN]: Greedy: 1 2 , Worst-Case 1 − 1 e -aprx [KVV]: 1 − 1 e -aprx if B a ≫ b ia .
Outline ◮ Problems: SWM and Online Ad Allocation ◮ Online Generalized Assignment (GAP) ◮ Page-based Allocation and SWM with online buyers ◮ Stochastic Settings: ◮ Online Stochastic Matching: Primal Algorithms ◮ Online Stochastic Packing: Dual Algorithms ◮ Experimental Results ◮ Simultaneous Stochastic and Adversarial Approximations
DA: Free Disposal Model 0.07 Ad 1: C 1 = 1 0.7 ◮ Advertisers may not complain about extra impressions, but no bonus points for extra impressions, either. ◮ Value of advertiser = sum of values of top C a items she gets.
Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value).
Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value). ◮ Competitive Ratio: 1/2. [NWF78] ◮ Follows from submodularity of the value function.
Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value). ◮ Competitive Ratio: 1/2. [NWF78] ◮ Follows from submodularity of the value function. 1 Ad 1: C 1 = n n copies n copies 1 + ǫ Ad 2: C 2 = n
Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value). ◮ Competitive Ratio: 1/2. [NWF78] ◮ Follows from submodularity of the value function. 1 Ad 1: C 1 = n n copies n copies 1 + ǫ 1 n copies Ad 2: C 2 = n
Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value). ◮ Competitive Ratio: 1/2. [NWF78] ◮ Follows from submodularity of the value function. 1 Ad 1: C 1 = n n copies n copies 1 + ǫ 1 n copies Ad 2: C 2 = n Evenly Split?
A better algorithm? Assign impression to an advertiser a maximizing (imp. value - β a ), where β a = average value of top C a impressions assigned to a .
A better algorithm? Assign impression to an advertiser a maximizing (imp. value - β a ), where β a = average value of top C a impressions assigned to a . 1 Ad 1: C 1 = n n copies n copies 1 + ǫ 1 n copies Ad 2: C 2 = n
A better algorithm? Assign impression to an advertiser a maximizing (imp. value - β a ), where β a = average value of top C a impressions assigned to a . 1 Ad 1: C 1 = n n copies n copies 1 + ǫ 1 n copies Ad 2: C 2 = n ◮ Competitive Ratio: 1 2 if C a >> 1. [FKMMP09] ◮ Primal-Dual Approach.
An Optimal Algorithm Assign impression to an advertiser a : maximizing (imp. value - β a ), ◮ Greedy: β a = min. impression assigned to a . ◮ Better (pd-avg): β a = average value of top C a impressions assigned to a .
An Optimal Algorithm Assign impression to an advertiser a : maximizing (imp. value - β a ), ◮ Greedy: β a = min. impression assigned to a . ◮ Better (pd-avg): β a = average value of top C a impressions assigned to a . ◮ Optimal (pd-exp): order value of edges assigned to a : v (1) ≥ v (2) . . . ≥ v ( C a ): C a 1 v ( j )(1 + 1 � ) j − 1 . β a = C a ( e − 1) C a j =1
An Optimal Algorithm Assign impression to an advertiser a : maximizing (imp. value - β a ), ◮ Greedy: β a = min. impression assigned to a . ◮ Better (pd-avg): β a = average value of top C a impressions assigned to a . ◮ Optimal (pd-exp): order value of edges assigned to a : v (1) ≥ v (2) . . . ≥ v ( C a ): C a 1 v ( j )(1 + 1 � ) j − 1 . β a = C a ( e − 1) C a j =1 ◮ Thm: pd-exp achieves optimal competitive Ratio: 1 − 1 e − ǫ if C a > O ( 1 ǫ ). [Feldman, Korula, M., Muthukrishnan, Pal 2009]
Online Generalized Assignment (with free disposal) ◮ Multiple Knapsack: Item i may have different value ( v ia ) and different size s ia for different ads a . ◮ DA: s ia = 1, AW: v ia = s ia . � max v ia x ia � � min C a β a + z i i , a a i � x ia ≤ 1 ( ∀ i ) s ia β a + z i ≥ v ia ( ∀ i , a ) a β a , z i ≥ 0 ( ∀ i , a ) � s ia x ia ≤ C a ( ∀ a ) i x ia ≥ 0 ( ∀ i , a )
Online Generalized Assignment (with free disposal) ◮ Multiple Knapsack: Item i may have different value ( v ia ) and different size s ia for different ads a . ◮ DA: s ia = 1, AW: v ia = s ia . � max v ia x ia � � min C a β a + z i i , a a i � x ia ≤ 1 ( ∀ i ) s ia β a + z i ≥ v ia ( ∀ i , a ) a β a , z i ≥ 0 ( ∀ i , a ) � s ia x ia ≤ C a ( ∀ a ) i x ia ≥ 0 ( ∀ i , a ) ◮ Offline Optimization: 1 − 1 e − δ -aprx[FGMS07,FV08]. ◮ Thm[FKMMP09]: There exists a 1 − 1 e − ǫ -approximation max s ia ≥ 1 C a algorithm if ǫ .
Proof Idea: Primal-Dual Analysis [BJN] � max v ia x ia i , a � x ia ≤ 1 ( ∀ i ) � � a min C a β a + z i � s ia x ia ≤ ( ∀ a ) C a a i i s ia β a + z i ≥ v ia ( ∀ i , a ) x ia ≥ 0 ( ∀ i , a ) β a , z i ≥ 0 ( ∀ i , a )
Proof Idea: Primal-Dual Analysis [BJN] � max v ia x ia i , a � x ia ≤ 1 ( ∀ i ) � � a min C a β a + z i � s ia x ia ≤ ( ∀ a ) C a a i i s ia β a + z i ≥ v ia ( ∀ i , a ) x ia ≥ 0 ( ∀ i , a ) β a , z i ≥ 0 ( ∀ i , a ) ◮ Proof: 1. Start from feasible primal and dual ( x ia = 0, β a = 0, and z i = 0, i.e., Primal=Dual=0). 2. After each assignment, update x , β, z variables and keep primal and dual solutions. 3. Show ∆(Dual) ≤ (1 − 1 e )∆(Primal).
SWM with online items? Special Cases: Online Matching: Disp. Ads (DA): AdWords (AW): v ia = s ia = 1 s ia = 1 s ia = v ia Free Disposal [MSVV,BJN]: Greedy: 1 2 , Worst-Case 1 − 1 [FKMMP09]: e -aprx [KVV]: 1 − 1 e -aprx 1 − 1 e -aprx if B a ≫ b ia . C a ≫ max s ia ◮ Open Problem 1: What about small budgets ( B a ) or small capacities ( C a )? ◮ Open Problem 2: How to generalize large budgets ( B a ) and large capacities ( C a ) for online SWM with online items, and get a 1 − 1 / e -approximation?
Outline ◮ Problems: SWM and Online Ad Allocation ◮ Online Generalized Assignment (GAP) ◮ Page-based Allocation and SWM with online buyers ◮ Stochastic Settings: ◮ Online Stochastic Matching: Primal Algorithms ◮ Online Stochastic Packing: Dual Algorithms ◮ Experimental Results ◮ Simultaneous Stochastic and Adversarial Approximations
Page-based Ad Allocation ◮ Each page can be assigned multiple ads. ◮ Feasible configurations of ads: ◮ Exclusion Constraints: Nike and Adidas ads should not appear on the same page? ◮ All-or-nothing Constraints: Either all ads on the page are from Ford or none. ◮ Diversity Constraints: at most one ad from one advertiser.
Recommend
More recommend