In online computation a computer algorithm must decide how to act on incoming items of information without any knowledge of future inputs. How should it route the next telephone call? Where in memory should it store a just-closed record? This book provides an in-depth presentation of competitive analysis, an attractive framework within which such problems can be analyzed and solved. In this framework, the quality of an algorithm is measured relative to the best possible performance of an algorithm that has complete knowledge of the future. This methodology for the analysis of online decision making has become a standard approach in computer science. Starting with the basic definitions of the competitive analysis model, the authors present most of the essential techniques through various examples, some of which are among the central problems of the field, such as list accessing, paging in a virtual memory system, routing in a communication network, metrical task systems, k-server systems, load balancing, search, and portfolio selection. The book also shows how competitive analysis relates to more classical subjects such as game theory and decision theory. This is an important text and reference for researchers and graduate students in theoretical computer science and in operations research.
Preface; 1. Introduction to competitive analysis: the list accessing problem; 2. Introduction to randomized algorithms: the list accessing problem; 3. Paging: deterministic algorithms; 4. Paging: randomized algorithms; 5. Alternative models for paging: beyond pure competitive analysis; 6. Game theoretic foundations; 7. Request - answer games; 8. Competitive analysis and zero-sum games; 9. Metrical task systems; 10. The k-server problem; 11. Randomized k-server algorithms; 12. Load-balancing; 13. Call admission and circuit-routing; 14. Search, trading and portfolio selection; 15. Competitive analysis and decision making under uncertainty; Appendices; Bibliography; Index.