Jump to content

Online algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Oravec (talk | contribs) at 07:34, 30 November 2006 (Added link/request for Paging Problem and Adversary (online algorithm)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer science, an online algorithm is one that can process its input piece-by-piece, 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 is given before it can sort it.)

As an example of the problem consider the problem of finding a shortest path in a finite connected graph when the graph is unknown and the algorithm receives the node neighbours only when it "enters" the node. It is clear that this problem can not be solved optimally without a simple exhaustive search. Thus, new performance measures have to be introduced, such as competitive analysis, which compares the performance of an online algorithm with that of a hypothetical offline algorithm that knows the entire input in advance.

See also

References

  • Borodin, A. (1998). Online Computation and Competitive Analysis. Cambridge University Press. ISBN 0-521-56392-5. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)

Bibliography of papers on online algorithms