Definition: An algorithm whose behavior, by design, is independent of some property that influences a typical algorithm for the same problem.
Generalization (I am a kind of ...)
Specialization (... is a kind of me.)
Note: For example, an oblivious sort algorithm always makes the same comparisons, regardless of the input. This is useful for external sorts, since there is a fixed I/O schedule, or parallel algorithms, like bitonic sort.
Other types of oblivious algorithms are cache oblivious, which are not dependent on hardware parameters like cache size and cache-line length, and oblivious routing, which route packets independent of the network topology, the history of traffic flow, or the congestion.
If you have suggestions, corrections, or comments, please get in touch with Paul E. Black.
Entry modified 10 January 2007.
HTML page formatted Fri Mar 25 16:20:34 2011.
Cite this as:
Paul E. Black, "oblivious algorithm", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed., U.S. National Institute of Standards and Technology. 10 January 2007. (accessed TODAY) Available from: http://www.nist.gov/dads/HTML/obliviousAlgorithm.html