Catch them if you can: how to serve impatient users

  • Authors:
  • Marek Cygan;Matthias Englert;Anupam Gupta;Marcin Mucha;Piotr Sankowski

  • Affiliations:
  • University of Warsaw, Warszawa, Poland;University of Warwick, Coventry, United Kingdom;Carnegie Mellon University, Pittsburgh, PA, USA;University of Warsaw, Warszawa, Poland;University of Warsaw, Warszawa, Poland

  • Venue:
  • Proceedings of the 4th conference on Innovations in Theoretical Computer Science
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consider the following problem of serving impatient users: we are given a set of customers we would like to serve. We can serve at most one customer in each time step (getting value vi for serving customer i). At the end of each time step, each as-yet-unserved customer i leaves the system independently with probability qi, never to return. What strategy should we use to serve customers to maximize the expected value collected? The standard model of competitive analysis can be applied to this problem: picking the customer with maximum value gives us half the value obtained by the optimal algorithm, and using a vertex weighted online matching algorithm gives us 1-1/e ~ 0.632 fraction of the optimum. As is usual in competitive analysis, these approximations compare to the best value achievable by an clairvoyant adversary that knows all the coin tosses of the customers. Can we do better? We show an upper bound of ~0.648 if we compare our performance to such an clairvoyant algorithm, suggesting we cannot improve our performance substantially. However, these are pessimistic comparisons to a much stronger adversary: what if we compare ourselves to the optimal strategy for this problem, which does not have an unfair advantage? In this case, we can do much better: in particular, we give an algorithm whose expected value is at least 0.7 of that achievable by the optimal algorithm. This improvement is achieved via a novel rounding algorithm, and a non-local analysis.