Improved Approximation Algorithms for Budgeted Allocations Lecture - - PowerPoint PPT Presentation

β–Ά
improved approximation
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Improved Approximation Algorithms for Budgeted Allocations

slide-2
SLIDE 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

slide-3
SLIDE 3

Part 1

The budgeted allocation problem

3

slide-4
SLIDE 4

The budgeted allocation problem

  • Motivation: online sponsored search advertising

4

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

Part 2

Some basic terms we are going to use

12

slide-13
SLIDE 13

Graph representation

  • The graph induced by the fractional allocation:
  • A bipartite graph over 𝑉 βˆͺ π‘Š
  • An edge 𝑗, π‘˜ for every π‘¦π‘—π‘˜ > 0
  • With weight π‘₯π‘—π‘˜ = π‘π‘—π‘˜π‘¦π‘—π‘˜

13

slide-14
SLIDE 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

slide-15
SLIDE 15

Saturated bidders

  • A bidder is saturated if π‘›π‘—π‘œ 𝐢𝑗,

π‘π‘—π‘˜π‘¦π‘—π‘˜

π‘˜βˆˆπ‘Š

= 𝐢𝑗

  • Otherwise, it is unsaturated

15

slide-16
SLIDE 16

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

slide-17
SLIDE 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

slide-18
SLIDE 18

Interesting nodes

  • We round the fractional allocation using interesting nodes
  • There are 4 types of interesting nodes

18

slide-19
SLIDE 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

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 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

slide-23
SLIDE 23

Interesting nodes

  • Lemma: a tree that has a keyword with degree more than 1

must have at least one interesting node

23

slide-24
SLIDE 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 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

slide-25
SLIDE 25

Part 3

The 3/2-approximation algorithm

25

slide-26
SLIDE 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:
  • The degree of at least one keyword becomes 1
  • At least one active bidder becomes inactive
  • The result – a feasible allocation

26

slide-27
SLIDE 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

slide-28
SLIDE 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

slide-29
SLIDE 29

Constructing the feasible solution

  • Type 1 rounding:

– Example:

π’„π’Œπ’šπ’Œ π’šπ’Œ π’„π’Œ B 4 0.5 8 10 i 5 0.5 10 20 k

29

slide-30
SLIDE 30

Constructing the feasible solution

  • Type 1 rounding:

– Example:

π’„π’Œπ’šπ’Œ π’šπ’Œ π’„π’Œ B 3 0.6 5 7 i 10 0.4 25 25 k

30

slide-31
SLIDE 31

Constructing the feasible solution

  • Type 2 rounding:

– There are 4 possible ways to round the subgraph

31

slide-32
SLIDE 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

slide-33
SLIDE 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

slide-34
SLIDE 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

slide-35
SLIDE 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

slide-36
SLIDE 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

slide-37
SLIDE 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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

Constructing the feasible solution

The algorithm: example

40

slide-41
SLIDE 41

Constructing the feasible solution

The algorithm: example

41

slide-42
SLIDE 42

Constructing the feasible solution

The algorithm: example

42

slide-43
SLIDE 43

Constructing the feasible solution

The algorithm: example

43

slide-44
SLIDE 44

Constructing the feasible solution

The algorithm: example

44

slide-45
SLIDE 45

Constructing the feasible solution

The algorithm: example

45

slide-46
SLIDE 46

Constructing the feasible solution

The algorithm: example

46

slide-47
SLIDE 47

Part 4

Correctness and running time

47

slide-48
SLIDE 48

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

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

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

slide-56
SLIDE 56

3/2-approximation

  • Conclusion:

– Our algorithm is a polynomial time 3/2- approximation for the Budgeted Allocation problem

56

slide-57
SLIDE 57

Part 5

The uniform version

57

slide-58
SLIDE 58

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

slide-59
SLIDE 59

Questions?

59