Algorithm
From GM-RKB
An algorithm is a formal operation composed of a sequence of more basic formal operations.
- AKA: Computer Algorithm, Method, Approach, Computing Procedure.
- Context:
- It must have one or more algorithm outputs.
- It can have zero or more algorithm inputs.
- It can have zero or more tunable parameters.
- It can make use of a data structure.
- It can terminate after some finite number of Formal Operations.
- It can range from being a computationally expensive algorithm to being a computationally inexpensive algorithm.
- It can range from being a memory intensive algorithm to being a memory unintensive algorithm.
- It can follow an Algorithm Strategy, such as:
- It can range from being a Domain Specific Algorithm to being a General Purpose Algorithm (such as an optimization algorithm).
- It can solve a Task, such as how a Word Sense Disambiguation Algorithm can solve a Word Sense Disambiguation Task.
- It can range from being:
- a Deterministic Algorithm, with deterministic transitions between operations.
- to a Randomized Algorithm.
- It can range from being an Offline Algorithm/Batch Algorithm to being an Online Algorithm.
- It can be analyzed by:
- an Algorithm Empirical Analysis (Accuracy, Time, Disk Reads, ...)
- an Algorithm Complexity Analysis (Time Complexity, Space Complexity, etc.)
- It can be modeled by a Universal Turing Machine.
- It can be composed of algorithm components, such as an Algorithm Phase.
- Example(s):
- Counter-Examples:
- A Task, such as a Sorting Task, a Classification Task, or a Busy Beaver Task.
- A Computing System, such as Microsoft Excel, or Google Search Service.
- See: Function, Algorithmic.
References
2009
- http://en.wiktionary.org/wiki/algorithm
- A precise step-by-step plan for a computational procedure that begins with an input value and yields an output value in a finite number of steps.
- (WordNet, 2009) ⇒ http://wordnetweb.princeton.edu/perl/webwn?s=algorithm
- S: (n) algorithm, algorithmic rule, algorithmic program (a precise rule (or set of rules) specifying how to solve some problem)
- (Wikipedia, 2009) ⇒ http://en.wikipedia.org/wiki/Algorithm
- In mathematics, computing, linguistics, and related subjects, an algorithm is an effective method for solving a problem using a finite sequence of instructions. Algorithms are used for calculation, data processing, and many other fields.
- Each algorithm is a list of well-defined instructions for completing a task. Starting from an initial state, the instructions describe a computation that proceeds through a well-defined series of successive states, eventually terminating in a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate randomness.
- A partial formalization of the concept began with attempts to solve the Entscheidungsproblem (the "decision problem") posed by David Hilbert in 1928. Subsequent formalizations were framed as attempts to define "effective calculability" or "effective method"[1]; those formalizations included the Gödel-Herbrand-Kleene recursive functions of 1930, 1934 and 1935, Alonzo Church's lambda calculus of 1936, Emil Post's "Formulation 1" of 1936, and Alan Turing's Turing machines of 1936–7 and 1939.
- (Wikipedia, 2009) ⇒ http://en.wikipedia.org/wiki/List_of_algorithms
2002
- (Melli, 2002) ⇒ Gabor Melli. (2002). "Data Mining Glossary.
- Algorithm: A well specified sequence of steps that accepts an input and produces an output. See also Data Mining Algorithm.
1990
- (Cormen & al, 1990) ⇒ Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest. (1990). "Introduction to Algorithms." MIT Press.
- Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. An algorithm is thus a sequence of computational steps that transform the input into the output.
Cite error:
<ref> tags exist, but no <references/> tag was found