Improved Approximation Algorithms for Budgeted Allocations Lecture - - PowerPoint PPT Presentation
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
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:
- π - a set of keywords
- π - a set of bidders
- Each bidder π β π has:
- A known daily budget πΆπ
- A nonnegative bid πππ for every keyword π β π
- The profit extracted from a bidder is the minimum
between:
- His budget, πΆπ
- 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
- The sum of the profits extracted from all bidders
6
The budgeted allocation problem
- The online version:
- The keywords arrive one-by-one in an online fashion
- The bids for keyword π β π are revealed only when π
arrives
- Then, we allocate the keyword to one of the bidders
7
The budgeted allocation problem
- The offline version:
- We can see all of the bids before allocating keywords
- We assume that πππ¦π,ππππ β€ πππππΆπ
- Two versions:
- Uniform:
- each keyword π β π has a single price π
π
- πππ β 0, π
π
- Non-uniform:
- the πππ values can be arbitrary for each π, π
8
The budgeted allocation problem
- The non-uniform version representation:
- π - the group of keywords
- π - the group of bidders
- πΆπ - the budget of bidder π
- πππ - the bid of bidder π for keyword π
- π¦ππ - represent whether keyword π is allocated to bidder π
- Our goal:
πππ¦ πππ πΆπ, ππππ¦ππ
πβπ πβπ
π‘. π’. π¦ππ
πβπ
β€ 1 βπ β π π¦ππ β 0,1 βπ β π, π β π
9
The fractional allocation
- We are going to use
- A linear relaxation of our integer program
πππ¦ πππ πΆπ, ππππ¦ππ
πβπ πβπ
π‘. π’. π¦ππ
πβπ
β€ 1 βπ β π 0 β€ π¦ππ β€ 1 βπ β π, π β π
πππ πππ πͺπ π 8 10 10 1 10 20 2 16 16 3
10
The fractional allocation
- We are going to use
- A linear relaxation of our integer program
πππ¦ πππ πΆπ, ππππ¦ππ
πβπ πβπ
π‘. π’. π¦ππ
πβπ
β€ 1 βπ β π 0 β€ π¦ππ β€ 1 βπ β π, π β π
- An algorithm for rounding the optimal fractional
solution
- Our solution is feasible
- The total profit loss is no larger than 1/3 of the profit of the
- ptimal solution
11
Part 2
Some basic terms we are going to use
12
Graph representation
- The graph induced by the fractional allocation:
- A bipartite graph over π βͺ π
- An edge π, π for every π¦ππ > 0
- 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.
- π» represents a solution with no loss of profit regarding the given
allocation
- π» is a forest
- There is at most 1 unsaturated bidder per tree
- If there is such bidder, itβs placed at the root of the tree
- 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:
2. A bidder π€ whoβs subtree contains at least one 3-chain rooted at π€
20
Interesting nodes
- We round the fractional allocation using interesting nodes
- There are 4 types of interesting nodes:
3. A bidder π€ whoβs subtree consists of more than one 2-chain rooted 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 3. Let π be a keyword with distance β€ 3 from all of its descendants 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:
- The degree of at least one keyword becomes 1
- 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:
β Example:
ππππ ππ ππ B 4 0.5 8 10 i 5 0.5 10 20 k
29
Constructing the feasible solution
- Type 1 rounding:
β Example:
ππππ ππ ππ B 3 0.6 5 7 i 10 0.4 25 25 k
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
Constructing the feasible solution
The algorithm:
1. Solve the following LP to get an optimal solution π¦ with induced graph π»:
πππ¦ πππ πΆπ, ππππ¦ππ
πβπ πβπ
π‘. π’. π¦ππ
πβπ
β€ 1 βπ β π 0 β€ π¦ππ β€ 1 βπ β π, π β π
2. Transform π» into a forest with β€ 1 unsaturated bidder per tree 3. While π» contains active bidders do:
1. Round the subgraph associated to an interesting node according to its type 2. Transform π» into a forest with β€ 1 unsaturated bidder per tree
4. Allocate each keyword to its unique adjacent bidder in π»
38
Constructing the feasible solution
The algorithm: example
πππ β¦. β¦. πππ πππ πͺπ bidders 15 β¦. β¦. 13 10 25 1 12 β¦. β¦. 12 4 30 2 9 β¦. β¦. 8 5 16 3 β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. β¦. 2 β¦. β¦. 10 7 50 n
39
Constructing the feasible solution
The algorithm: example
40
Constructing the feasible solution
The algorithm: example
41
Constructing the feasible solution
The algorithm: example
42
Constructing the feasible solution
The algorithm: example
43
Constructing the feasible solution
The algorithm: example
44
Constructing the feasible solution
The algorithm: example
45
Constructing the feasible solution
The algorithm: example
46
Part 4
Correctness and running time
47
Termination
- At each iteration, at least one bidder becomes inactive
β Because rounding is always possible
- Inactive bidders canβt become active
- When there are no more active bidders, the algorithm
terminates
48
feasibility
- The rounding subroutines maintain feasibility
- in the end:
β There are no active bidders β The degree of each keyword is at most one
- Each keyword is allocated to its unique adjacent bidder in π»
49
Profit loss
- Claim: the loss of each rounding subroutine is no more than
1/3 of the bidders that become inactive
- Total loss: no more than 1/3 of the optimal fractional solution
β Since each bidder becomes inactive only once
- Conclusion: our algorithm is a 3/2-approximation
β Since the optimal solution is also a fractional solution
50
Profit loss
- Claim: the loss of each rounding subroutine is no more than
1/3 of the bidders that become inactive
- Partial proof:
β We assume that 0 β€ πππ β€ 1 for every bidder π and keyword π β Reminder: 1 = πππ¦π,ππππ β€ πππππΆπ β We will use type 4 roundings as examples β The type 1, type 2 and type 3 roundings are more complicated to analyze
51
Profit loss
- Partial proof: first case
- There are no 2-chains attached to the interesting node
- There are β 1-chains attached to it (β β₯ 1)
- π¦π β€ 1 and πππ β€ 1 for every π
- Therefore, the sum of the bids on the edges, π¦ππππ , is at most 1
- Among the β + 1 edges, the maximal weight is at least
1 β+1
- The sum of the bids on the deleted edges is at most
β β+1
- At least β bidders become inactive
- All of them were saturated, so their total profit was at least β
- The total loss is no more than
β β+1 β€ β 2+1 = 1 3 β β
52
Profit loss
- Partial proof: second case
- There are no 1-chains attached to the interesting node
- There are π 2-chains attached to it (k β₯ 1)
- In every rounding step, the total loss is at most 2/3 (type 2 rounding)
- After the process ends, at least 2π bidders become inactive
- All of them were saturated, so their total profit was at least 2π
- The total loss is no more than
2 3 β π = 1 3 β 2π
53
Profit loss
- Partial proof: third case
- There are at least one 1-chain and at least one 2-chain attached to the
interesting node
- In the rounding step, the total loss is at most 2/3 (type 2 rounding)
- At least 2 bidders become inactive
- All of them were saturated, so their total profit was at least 2
- The total loss is no more than
2 3 = 1 3 β 2
54
Running time
- The rounding subroutines take polynomial time
- Transforming π» into a forest with β€ 1 unsaturated bidder per
tree takes polynomial time
- In each iteration, at least one bidder becomes inactive
β Polynomial number of iterations
- Therefore, the running time of the algorithm is polynomial
55
3/2-approximation
- Conclusion:
β Our algorithm is a polynomial time 3/2- approximation for the Budgeted Allocation problem
56
Part 5
The uniform version
57
A 2-approximation for the uniform version
- Reminder: in the uniform version, each keyword π β π has a
single price π
π
- The algorithm stays the same
- Only the profit loss analysis changes
- We also consider bidders that donβt become inactive
- The analysis may apply to the non-uniform version of the
problem
58
Questions?
59