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 running time 5. Handling a private case of the problem 2
Part 1 The budgeted allocation problem 3
The budgeted allocation problem β’ Motivation: online sponsored search advertising 4
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
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
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
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
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
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
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
Part 2 Some basic terms we are going to use 12
Graph representation β’ The graph induced by the fractional allocation: o A bipartite graph over π βͺ π o An edge π, π for every π¦ ππ > 0 o With weight π₯ ππ = π ππ π¦ ππ 13
Active bidders β’ A bidder is active if it has at least one neighbor of degree 2 or more in π» . β’ Otherwise, it is inactive 14
Saturated bidders β’ A bidder is saturated if πππ πΆ π , π ππ π¦ ππ = πΆ π πβπ β’ Otherwise, it is unsaturated 15
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
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
Interesting nodes β’ We round the fractional allocation using interesting nodes β’ There are 4 types of interesting nodes 18
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
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
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
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
Interesting nodes β’ Lemma: a tree that has a keyword with degree more than 1 must have at least one interesting node 23
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
Part 3 The 3/2-approximation algorithm 25
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
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
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
Constructing the feasible solution β’ Type 1 rounding: π π π π π π π π B β Example: i 10 8 0.5 4 k 20 10 0.5 5 29
Constructing the feasible solution β’ Type 1 rounding: π π π π π π π π B β Example: i 7 5 0.6 3 k 25 25 0.4 10 30
Constructing the feasible solution β’ Type 2 rounding: β There are 4 possible ways to round the subgraph 31
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
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
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
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
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
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