Global Information Lookup Global Information

Asymptotically optimal algorithm information


In computer science, an algorithm is said to be asymptotically optimal if, roughly speaking, for large inputs it performs at worst a constant factor (independent of the input size) worse than the best possible algorithm. It is a term commonly encountered in computer science research as a result of widespread use of big-O notation.

More formally, an algorithm is asymptotically optimal with respect to a particular resource if the problem has been proven to require Ω(f(n)) of that resource, and the algorithm has been proven to use only O(f(n)).

These proofs require an assumption of a particular model of computation, i.e., certain restrictions on operations allowable with the input data.

As a simple example, it's known that all comparison sorts require at least Ω(n log n) comparisons in the average and worst cases. Mergesort and heapsort are comparison sorts which perform O(n log n) comparisons, so they are asymptotically optimal in this sense.

If the input data have some a priori properties which can be exploited in construction of algorithms, in addition to comparisons, then asymptotically faster algorithms may be possible. For example, if it is known that the N objects are integers from the range [1, N], then they may be sorted O(N) time, e.g., by the bucket sort.

A consequence of an algorithm being asymptotically optimal is that, for large enough inputs, no algorithm can outperform it by more than a constant factor. For this reason, asymptotically optimal algorithms are often seen as the "end of the line" in research, the attaining of a result that cannot be dramatically improved upon. Conversely, if an algorithm is not asymptotically optimal, this implies that as the input grows in size, the algorithm performs increasingly worse than the best possible algorithm.

In practice it's useful to find algorithms that perform better, even if they do not enjoy any asymptotic advantage. New algorithms may also present advantages such as better performance on specific inputs, decreased use of resources, or being simpler to describe and implement. Thus asymptotically optimal algorithms are not always the "end of the line".

Although asymptotically optimal algorithms are important theoretical results, an asymptotically optimal algorithm might not be used in a number of practical situations:

  • It only outperforms more commonly used methods for n beyond the range of practical input sizes, such as inputs with more bits than could fit in any computer storage system.
  • It is too complex, so that the difficulty of comprehending and implementing it correctly outweighs its potential benefit in the range of input sizes under consideration.
  • The inputs encountered in practice fall into special cases that have more efficient algorithms or that heuristic algorithms with bad worst-case times can nevertheless solve efficiently.
  • On modern computers, hardware optimizations such as memory cache and parallel processing may be "broken" by an asymptotically optimal algorithm (assuming the analysis did not take these hardware optimizations into account). In this case, there could be sub-optimal algorithms that make better use of these features and outperform an optimal algorithm on realistic data.

An example of an asymptotically optimal algorithm not used in practice is Bernard Chazelle's linear-time algorithm for triangulation of a simple polygon. Another is the resizable array data structure published in "Resizable Arrays in Optimal Time and Space",[1] which can index in constant time but on many machines carries a heavy practical penalty compared to ordinary array indexing.

  1. ^ Brodnik, Andrej; Carlsson, Svante; Sedgewick, Robert; Munro, JI; Demaine, ED (1999), Resizable Arrays in Optimal Time and Space (PDF), Department of Computer Science, University of Waterloo

and 19 Related for: Asymptotically optimal algorithm information

Request time (Page generated in 0.832 seconds.)

Asymptotically optimal algorithm

Last Update:

In computer science, an algorithm is said to be asymptotically optimal if, roughly speaking, for large inputs it performs at worst a constant factor (independent...

Word Count : 965

Big O notation

Last Update:

should not be used. Asymptotic expansion: Approximation of functions generalizing Taylor's formula Asymptotically optimal algorithm: A phrase frequently...

Word Count : 8286

Asymptotic computational complexity

Last Update:

also considers nondeterministic algorithms and other advanced models of computation. Asymptotically optimal algorithm Hartmanis, J.; Stearns, R. E. (1965)...

Word Count : 304

Sorting algorithm

Last Update:

sorting algorithms around 1951 was Betty Holberton, who worked on ENIAC and UNIVAC. Bubble sort was analyzed as early as 1956. Asymptotically optimal algorithms...

Word Count : 6394

Algorithm

Last Update:

(hopefully) asymptotically optimal algorithms. The goal is to find a reducing algorithm whose complexity is not dominated by the resulting reduced algorithm's. For...

Word Count : 7339

Streaming algorithm

Last Update:

first algorithm for it was proposed by Flajolet and Martin. In 2010, Daniel Kane, Jelani Nelson and David Woodruff found an asymptotically optimal algorithm...

Word Count : 3578

Matrix multiplication algorithm

Last Update:

Better asymptotic bounds on the time required to multiply matrices have been known since the Strassen's algorithm in the 1960s, but the optimal time (that...

Word Count : 4327

Asymptotic analysis

Last Update:

said to be "asymptotically equivalent to n2, as n → ∞". This is often written symbolically as f (n) ~ n2, which is read as "f(n) is asymptotic to n2". An...

Word Count : 2763

Karatsuba algorithm

Last Update:

Kolmogorov conjectured that the traditional algorithm was asymptotically optimal, meaning that any algorithm for that task would require Ω ( n 2 ) {\displaystyle...

Word Count : 2044

Galactic algorithm

Last Update:

psychological one". A single algorithm, "Hutter search", can solve any well-defined problem in an asymptotically optimal time, barring some caveats. It...

Word Count : 1888

Reinforcement learning

Last Update:

the theory of optimal control, which is concerned mostly with the existence and characterization of optimal solutions, and algorithms for their exact...

Word Count : 6584

Strassen algorithm

Last Update:

algorithm was not optimal. The Strassen algorithm's publication resulted in more research about matrix multiplication that led to both asymptotically...

Word Count : 3393

Bin packing problem

Last Update:

optimal solutions to very large instances of the problem can be produced with sophisticated algorithms. In addition, many approximation algorithms exist...

Word Count : 7139

Jelani Nelson

Last Update:

Johnson-Lindenstrauss Transform (with Daniel Kane), and an asymptotically optimal algorithm for the count-distinct problem (with Daniel Kane and David...

Word Count : 1270

Median of medians

Last Update:

approximate median-selection algorithm that helps building an asymptotically optimal, exact general selection algorithm (especially in the sense of worst-case...

Word Count : 2554

Ensemble learning

Last Update:

Bayes optimal classifier represents a hypothesis that is not necessarily in H {\displaystyle H} . The hypothesis represented by the Bayes optimal classifier...

Word Count : 6612

List of algorithms

Last Update:

Schönhage–Strassen algorithm: an asymptotically fast multiplication algorithm for large integers Toom–Cook multiplication: (Toom3) a multiplication algorithm for large...

Word Count : 7835

External memory algorithm

Last Update:

running time possible for these operations, so using a B-tree is asymptotically optimal. External sorting is sorting in an external memory setting. External...

Word Count : 1031

Approximation algorithm

Last Update:

guarantees on the distance of the returned solution to the optimal one. Approximation algorithms naturally arise in the field of theoretical computer science...

Word Count : 2775

PDF Search Engine © AllGlobal.net