CPS196 - Fall 1999

Competitive Analysis

Offline: Questions

Background: Theoretical computer scientists have their own way of looking at uncertainty. In online algorithms, we assume that we know the current state, but nothing about the future. We then try to do as well as we can in the worst case.

Consider the following "ski rental" problem. Let's say there is a person named Pat we want to impress and that Pat likes to ski. On any given week, Pat might ask us to go skiing and we are compelled to go. Of course, to ski, we need skis, which we can either rent for one week for $30 or buy for $500. The uncertainty in this problem comes because we don't know if and when Pat will dump us. If we buy the skis, and then Pat dumps us quickly, we wasted our money on skis. But, if we continue to rent indefinitely, and Pat doesn't dump us, we've wasted our money on rentals.

So, in the face of this uncertainty, we need to choose a strategy. How many weeks do want rent before we buy?

Ideally, we'd like to call the Psychic Friends hotline (an "oracle") and find out how long we'll be with Pat. Then, we can choose to rent or buy depending on which is cheaper. But, that would take all the fun out of it, wouldn't it?

Questions:

Notes

We'll also talk about the cow-path problem and the list-access problem.
Modified: Wed Nov 17 14:44:42 EST 1999 by Michael Littman, mlittman@cs.duke.edu