How do you model the future?. Stochastic approach: The future can be modeled as a distribution over possible events. Very successful in many contexts. Alternative: Think of the future as an adversary, do well against all possible future outcomes. Toy Example: Ski Optimization.
How do you model the future? • Stochastic approach: The future can be modeled as a distribution over possible events. • Very successful in many contexts. • Alternative: Think of the future as an adversary, do well against all possible future outcomes.
Toy Example: Ski Optimization • I decide to take up skiing. • Should I rent or buy skis? • Uncertainty: • Will I like skiing? • Will there be snow? • Will I break my leg? • Will the government outlaw skiing? • I want to have a good strategy against all possible outcomes In this case an outcome is the number of times I wind up going skiing.
Ski Rental • A pair of skis (and boots) costs $300. • A ski rental costs $50. • What should you do? • How do you evaluate if you did the right thing? • You give a strategy (algorithm) • You compare against how well someone who knows that future could do. • You take the worst case and call that the competitive ratio
Ski Rental • Let A be my algorithm. • Let OPT be the behavior of someone who knows the future • Consider any realization of the future I (number of times I actually ski) • Competetive ratio • We want a strategy with a small competitive ratio
Algorithm 1: Buy Competitive ratio = 6
Algorithm 2: Rent Competitive ratio = lots
Algorithm 3: Rent 6 times and then buy Competitive ratio = 2
Lessons • Without knowing the future, you can guarantee that no matter what happens, you will never spend more than twice what anyone could have spent. • A good algorithm balances different bad outcomes • If you allow randomization, you can decrease the competetive ratio to e/(e-1), around 1.58.