improved approximation
play

Improved Approximation Algorithms for Budgeted Allocations Lecture - PowerPoint PPT Presentation

Improved Approximation Algorithms for Budgeted Allocations Lecture outlines 1. Presenting the budgeted allocation problem 2. Defining some basic terms we are going to use 3. The 3/2-approximation algorithm 4. Analyzing its correctness and


  1. Improved Approximation Algorithms for Budgeted Allocations

  2. Lecture outlines 1. Presenting the budgeted allocation problem 2. Defining some basic terms we are going to use 3. The 3/2-approximation algorithm 4. Analyzing its correctness and running time 5. Handling a private case of the problem 2

  3. Part 1 The budgeted allocation problem 3

  4. The budgeted allocation problem β€’ Motivation: online sponsored search advertising 4

  5. The budgeted allocation problem β€’ Our model: o π‘Š - a set of keywords o 𝑉 - a set of bidders o Each bidder 𝑗 ∈ 𝑉 has: o A known daily budget 𝐢 𝑗 o A nonnegative bid 𝑐 π‘—π‘˜ for every keyword π‘˜ ∈ π‘Š o The profit extracted from a bidder is the minimum between: o His budget, 𝐢 𝑗 o The sum of the 𝑐 π‘—π‘˜ ’s for keywords allocated to it 5

  6. The budgeted allocation problem β€’ Our goal: to find an allocation of keywords to bidders that maximizes the total profit o The sum of the profits extracted from all bidders 6

  7. The budgeted allocation problem β€’ The online version: o The keywords arrive one-by-one in an online fashion o The bids for keyword π‘˜ ∈ π‘Š are revealed only when π‘˜ arrives o Then, we allocate the keyword to one of the bidders 7

  8. The budgeted allocation problem β€’ The offline version: o We can see all of the bids before allocating keywords o We assume that 𝑛𝑏𝑦 𝑗,π‘˜ 𝑐 π‘—π‘˜ ≀ π‘›π‘—π‘œ 𝑗 𝐢 𝑗 o Two versions: o Uniform: o each keyword π‘˜ ∈ π‘Š has a single price 𝑐 π‘˜ o 𝑐 π‘—π‘˜ ∈ 0, 𝑐 π‘˜ o Non-uniform: o the 𝑐 π‘—π‘˜ values can be arbitrary for each 𝑗, π‘˜ 8

  9. The budgeted allocation problem β€’ The non-uniform version representation: o π‘Š - the group of keywords o 𝑉 - the group of bidders o 𝐢 𝑗 - the budget of bidder 𝑗 o 𝑐 π‘—π‘˜ - the bid of bidder 𝑗 for keyword π‘˜ o 𝑦 π‘—π‘˜ - represent whether keyword π‘˜ is allocated to bidder 𝑗 o Our goal: 𝑦 π‘—π‘˜ ≀ 1 βˆ€π‘˜ ∈ π‘Š 𝑛𝑏𝑦 π‘›π‘—π‘œ 𝐢 𝑗 , 𝑐 π‘—π‘˜ 𝑦 π‘—π‘˜ 𝑑. 𝑒. π‘—βˆˆπ‘‰ 𝑦 π‘—π‘˜ ∈ 0,1 βˆ€π‘— ∈ 𝑉, π‘˜ ∈ π‘Š π‘—βˆˆπ‘‰ π‘˜βˆˆπ‘Š 9

  10. The fractional allocation β€’ We are going to use o A linear relaxation of our integer program 𝑦 π‘—π‘˜ ≀ 1 βˆ€π‘˜ ∈ π‘Š 𝑛𝑏𝑦 π‘›π‘—π‘œ 𝐢 𝑗 , 𝑐 π‘—π‘˜ 𝑦 π‘—π‘˜ 𝑑. 𝑒. π‘—βˆˆπ‘‰ 0 ≀ 𝑦 π‘—π‘˜ ≀ 1 βˆ€π‘— ∈ 𝑉, π‘˜ ∈ π‘Š π‘—βˆˆπ‘‰ π‘˜βˆˆπ‘Š 𝒋 π‘ͺ 𝒋 𝒄 π’‹πŸ 𝒄 π’‹πŸ‘ 1 10 10 8 2 20 10 0 3 16 0 16 10

  11. The fractional allocation β€’ We are going to use o A linear relaxation of our integer program 𝑦 π‘—π‘˜ ≀ 1 βˆ€π‘˜ ∈ π‘Š 𝑛𝑏𝑦 π‘›π‘—π‘œ 𝐢 𝑗 , 𝑐 π‘—π‘˜ 𝑦 π‘—π‘˜ 𝑑. 𝑒. π‘—βˆˆπ‘‰ 0 ≀ 𝑦 π‘—π‘˜ ≀ 1 βˆ€π‘— ∈ 𝑉, π‘˜ ∈ π‘Š π‘—βˆˆπ‘‰ π‘˜βˆˆπ‘Š o An algorithm for rounding the optimal fractional solution o Our solution is feasible o The total profit loss is no larger than 1/3 of the profit of the optimal solution 11

  12. Part 2 Some basic terms we are going to use 12

  13. Graph representation β€’ The graph induced by the fractional allocation: o A bipartite graph over 𝑉 βˆͺ π‘Š o An edge 𝑗, π‘˜ for every 𝑦 π‘—π‘˜ > 0 o With weight π‘₯ π‘—π‘˜ = 𝑐 π‘—π‘˜ 𝑦 π‘—π‘˜ 13

  14. Active bidders β€’ A bidder is active if it has at least one neighbor of degree 2 or more in 𝐻 . β€’ Otherwise, it is inactive 14

  15. Saturated bidders β€’ A bidder is saturated if π‘›π‘—π‘œ 𝐢 𝑗 , 𝑐 π‘—π‘˜ 𝑦 π‘—π‘˜ = 𝐢 𝑗 π‘˜βˆˆπ‘Š β€’ Otherwise, it is unsaturated 15

  16. Saturated bidders β€’ Given a feasible allocation for the fractional version, it’s possible to create a graph 𝐻 s.t. o 𝐻 represents a solution with no loss of profit regarding the given allocation o 𝐻 is a forest o There is at most 1 unsaturated bidder per tree o If there is such bidder, it’s placed at the root of the tree o If there isn’t, an arbitrary bidder is placed at the root β€’ It is possible to construct 𝐻 in polynomial time 16

  17. k-chains β€’ Consider a path 𝑗 1 , π‘˜ 1 , 𝑗 2 , π‘˜ 2 , … , 𝑗 π‘™βˆ’1 , π‘˜ π‘™βˆ’1 , 𝑗 𝑙 – Consisting of 2𝑙 βˆ’ 1 nodes – Starting and ending with a bidder – Such that β€’ The keywords all have degree exactly 2 β€’ Bidder 𝑗 1 is the highest node on the path β€’ For all other bidders 𝑗 2 , 𝑗 3 , … , 𝑗 𝑙 – Any keyword not on the path that is adjacent to bidder 𝑗 π‘š has degree exactly 1 β€’ The graph formed by this path is a 𝑙 βˆ’ π‘‘β„Žπ‘π‘—π‘œ 17

  18. Interesting nodes β€’ We round the fractional allocation using interesting nodes β€’ There are 4 types of interesting nodes 18

  19. Interesting nodes β€’ We round the fractional allocation using interesting nodes β€’ There are 4 types of interesting nodes: 1. The root of the whole tree, if the tree consists of a 2-chain 19

  20. Interesting nodes β€’ We round the fractional allocation using interesting nodes β€’ There are 4 types of interesting nodes: A bidder 𝑀 who’s subtree contains at least one 3-chain rooted at 𝑀 2. 20

  21. Interesting nodes β€’ We round the fractional allocation using interesting nodes β€’ There are 4 types of interesting nodes: A bidder 𝑀 who’s subtree consists of more than one 2-chain rooted 3. at 𝑀 21

  22. Interesting nodes β€’ We round the fractional allocation using interesting nodes β€’ There are 4 types of interesting nodes: 4. A keyword with at least 2 children, such that each child is a root of a 1-chain or a 2-chain 22

  23. Interesting nodes β€’ Lemma: a tree that has a keyword with degree more than 1 must have at least one interesting node 23

  24. Interesting nodes β€’ Partial proof: – Given a tree, we can ignore keywords with degree 1 β€’ Since they don’t affect k -chains – Therefore, we can assume all leaves are bidders – There are several possible cases: 1. There is only one keyword in the tree – the first type 2. All keywords have no grandsons – the third or fourth type Let π‘˜ be a keyword with distance ≀ 3 from all of its descendants 3. 1. If it has more than one son – the third or the fourth type 2. If its only son has two or more sons – the third or the fourth type 3. If its only son has exactly one son – the second or the fourth type 4. If its only son has no sons – find another keyword 24

  25. Part 3 The 3/2-approximation algorithm 25

  26. Constructing the feasible solution β€’ We are going to turn the fractional allocation into a feasible one β€’ We will do it in iterations β€’ at each iteration: o The degree of at least one keyword becomes 1 o At least one active bidder becomes inactive β€’ The result – a feasible allocation 26

  27. Constructing the feasible solution β€’ Rounding subgraphs: β€’ The act of reducing the degree of at least one keyword in the subgraph β€’ There are 4 types of roundings – Each one is related to a different kind of an interesting node β€’ Reminder: a tree that has a keyword with degree more than 1 must have at least one interesting node 27

  28. Constructing the feasible solution β€’ Type 1 rounding: – 𝑗 is the interesting node β€’ Can be unsaturated, with unused budget – π‘˜ is its child of degree 2 – 𝑙 is its grandchild β€’ It’s saturated – There are two ways to round the subgraph β€’ We choose the one that incurs the smaller loss 28

  29. Constructing the feasible solution β€’ Type 1 rounding: 𝒄 π’Œ π’š π’Œ 𝒄 π’Œ π’š π’Œ B – Example: i 10 8 0.5 4 k 20 10 0.5 5 29

  30. Constructing the feasible solution β€’ Type 1 rounding: 𝒄 π’Œ π’š π’Œ 𝒄 π’Œ π’š π’Œ B – Example: i 7 5 0.6 3 k 25 25 0.4 10 30

  31. Constructing the feasible solution β€’ Type 2 rounding: – There are 4 possible ways to round the subgraph 31

  32. Constructing the feasible solution β€’ Type 3 rounding: – We take a partial subtree rooted at the interesting node – And proceed as in type 2 rounding 32

  33. Constructing the feasible solution β€’ Type 4 rounding: – There are 3 possible cases: 1. There are no 2-chains attached to the interesting node 2. There are no 1-chains attached to the interesting node 3. There are at least one 1-chain and one 2-chain attached to the interesting node – Each one is treated differently 33

  34. Constructing the feasible solution β€’ Type 4 rounding: first case – There are no 2-chains attached to the interesting node β€’ We retain the edge with the largest weight and delete all others 34

  35. Constructing the feasible solution β€’ Type 4 rounding: second case – There are no 1-chains attached to the interesting node β€’ While it’s possible, we choose 3-chains and treat them like in type 2 rounding 35

  36. Constructing the feasible solution β€’ Type 4 rounding: second case – There are no 1-chains attached to the interesting node β€’ While it’s possible, we choose 3-chains and treat them like in type 2 rounding 36

  37. Constructing the feasible solution β€’ Type 4 rounding: third case – There are at least one 1-chain and one 2-chain attached to the interesting node β€’ We choose an 1-chain and a 2-chain, and treat them as in type 2 rounding 37

Recommend


More recommend