Book contents
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
13 - Online Algorithms
from II - Applications
Published online by Cambridge University Press: 05 March 2013
- Frontmatter
- Contents
- Preface
- I Tools and Techniques
- II Applications
- 8 Data Structures
- 9 Geometric Algorithms and Linear Programming
- 10 Graph Algorithms
- 11 Approximate Counting
- 12 Parallel and Distributed Algorithms
- 13 Online Algorithms
- 14 Number Theory and Algebra
- Appendix A Notational Index
- Appendix B Mathematical Background
- Appendix C Basic Probability Theory
- References
- Index
Summary
ALL the algorithms we have studied so far receive their entire inputs at one time. We turn our attention to online algorithms, which receive and process the input in partial amounts. In a typical setting, an online algorithm receives a sequence of requests for service. It must service each request before it receives the next one. In servicing each request, the algorithm has a choice of several alternatives, each with an associated cost. The alternative chosen at a step may influence the costs of alternatives on future requests. Examples of such situations arise in data-structuring, resource-allocation in operating systems, finance, and distributed computing.
In an online setting, it is often meaningless to have an absolute performance measure for an algorithm. This is because in most such settings, any algorithm for processing requests can be forced to incur an unbounded cost by appropriately choosing the input sequence (we study examples of this below); thus, it becomes difficult, if not impossible, to perform a comparison of competing strategies. Consequently, we compare the total cost of the online algorithm on a sequence of requests, to the total cost of an offline algorithm that services the same sequence of requests. We refer to such an analysis of an online algorithm as a competitive analysis; we will make these notions formal presently.
- Type
- Chapter
- Information
- Randomized Algorithms , pp. 368 - 391Publisher: Cambridge University PressPrint publication year: 1995