Algorithm that begins on possibly incomplete inputs
Not to be confused with online and offline.
In computer science, an online algorithm[1] 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. In operations research, the area in which online algorithms are developed is called online optimization.
As an example, consider the sorting algorithms selection sort and insertion sort: selection sort repeatedly selects the minimum element from the unsorted remainder and places it at the front, which requires access to the entire input; it is thus an offline algorithm. On the other hand, insertion sort considers one input element per iteration and produces a partial solution without considering future elements. Thus insertion sort is an online algorithm.
Note that the final result of an insertion sort is optimum, i.e., a correctly sorted list. For many problems, online algorithms cannot match the performance of offline algorithms. If the ratio between the performance of an online algorithm and an optimal offline algorithm is bounded, the online algorithm is called competitive.[1]
Not every offline algorithm has an efficient online counterpart.
In grammar theory they are associated with Straight-line grammars.
^ abKarp, Richard M. (1992). "On-line algorithms versus off-line algorithms: How much is it worth to know the future?" (PDF). IFIP Congress (1). 12: 416–429. Retrieved 17 August 2015.
an onlinealgorithm 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...
generated as a function of time, e.g., stock price prediction. Online learning algorithms may be prone to catastrophic interference, a problem that can...
Algorithms for calculating variance play a major role in computational statistics. A key difficulty in the design of good algorithms for this problem is...
produced with sophisticated algorithms. In addition, many approximation algorithms exist. For example, the first fit algorithm provides a fast but often...
(primary storage and processor time) of the algorithm itself. The page replacing problem is a typical online problem from the competitive analysis perspective...
In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/ ) is a finite sequence of mathematically rigorous instructions, typically used to solve...
affects is ongoing Onlinealgorithm – Algorithm that begins on possibly incomplete inputs Online and offline algorithms – Algorithm that begins on possibly...
problem is a simple model used in the study of competitive analysis of onlinealgorithms. Given a set of items in a list where the cost of accessing an item...
Implementation Las Vegas algorithm Lock-free and wait-free algorithms Monte Carlo algorithm Numerical analysis Onlinealgorithm Polynomial time approximation...
computer science, an onlinealgorithm measures its competitiveness against different adversary models. For deterministic algorithms, the adversary is the...
longest increasing subsequence has also been studied in the setting of onlinealgorithms, in which the elements of a sequence of independent random variables...
once. A famous online problem where a decision is made only once is the Ski rental problem. In general, the output of an onlinealgorithm is compared to...
applicable in the online setting if the online bin packing algorithm belongs to the class Super Harmonic. Thus, Seiden's online bin packing algorithm Harmonic++...
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random...
In computer science, streaming algorithms are algorithms for processing data streams in which the input is presented as a sequence of items and can be...
An algorithm is fundamentally a set of rules or defined procedures that is typically designed and used to solve a specific problem or a broad set of problems...
In computer science, a sorting algorithm is an algorithm that puts elements of a list into an order. The most frequently used orders are numerical order...
genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA)....
possible output before terminating E-mail bomb Fork bomb Logic bomb Onlinealgorithm, limit discovered rather than declared at 14:35, John Leyden 23 Jul...
traversal. It is an online problem, meaning that the information about the graph is only revealed during the runtime of the algorithm. A common model is...
Online casinos, also known as virtual casinos or Internet casinos, are online versions of traditional ("brick and mortar") casinos. Online casinos enable...
In the theory of onlinealgorithms and optimal stopping, a prophet inequality is a bound on the expected value of a decision-making process that handles...
Competitive analysis (onlinealgorithm) – shows how onlinealgorithms perform and demonstrates the power of randomization in algorithms Lexical analysis –...
In computing, external memory algorithms or out-of-core algorithms are algorithms that are designed to process data that are too large to fit into a computer's...