online ad allocation and online submodular welfare
play

Online Ad Allocation, and Online Submodular Welfare Maximization - PowerPoint PPT Presentation

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


  1. Online Ad Allocation, and Online Submodular Welfare Maximization Vahab Mirrokni Google Research, New York March 20, 2012

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

  3. 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]

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

  5. Online Ad Allocation ◮ When a page arrives, assign an eligible ad. ◮ value of assigning page i to ad a : v ia

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

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

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

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

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

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

  12. Greedy Algorithm Assign impression to an advertiser maximizing Marginal Gain = (imp. value - min. impression value).

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

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

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

  16. 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?

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

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

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

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

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

  22. 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]

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

  24. 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 ǫ .

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

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

  27. 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?

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

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend