Online algorithm
From Wikipedia, the free encyclopedia
In computer science, an online algorithm is one that can process its input piece-by-piece in a serial fashion, i.e. in the order that the input is fed to the algorithm, without having the entire input available from the start. In contrast, an offline algorithm is given the whole problem data from the beginning and is required to output an answer which solves the problem at hand. (For example, selection sort requires that the entire list be given before it can sort it, while insertion sort doesn't.)
Competitive analysis is the evaluation of the relative performance of an online and offline algorithm for the same problem instance.
A problem exemplifying these concepts is the Canadian Traveller Problem. The goal of this problem is to minimize the cost of reaching a target in a weighted graph where some of the edges are unreliable and may have been removed from the graph. However, that an edge has been removed (failed) is only revealed to the traveller when s/he reaches one of the edge's endpoints. The worst case for this problem is simply that all of the unreliable edges fail and the problem reduces to the usual Shortest Path Problem. An alternative analysis of the problem can be made with the help of competitive analysis. For this method of analysis, the offline algorithm knows in advance which edges will fail and the goal is to minimize the ratio between the online and offline algorithms' performance. This problem is PSPACE-complete.
Contents |
[edit] Online algorithms
The names below are referenced with capital letters since they appear in papers with capital letters. The following are the names of some online algorithms:
- Algorithms for the K-server problem
[edit] See also
- Adversary Model
- Competitive analysis
- Job shop scheduling
- List accessing problem
- Metrical task systems
- Odds algorithm
- Paging Problem
- Real-time computing
- Secretary Problem
- Ski rental problem
[edit] References
- Borodin, A.; El-Yaniv, R. (1998). Online Computation and Competitive Analysis. Cambridge University Press. ISBN 0-521-56392-5. http://www.cs.technion.ac.il/~rani/book.html.