Abstract

Motivated by Internet targeted advertising, we address several ad allocation problems. Prior work has established that these problems admit no randomized online algorithm better than (1 - 1/ e )-competitive (see Karp et al. (1990) and Mehta et al. (2007)), yet simple heuristics have been observed to perform much better in practice. We explain this phenomenon by studying a generalization of the bounded-degree inputs considered by Buchbinder et al. (2007), graphs which we call ( k , d )- bounded . In such graphs the maximal degree on the online side is at most d and the minimal degree on the offline side is at least k . We prove that, for such graphs, these problems’ natural greedy algorithms attain a competitive ratio of 1 - d -1/ k + d -1, tending to 1 as d / k tends to zero. We prove this bound is tight for these algorithms. Next, we develop deterministic primal-dual algorithms for the above problems, achieving a competitive ratio of 1−(1 - 1/ d ) k > 1 - &1/ e k / d , or exponentially better loss as a function of k / /d , and strictly better than 1 - 1/e whenever k ≥ d . We complement our lower bounds with matching upper bounds for the vertex-weighted problem. Finally, we use our deterministic algorithms to prove by dual-fitting that simple randomized algorithms achieve the same bounds in expectation. Our algorithms and analysis differ from previous ad allocation algorithms, which largely scale bids based on the spent fraction of their bidder’s budget, whereas we scale bids according to the number of times the bidder could have spent as much as her current bid. Our algorithms differ from previous online primal-dual algorithms in that they do not maintain dual feasibility but only a primal-to-dual ratio and only attain dual feasibility upon termination. We believe our techniques could find applications to other well-behaved online packing problems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call