What is the origin of the word "algorithm"?
Algorithm
The word "algorithm" itself derives from the 9th century mathematician Muḥammad ibn Mūsā al-Khwārizmī, Latinized "Algoritmi". A partial formalization of what would become the modern concept of algorithm began with attempts to solve the Entscheidungsproblem (decision problem) posed by David Hilbert in 1928. Later formalizations were framed as attempts to define "effective calculability" or "effective method". 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–37 and 1939.
Freeman-Walter-Abele Test
The court limited the term "algorithm" to mathematical algorithms or formulas. The court did not consider Freeman's step to be a formula or algorithm, and therefore reversed the PTO's claim rejections.
Algorithmic art
"Algorist" is a term used for digital artists who create algorithmic art.
Roman Verostko
Roman Verostko (born September 12, 1929) is an American artist and educator who creates code-generated imagery, known as algorithmic art. Verostko developed his own software for generating original art based on form ideas he had developed as an artist in the 1960s. His software controls the drawing arm of a machine known as a pen plotter that was designed primarily for engineering and architectural drawing. In coding his software Verostko conceives of the machine's drawing arm as an extension or prosthesis for his own drawing arm. The plotter normally draws with ink pens but Verostko adapted oriental brushes to fit the drawing arm and wrote interactive routines for achieving brush strokes with his plotters. In 1995, he co-founded the Algorists with Jean-Pierre Hébert.
Algorithm
One of the simplest algorithms is to find the largest number in a list of numbers of random order. Finding the solution requires looking at every number in the list. From this follows a simple algorithm, which can be stated in a high-level description in English prose, as:
Memetic algorithm
Inspired by both Darwinian principles of natural evolution and Dawkins' notion of a meme, the term “Memetic Algorithm” (MA) was introduced by Moscato in his technical report in 1989
where he viewed MA as being close to a form of population-based hybrid genetic algorithm (GA) coupled with an individual learning procedure capable of performing local refinements. The metaphorical parallels, on the one hand, to Darwinian evolution and, on the other hand, between memes and domain specific (local search) heuristics are captured within memetic algorithms thus rendering a methodology that balances well between generality and problem specificity. This two-stage nature makes them a special case of Dual-phase evolution.
Algorithm
In computer systems, an algorithm is basically an instance of logic written in software by software developers, to be effective for the intended "target" computer(s) to produce "output" from given (perhaps null) "input". An optimal algorithm, even running in old hardware, would produce faster results than a non-optimal (higher time complexity) algorithm for the same purpose, running in more efficient hardware; that is why algorithms, like computer hardware, are considered technology.
Algorithm
The concept of "algorithm" is also used to define the notion of decidability. That notion is central for explaining how formal systems come into being starting from a small set of axioms and rules. In logic, the time that an algorithm requires to complete cannot be measured, as it is not apparently related to our customary physical dimension. From such uncertainties, that characterize ongoing work, stems the unavailability of a definition of "algorithm" that suits both concrete (in some sense) and abstract usage of the term.
Julie Beth Lovins
A stemming algorithm is the process of taking a word with suffixes and reducing it to its root, or base word. Stemming algorithms are used to improve the accuracy in information retrieval and in domain analysis. These algorithms help find variants of the terms being looked up. Stemming algorithms are helpful because it is likely that users who look up a particular word might be interested in related words. Stemming algorithms are prevalent in search engines, such as Google's, which did not implement word stemming until 2003. This means that up until 2003, a Google search for the word "warm" would not have returned related words like "warmth" or "warming".
Technocracy
The term "technocracy" is derived from the Greek words τέχνη, "tekhne" meaning "skill" and κράτος, "kratos" meaning "power", as in "governance", or "rule". William Henry Smyth, a Californian engineer, is usually credited with inventing the word "technocracy" in 1919 to describe "the rule of the people made effective through the agency of their servants, the scientists and engineers", although the word had been used before on several occasions. Smyth used the term "Technocracy" in his 1919 article "'Technocracy'—Ways and Means to Gain Industrial Democracy," in the journal "Industrial Management" (57). Smyth's usage referred to Industrial democracy: a movement to integrate workers into decision making through existing firms or revolution.
Helith
The origin of the name came from accident German where the word Helith means "Heroes". It was chosen because the group beliefs that nobody cares for those who are poor or those who did not had the same chances like studied hackers. It was also chosen to point out that the members just do what they are ready to do even if it conflicts with laws or civil restrictions like beliefs or ethics.
Evolutionary ideas of the Renaissance and Enlightenment
The word "evolution" (from the Latin "evolutio", meaning "to unroll like a scroll") appeared in English in the 17th century, referring to an orderly sequence of events, particularly one in which the outcome was somehow contained within it from the start. Notably, in 1677 Sir Matthew Hale, attacking the atheistic atomism of Democritus and Epicurus, used the term "evolution" to describe his opponent's ideas that vibrations and collisions of atoms in the void — without divine intervention — had formed "Primordial Seeds" (semina) which were the "immediate, primitive, productive Principles of Men, Animals, Birds and Fishes." For Hale, this mechanism was "absurd", because "it must have potentially at least the whole Systeme of Humane Nature, or at least that Ideal Principle or Configuration thereof, in the evolution whereof the complement and formation of the Humane Nature must consist ... and all this drawn from a fortuitous coalition of senseless and dead Atoms."
Technologies in 2001: A Space Odyssey
Clarke noted that, contrary to popular rumor, it was a complete coincidence that each of the letters of Hal's name immediately preceded those of IBM in the alphabet. The meaning of HAL has been given both as "Heuristically programmed ALgorithmic computer" and as "Heuristic ALgorithmic computer". The former appears in Clarke's novel of "2001" and the latter in his sequel novel "2010". In computer science, a heuristic is a programmable procedure not necessarily based on fixed rules, producing informed guesses often using trial-and-error. The results can be false such as in predictions of stock market, sports scores, or the weather. Sometimes this can entail selecting on-the-fly one of several methods to solve a problem based on previous experience. On the other hand, an algorithm is a programmable procedure that produces reproducible results using invariant established methods (such as computing square roots).
A heuristic approach that usually works within a tolerable margin of error may be preferred over a perfect algorithm that requires a long time to run.
History of artificial intelligence
Artificial intelligence is based on the assumption that the process of human thought can be mechanized. The study of mechanical—or "formal"—reasoning has a long history. Chinese, Indian and Greek philosophers all developed structured methods of formal deduction in the first millennium BCE. Their ideas were developed over the centuries by philosophers such as Aristotle (who gave a formal analysis of the syllogism), Euclid (whose "Elements" was a model of formal reasoning), al-Khwārizmī (who developed algebra and gave his name to "algorithm") and European scholastic philosophers such as William of Ockham and Duns Scotus.
Arthur Samuel
Arthur Lee Samuel (December 5, 1901 – July 29, 1990) was an American pioneer in the field of computer gaming and artificial intelligence. He coined the term "machine learning" in 1959. The Samuel Checkers-playing Program was among the world's first successful self-learning programs, and as such a very early demonstration of the fundamental concept of artificial intelligence (AI). He was also a senior member in the TeX community who devoted much time giving personal attention to the needs of users and wrote an early TeX manual in 1983.
Google Hummingbird
The "Hummingbird" update was the first major update to Google's search algorithm since the 2010 "Caffeine" search architecture upgrade, but even that was limited primarily to improving the indexing of information rather than sorting through information. Amit Singhal, then-search chief at Google, told "Search Engine Land" that "Hummingbird" was the most dramatic change of the algorithm since 2001, when he first joined Google. Unlike previous search algorithms, which would focus on each individual word in the search query, "Hummingbird" considers the context of the different words together, with the goal that pages matching the meaning do better, rather than pages matching just a few words. The name is derived from the speed and accuracy of the hummingbird animal.
Algorithmic art
Algorists formally began correspondence and establishing their identity as artists following a panel titled "Art and Algorithms" at SIGGRAPH in 1995. The co-founders were Jean-Pierre Hébert and Roman Verostko. Hébert is credited with coining the term and its definition, which is in the form of his own algorithm:
Algorithms-Aided Design (AAD)
Algorithms-Aided Design (AAD) is the use of specific algorithms-editors to assist in the creation, modification, analysis, or optimization of a design. The algorithms-editors are usually integrated with 3D modeling packages and read several programming languages, both scripted or visual (RhinoScript®, Grasshopper®, MEL®, C#, Python®). The Algorithms-Aided Design allows designers to overcome the limitations of traditional CAD software and 3D computer graphics software, reaching a level of complexity which is beyond the human possibility to interact with digital objects. The acronym appears for the first time in the book AAD Algorithms-Aided Design, Parametric Strategies using Grasshopper, published by Arturo Tedeschi in 2014.
Algorithm characterizations
A careful reading of Gurevich 2000 leads one to conclude (infer?) that he believes that "an algorithm" is actually "a Turing machine" or "a pointer machine" doing a computation. An "algorithm" is not just the symbol-table that guides the behavior of the machine, nor is it just one instance of a machine doing a computation given a particular set of input parameters, nor is it a suitably programmed machine with the power off; rather "an algorithm is the machine actually doing any computation of which it is capable". Gurevich does not come right out and say this, so as worded above this conclusion (inference?) is certainly open to debate:
Etymology of chemistry
In the history of science, the etymology of the word chemistry is debatable. It is agreed that the word derives from the word "alchemy", which is a European one, derived from "kimiya" () and alchemy "al-kīmiyāʾ" (). The Arabic term is derived from the Ancient Greek "khēmia" or "khēmeia". However, the ultimate origin of the root word, "chem", is uncertain.
Algorithmic bias
Algorithmic bias occurs when a computer system reflects the implicit values of the humans who are involved in coding, collecting, selecting, or using data to train the algorithm. Algorithmic bias is found across platforms, including but not limited to search engine results and social media platforms, and can have impacts ranging from inadvertent privacy violations to reinforcing social biases of race, gender, sexuality, and ethnicity. The study of algorithmic bias is most concerned with algorithms that reflect "systematic and unfair" discrimination. This bias has only recently been addressed in legal frameworks, such as the 2018 European Union's General Data Protection Regulation.
Algorithm
Emil Post (1936) described the actions of a "computer" (human being) as follows:
ALGOL
ALGOL (; short for "Algorithmic Language") is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
Aimetis
The name Aimetis (pronounced eye-met-iss) originates from two concepts: "AI" refers to the acronym for Artificial Intelligence, the science behind Aimetis technology. "Metis" is the name of the shape shifting Greek Titaness of wisdom and deep thought.
Algorithm characterizations
For his part John Venn, a logician contemporary to Jevons, was less than thrilled, opining that "it does not seem to me that any contrivances at present known "or likely to be discovered" really deserve the name of logical machines" (italics added, Venn 1881:120). But of historical use to the developing notion of "algorithm" is his explanation for his negative reaction with respect to a machine that "may subserve a really valuable purpose by enabling us to avoid otherwise inevitable labor":
He concludes that "I cannot see that any machine can hope to help us except in the third of these steps; so that it seems very doubtful whether any thing of this sort really deserves the name of a logical engine."(Venn 1881:119–121).
Euclidean algorithm
The algorithm was probably not discovered by Euclid, who compiled results from earlier mathematicians in his "Elements". The mathematician and historian B. L. van der Waerden suggests that Book VII derives from a textbook on number theory written by mathematicians in the school of Pythagoras. The algorithm was probably known by Eudoxus of Cnidus (about 375 BC). The algorithm may even pre-date Eudoxus, judging from the use of the technical term ἀνθυφαίρεσις ("anthyphairesis", reciprocal subtraction) in works by Euclid and Aristotle.
ORACLE (computer)
[Oak Ridge National] Laboratory engineers assisted Argonne [National Laboratory] during the early 1950s in design and fabrication of the Oak Ridge Automatic Computer and Logical Engine. Its name was selected with reference to a lyrical acronym from Greek mythology—ORACLE, defined as 'a shrine in which a deity reveals hidden knowledge.'
History of mathematics
In the 9th century, the Persian mathematician Muḥammad ibn Mūsā al-Khwārizmī wrote several important books on the Hindu–Arabic numerals and on methods for solving equations. His book "On the Calculation with Hindu Numerals", written about 825, along with the work of Al-Kindi, were instrumental in spreading Indian mathematics and Indian numerals to the West. The word "algorithm" is derived from the Latinization of his name, Algoritmi, and the word "algebra" from the title of one of his works, "Al-Kitāb al-mukhtaṣar fī hīsāb al-ğabr wa’l-muqābala" ("The Compendious Book on Calculation by Completion and Balancing"). He gave an exhaustive explanation for the algebraic solution of quadratic equations with positive roots, and he was the first to teach algebra in an elementary form and for its own sake. He also discussed the fundamental method of "reduction" and "balancing", referring to the transposition of subtracted terms to the other side of an equation, that is, the cancellation of like terms on opposite sides of the equation. This is the operation which al-Khwārizmī originally described as "al-jabr". His algebra was also no longer concerned "with a series of problems to be resolved, but an exposition which starts with primitive terms in which the combinations must give all possible prototypes for equations, which henceforward explicitly constitute the true object of study." He also studied an equation for its own sake and "in a generic manner, insofar as it does not simply emerge in the course of solving a problem, but is specifically called on to define an infinite class of problems."
Dictionary of Algorithms and Data Structures
The Dictionary of Algorithms and Data Structures is a dictionary style reference for many of the algorithms, algorithmic techniques, archetypal problems, and data structures found in the field of computer science. The dictionary is maintained by Paul E. Black and Vreda Pieterse, and is hosted by the Software and Systems Division, Information Technology Laboratory, a part of the National Institute of Standards and Technology. The new host is the FASTAR research group. It was created in September 1998.
Anarchism
The word "anarchism" is composed from the word "anarchy" and the suffix -ism, themselves derived respectively from the Greek , i.e. "anarchy" (from , "anarchos", meaning "one without rulers"; from the privative prefix ἀν- ("an-", i.e. "without") and , "archos", i.e. "leader", "ruler"; (cf. "archon" or , "arkhē", i.e. "authority", "sovereignty", "realm", "magistracy")) and the suffix or ("-ismos", "-isma", from the verbal infinitive suffix , "-izein"). The first known use of this word was in 1539. Various factions within the French Revolution labelled opponents as anarchists (as Maximilien Robespierre did the Hébertists) although few shared many views of later anarchists. There would be many revolutionaries of the early nineteenth century who contributed to the anarchist doctrines of the next generation, such as William Godwin and Wilhelm Weitling, but they did not use the word "anarchist" or "anarchism" in describing themselves or their beliefs.
List of computer term etymologies
This is a list of the origins of computer-related terms or terms used in the computing world (i.e., a list of computer term etymologies). It relates to both computer hardware and computer software.
Algorithm
"Computers (and computors), models of computation": A computer (or human "computor") is a restricted type of machine, a "discrete deterministic mechanical device" that blindly follows its instructions. Melzak's and Lambek's primitive models reduced this notion to four elements: (i) discrete, distinguishable "locations", (ii) discrete, indistinguishable "counters" (iii) an agent, and (iv) a list of instructions that are "effective" relative to the capability of the agent.
Algorithm
Algorithms can be expressed in many kinds of notation, including natural languages, pseudocode, flowcharts, drakon-charts, programming languages or control tables (processed by interpreters). Natural language expressions of algorithms tend to be verbose and ambiguous, and are rarely used for complex or technical algorithms. Pseudocode, flowcharts, drakon-charts and control tables are structured ways to express algorithms that avoid many of the ambiguities common in natural language statements. Programming languages are primarily intended for expressing algorithms in a form that can be executed by a computer but are often used as a way to define or document algorithms.
Algorithm
About 825, al-Khwarizmi wrote an Arabic language treatise on the Hindu–Arabic numeral system, which was translated into Latin during the 12th century under the title "Algoritmi de numero Indorum". This title means "Algoritmi on the numbers of the Indians", where "Algoritmi" was the translator's Latinization of Al-Khwarizmi's name. Al-Khwarizmi was the most widely read mathematician in Europe in the late Middle Ages, primarily through another of his books, the Algebra. In late medieval Latin, "algorismus", English 'algorism', the corruption of his name, simply meant the "decimal number system". In the 15th century, under the influence of the Greek word ἀριθμός 'number' ("cf." 'arithmetic'), the Latin word was altered to "algorithmus", and the corresponding English term 'algorithm' is first attested in the 17th century; the modern sense was introduced in the 19th century.
Mathetics
Seymour Papert, MIT mathematician, educator, and author, explains the rationale behind the term "mathetics" in Chapter 5 (A Word for Learning) of his book, "The Children's Machine". The origin of the word, according to Papert, is not from "mathematics," but from the Greek, "mathēmatikos", which means "disposed to learn." He feels this word (or one like it) should become as much part of the vocabulary about education as is the word pedagogy or instructional design.
Rhyme
The word derives from Old French "rime" or "ryme", which may be derived from Old Frankish "*rīm", a Germanic term meaning "series, sequence" attested in Old English (Old English "rīm" meaning "enumeration, series, numeral") and Old High German "rīm", ultimately cognate to Old Irish "rím", Greek ' "arithmos" "number". Alternatively, the Old French words may derive from Latin "rhythmus", from Greek ' ("rhythmos", rhythm).
Algorithm
An "enumerably infinite set" is one whose elements can be put into one-to-one correspondence with the integers. Thus, Boolos and Jeffrey are saying that an algorithm implies instructions for a process that "creates" output integers from an "arbitrary" "input" integer or integers that, in theory, can be arbitrarily large. Thus an algorithm can be an algebraic equation such as "y = m + n" – two arbitrary "input variables" "m" and "n" that produce an output "y". But various authors' attempts to define the notion indicate that the word implies much more than this, something on the order of (for the addition example):
Algorithm
In English, it was first used in about 1230 and then by Chaucer in 1391. English adopted the French term, but it wasn't until the late 19th century that "algorithm" took on the meaning that it has in modern English.
Algorithm
This machine he displayed in 1870 before the Fellows of the Royal Society. Another logician John Venn, however, in his 1881 "Symbolic Logic", turned a jaundiced eye to this effort: "I have no high estimate myself of the interest or importance of what are sometimes called logical machines ... it does not seem to me that any contrivances at present known or likely to be discovered really deserve the name of logical machines"; see more at Algorithm characterizations. But not to be outdone he too presented "a plan somewhat analogous, I apprehend, to Prof. Jevon's "abacus" ... [And] [a]gain, corresponding to Prof. Jevons's logical machine, the following contrivance may be described. I prefer to call it merely a logical-diagram machine ... but I suppose that it could do very completely all that can be rationally expected of any logical machine".
Logistics
The term "" is attested in English from 1846, and is from , where it was either coined or popularized by military officer and writer Antoine-Henri Jomini, who defined it in his "Summary of the Art of War" (). The term appears in the 1830 edition, then titled "Analytic Table" ("Tableau Analytique"), and Jomini explains that it is derived from (cognate to English ), in the terms and :
The term is credited to Jomini, and the term and its etymology criticized by in 1832, writing:
Chambray also notes that the term was present in the "" as a synonym for algebra.
Mechanism (philosophy)
Mechanism is the belief that natural wholes (principally living things) are like complicated machines or artifacts, composed of parts lacking any intrinsic relationship to each other. Thus, the source of an apparent thing's activities is not the whole itself, but its parts or an external influence on the parts.
Flowgorithm
The name is a portmanteau of "flowchart" and "algorithm".
Acronym
By 1943, the term "acronym" had been used in English to recognize abbreviations (and contractions of phrases) that were pronounced as words. (It was formed from the Greek words , ', "topmost, extreme" and , ', "name.") For example, the army offense of being "absent without official leave" was abbreviated to "A.W.O.L." in reports, but when pronounced as a word ("awol"), it became an acronym. While initial letters are commonly used to form an acronym, the original definition was "a word made from the initial letters or syllables of other words", for example UNIVAC from UNIVersal Automatic Computer.
List of terms relating to algorithms and data structures
This list of terms was originally derived from the index of that document, and is in the public domain, as it was compiled by a Federal Government employee as part of a Federal Government work.
Some of the terms defined are:
Algorithm
Algorithms were used in ancient Greece. Two examples are the Sieve of Eratosthenes, which was described in Introduction to Arithmetic by Nicomachus, and the Euclidean algorithm, which was first described in Euclid's Elements (c. 300 BC). Babylonian clay tablets describe and employ algorithmic procedures to compute the time and place of significant astronomical events.
Arithmetic
Primary education in mathematics often places a strong focus on algorithms for the arithmetic of natural numbers, integers, fractions, and decimals (using the decimal place-value system). This study is sometimes known as algorism.
History of logarithms
Napier first called "L" an "artificial number", but later introduced the word ""logarithm"" to mean a number that indicates a ratio: ("logos") meaning proportion, and ("arithmos") meaning number. In modern notation, the relation to natural logarithms is:
Poetry analysis
The words "poem" and "poetry" derive from the Greek "poiēma" (to make) and "poieo" (to create). That is, a poem is a "made thing": a creation; an artifact. One might think of a poem as, in the words of William Carlos Williams, a "machine made of words". Machines produce some effect, or do some work. They do whatever they are designed to do. The work done by this "machine made of words" is the effect it produces in the reader's mind. A reader analyzing a poem is akin to a mechanic taking apart a machine in order to figure out how it works.
Aporime
The word is derived from the Greek ', which signifies something very difficult and impracticable, being formed from the privative "α", and ', "passage". When a question was proposed to any of the ancient Greek philosophers, especially of the sect of Academists, if he could not give a solution, his answer was "", q.d. "I do not conceive it; I cannot see through it; I am not able to clear it up."
Emerging technologies
"Artificial intelligence" ("AI") is the sub intelligence exhibited by machines or software, and the branch of computer science that develops machines and software with animal-like intelligence. Major AI researchers and textbooks define the field as "the study and design of intelligent agents", where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. John McCarthy, who coined the term in 1942, defines it as "the study of making intelligent machines".
Algorithm
The analysis, and study of algorithms is a discipline of computer science, and is often practiced abstractly without the use of a specific programming language or implementation. In this sense, algorithm analysis resembles other mathematical disciplines in that it focuses on the underlying properties of the algorithm and not on the specifics of any particular implementation. Usually pseudocode is used for analysis as it is the simplest and most general representation. However, ultimately, most algorithms are usually implemented on particular hardware/software platforms and their algorithmic efficiency is eventually put to the test using real code. For the solution of a "one off" problem, the efficiency of a particular algorithm may not have significant consequences (unless n is extremely large) but for algorithms designed for fast interactive, commercial or long life scientific usage it may be critical. Scaling from small n to large n frequently exposes inefficient algorithms that are otherwise benign.
Eight-point algorithm
The algorithm's name derives from the fact that it estimates the essential matrix or the fundamental matrix from a set of eight (or more) corresponding image points. However, variations of the algorithm can be used for fewer than eight points.
Algorithm
The concept of algorithm has existed for centuries. Greek mathematicians used algorithms in, for example, the sieve of Eratosthenes for finding prime numbers and the Euclidean algorithm for finding the greatest common divisor of two numbers.
Algorithm
As an effective method, an algorithm can be expressed within a finite amount of space and time and in a well-defined formal language for calculating a function. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.
Algorithmic composition
Algorithms (or, at the very least, formal sets of rules) have been used to compose music for centuries; the procedures used to plot voice-leading in Western counterpoint, for example, can often be reduced to algorithmic determinacy. The term is usually reserved, however, for the use of formal procedures to make music without human intervention, either through the introduction of chance procedures or the use of computers.
Algorithmic program debugging
Algorithmic debugging was first developed by Ehud Shapiro during his PhD research at Yale University, as introduced in his PhD thesis, selected as a 1982 ACM Distinguished Dissertation. Shapiro implemented the method of algorithmic debugging in Prolog (a general purpose logic programming language) for the debugging of logic programs. In case of logic programs, the intended behavior of the program is a model (a set of simple true statements) and bugs are manifested as program incompleteness (inability to prove a true statement) or incorrectness (ability to prove a false statement). The algorithm would identify a false statement in the program and provide a counter-example to it or a missing true statement that it or its generalization should be added to the program. A method to handle non-termination was also developed. 
The research and development in the field of Algorithmic debugging has made major improvements over the original algorithms for debugging Prolog and other and extended the ideas to other language paradigms such as functional languages and object oriented languages.
Three decades since its introduction, algorithmic debugging is still an active field of computer science research and will probably remain so for decades as no panacea is in sight.
Etymology of chemistry
There are two main views on the derivation of the word, which agree in holding that it has an Arabic descent, the prefix "al" being the Arabic article. But according to one, the second part of the word comes from the Greek "χημεία", pouring, infusion, used in connexion with the study of the juices of plants, and thence extended to chemical manipulations in general; this derivation accounts for the old-fashioned spellings "chymist" and "chymistry". The other view traces it to "khem" or "khame", hieroglyph "khmi", which denotes black earth as opposed to barren sand, and occurs in Plutarch as "χημεία"; on this derivation alchemy is explained as meaning the "Egyptian art". The first occurrence of the word is said to be in a treatise of Julius Firmicus, an astrological writer of the 4th century, but the prefix al there must be the addition of a later copyist. In English, Piers Plowman (1362) contains the phrase "experimentis of alconomye", with variants "alkenemye" and " alknamye". The prefix "al" began to be dropped about the middle of the 16th century (further details of which are given below).
Almanac
One etymology report says "The ultimate source of the word is obscure. Its first syllable, al-, and its general relevance to medieval science and technology, strongly suggest an Arabic origin, but no convincing candidate has been found". Another report similarly says of "almanac": "First seen in Roger Bacon. Apparently from Spanish Arabic, "al-manakh", but this is not an Arabic word...The word remains a puzzle." The "Oxford English Dictionary" similarly says "the word has no etymon in Arabic" but indirect circumstantial evidence "points to a Spanish Arabic "al-manākh"".
Mathomatic
The name "Mathomatic" is a portmanteau of "math" and "automatic", and was inspired by the naming and automation of "Rog-O-Matic", which was an early experiment in artificial intelligence.
Algorithmic transparency
Algorithmic transparency is the principle that the factors that influence the decisions made by algorithms should be visible, or transparent, to the people who use, regulate, and are impacted by systems that employ those algorithms. Although the phrase was coined in 2016 by Nicholas Diakopoulos and Michael Koliska about the role of algorithms in deciding the content of digital journalism services, the underlying principle dates back to the 1970s and the rise of automated systems for scoring consumer credit.
Armata Universal Combat Platform
The combat platform is formally designated as "prospective family of heavy unified battlefield platforms". The name "Armata" derives from the plural of the Latin word "arma" which refers to weapons of war, and was an old Russian word for 14th century guns; it is also the plural of the ancient Greek word "Arma", meaning "chariot" or in modern Greek tank. This was wrongly transcribed as "Armada" by journalists on several occasions.
ALGOL 58
Bauer attributes the name to Bottenbruch: "He [Bottenbruch] was also the man who coined at that time [1957] the word 'algorithmic language' (algorithmische Sprache) at least in Germany."
Algorithmic art
In light of such ongoing developments, pioneer algorithmic artist Ernest Edmonds has documented the continuing prophetic role of art in human affairs by tracing the early 1960s association between art and the computer up to a present time in which the algorithm is now widely recognized as a key concept for society as a whole.
Loom
The word "loom" is derived from the Old English "geloma", formed from ge-(perfective prefix) and "loma", a root of unknown origin; this meant a utensil, tool, or machine of any kind. In 1404 it was used to mean a machine to enable weaving thread into cloth. By 1838, it had gained the meaning of a machine for interlacing thread.
Algorithm characterizations
Over the last 200 years the definition of algorithm has become more complicated and detailed as researchers have tried to pin down the term. Indeed, there may be more than one type of "algorithm". But most agree that algorithm has something to do with defining generalized processes for the creation of "output" integers from other "input" integers – "input parameters" arbitrary and infinite in extent, or limited in extent but still variable—by the manipulation of distinguishable symbols (counting numbers) with finite collections of rules that a person can perform with paper and pencil.
Alfred Aho
In 1974, Aho, John Hopcroft, and Ullman wrote the "Design and Analysis of Computer Algorithms", codifying some of their early research on algorithms. This book became one of the most highly cited books in computer science for several decades and helped to stimulate the creation of algorithms and data structures as a central course in the computer science curriculum.
Algorithm
Fields tend to overlap with each other, and algorithm advances in one field may improve those of other, sometimes completely unrelated, fields. For example, dynamic programming was invented for optimization of resource consumption in industry but is now used in solving a broad range of problems in many fields.
Archive
First attested in English in early 17th century, the word "archive" is derived from the French "archives" (plural), in turn from Latin "archīum" or "archīvum", which is the romanized form of the Greek "ἀρχεῖον" ("archeion"), "public records, town-hall, residence, or office of chief magistrates", itself from "ἀρχή" ("arkhē"), amongst others "magistracy, office, government" (compare an-archy, mon-archy), which comes from the verb "ἄρχω" ("arkhō"), "to begin, rule, govern".
Timiskaming
Timiskaming is a word from the Algonquin "Temikami" or "Temikaming", from "tim" meaning "deep" and "kami" meaning "open waters". Alternate spellings include: Temiskaming, Témiscaming, Témiscamingue. The word Temagami comes from the same root.
Arche
Arche (; ) is a Greek word with primary senses "beginning", "origin" or "source of action" (: from the beginning, οr : the original argument), and later "first principle" or "element", first so used by Anaximander (Simplicius in Ph. 150.23). By extension, it may mean "first place, power", "method of government", "empire, realm", "authorities" (in plural: ), "command". The first principle or element corresponds to the "ultimate underlying substance" and "ultimate undemonstrable principle". In the philosophical language of the archaic period (8th to 6th century BC), "arche" (or "archai") designates the source, origin or root of things that exist. In ancient Greek philosophy, Aristotle foregrounded the meaning of "arche" as the element or principle of a thing, which although undemonstrable and intangible in itself, provides the conditions of the possibility of that thing.
Engineering
The word "engine" itself is of even older origin, ultimately deriving from the Latin "ingenium" (c. 1250), meaning "innate quality, especially mental power, hence a clever invention."
Algorithm characterizations
"Goodness" of an algorithm, "best" algorithms: Knuth states that "In practice, we not only want algorithms, we want "good" algorithms..." He suggests that some criteria of an algorithm's goodness are the number of steps to perform the algorithm, its "adaptability to computers, its simplicity and elegance, etc." Given a number of algorithms to perform the same computation, which one is "best"? He calls this sort of inquiry "algorithmic analysis: given an algorithm, to determine its performance characteristcis" (all quotes this paragraph: Knuth Vol. 1 p. 7)
Algorithm
Algorithm design refers to a method or mathematical process for problem-solving and engineering algorithms. The design of algorithms is part of many solution theories of operation research, such as dynamic programming and divide-and-conquer. Techniques for designing and implementing algorithm designs are also called algorithm design patterns, such as the template method pattern and decorator pattern.
Arabic numerals
In 825 Al-Khwārizmī wrote a treatise in Arabic, "On the Calculation with Hindu Numerals", which survives only as the 12th-century Latin translation, "Algoritmi de numero Indorum". "Algoritmi", the translator's rendition of the author's name, gave rise to the word "algorithm".
Algorithm characterizations
A reader first confronting the words that follow may well be confused, so a brief explanation is in order. "Calculation" means done by hand, "computation" means done by Turing machine (or equivalent). (Sometimes an author slips and interchanges the words). A "function" can be thought of as an "input-output box" into which a person puts natural numbers called "arguments" or "parameters" (but only the counting numbers including 0—the nonnegative integers) and gets out a single nonnegative integer (conventionally called "the answer"). Think of the "function-box" as a little man either calculating by hand using "general recursion" or computing by Turing machine (or an equivalent machine).
Theoretical computer science
An algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.
Dendral
The name "Dendral" is an acronym of the term "Dendritic Algorithm".
European Symposium on Algorithms
Since 2001, ESA is co-located with other algorithms conferences and workshops in a combined meeting called ALGO. This is the largest European event devoted to algorithms, attracting hundreds of researchers.
Theoretical computer science
An algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input.
Engine
The word "engine" derives from Old French "engin", from the Latin "ingenium"–the root of the word "ingenious". Pre-industrial weapons of war, such as catapults, trebuchets and battering rams, were called "siege engines", and knowledge of how to construct them was often treated as a military secret. The word "gin", as in "cotton gin", is short for "engine". Most mechanical devices invented during the industrial revolution were described as engines—the steam engine being a notable example. However, the original steam engines, such as those by Thomas Savery, were not mechanical engines but pumps. In this manner, a fire engine in its original form was merely a water pump, with the engine being transported to the fire by horses.
Round-robin scheduling
The name of the algorithm comes from the round-robin principle known from other fields, where each person takes an equal share of something in turn.
Hyper-heuristic
The term "hyperheuristics" was first coined in a 2000 publication by Cowling and Soubeiga, who used it to describe the idea of "heuristics to choose heuristics". They used a "choice function" machine learning approach which trades off exploitation and exploration in choosing the next heuristic to use. Subsequently, Cowling, Soubeiga, Kendall, Han, Ross and other authors investigated and extended this idea in areas such as evolutionary algorithms, and pathological low level heuristics. The first journal article to use the term appeared in 2003. The origin of the idea (although not the term) can be traced back to the early 1960s and was independently re-discovered and extended several times during the 1990s. In the domain of Job Shop Scheduling, the pioneering work by Fisher and Thompson, hypothesized and experimentally proved, using probabilistic learning, that combining scheduling rules (also known as priority or dispatching rules) was superior than any of the rules taken separately. Although the term was not then in use, this was the first "hyper-heuristic" paper. Another root inspiring the concept of hyper-heuristics comes from the field of artificial intelligence. More specifically, it comes from work on automated planning systems, and its eventual focus towards the problem of learning control knowledge. The so-called COMPOSER system, developed by Gratch et al., was used for controlling satellite communication schedules involving a number of earth-orbiting satellites and three ground stations. The system can be characterized as a hill-climbing search in the space of possible control strategies.
Enzyme
Etymology and history
Artificial intelligence
AI often revolves around the use of algorithms. An algorithm is a set of unambiguous instructions that a mechanical computer can execute. A complex algorithm is often built on top of other, simpler, algorithms. A simple example of an algorithm is the following (optimal for first player) recipe for play at tic-tac-toe:Many AI algorithms are capable of learning from data; they can enhance themselves by learning new heuristics (strategies, or "rules of thumb", that have worked well in the past), or can themselves write other algorithms. Some of the "learners" described below, including Bayesian networks, decision trees, and nearest-neighbor, could theoretically, if given infinite data, time, and memory, learn to approximate any function, including whatever combination of mathematical functions would best describe the entire world. These learners could therefore, in theory, derive all possible knowledge, by considering every possible hypothesis and matching it against the data. In practice, it is almost never possible to consider every possibility, because of the phenomenon of "combinatorial explosion", where the amount of time needed to solve a problem grows exponentially. Much of AI research involves figuring out how to identify and avoid considering broad swaths of possibilities that are unlikely to be fruitful. For example, when viewing a map and looking for the shortest driving route from Denver to New York in the East, one can in most cases skip looking at any path through San Francisco or other areas far to the West; thus, an AI wielding an pathfinding algorithm like A* can avoid the combinatorial explosion that would ensue if every possible route had to be ponderously considered in turn.
Xorazm Region
Khorezm is a place where many famous scholars were born, such as Abu Rayhan Biruni and al-Khwārizmī. The famous terms algorithm and algebra come from the works of the latter. Algorithm is a modified spelling of Khwārizmī and algebra derives from his famous work "al-jabr wa-l-muqābala".
Introduction to Algorithms
The first edition of the textbook did not include Stein as an author, and thus the book became known by the initialism CLR. It included two chapters ("Arithmetic Circuits" & "Algorithms for Parallel Computers") that were dropped in the second edition. After the addition of the fourth author in the second edition, many began to refer to the book as "CLRS". This first edition of the book was also known as "The Big White Book (of Algorithms)." With the second edition, the predominant color of the cover changed to green, causing the nickname to be shortened to just "The Big Book (of Algorithms)." A third edition was published in August 2009. Plans for the next edition started in 2014, but the fourth edition will be published in 2019 the earliest, and likely later than that.
Algorithmically random sequence
As different types of algorithms are sometimes considered, ranging from algorithms with specific bounds on their running time to algorithms which may ask questions of an oracle machine, there are different notions of randomness. The most common of these is known as Martin-Löf randomness (or 1-randomness), but stronger and weaker forms of randomness also exist. The term "random" used to refer to a sequence without clarification is usually taken to mean "Martin-Löf random" (defined below).
Algorithm (C++)
In the C++ Standard Library, algorithms are components that perform algorithmic operations on containers and other sequences.ISO/IEC (2003). "ISO/IEC 14882:2003(E): Programming Languages - C++ §25 Algorithms library [lib.algorithms]" para. 1
Androgynous Peripheral Attach System
The name of the system is Russian in origin, and is an acronym, АПАС, in the Cyrillic alphabet, from the Russian, "Андрогинно-периферийный агрегат стыковки". The English acronym was designed to be just the same letters but in the Latin alphabet, for which the first two words are direct counterparts of those in the original. The third word in Russian comes from the German "Aggregat", meaning "complicated mechanism", and the last means "docking". The last two words in the English name were picked to begin with the same equivalent letters as in the Russian name.
Introduction to Algorithms
Introduction to Algorithms is a book by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. The book has been widely used as the textbook for algorithms courses at many universities and is commonly cited as a reference for algorithms in published papers, with over 10,000 citations documented on CiteSeerX. The book sold half a million copies during its first 20 years. Its fame has led to the common use of the abbreviation "CLRS" (Cormen, Leiserson, Rivest, Stein), or, in the first edition, "CLR" (Cormen, Leiserson, Rivest).
Organism
The term "organism" (from Greek ὀργανισμός, "organismos", from ὄργανον, "organon", i.e. "instrument, implement, tool, organ of sense or apprehension") first appeared in the English language in 1703 and took on its current definition by 1834 (Oxford English Dictionary). It is directly related to the term "organization". There is a long tradition of defining organisms as self-organizing beings, going back at least to Immanuel Kant's 1790 "Critique of Judgment".
History of engineering
The term "engineering" itself has a much more recent etymology, deriving from the word "engineer", which itself dates back to 1325,
when an "engine’er" (literally, one who operates an "engine") originally referred to "a constructor of military engines." In this context, now obsolete, an "engine" referred to a military machine, "i. e.", a mechanical contraption used in war (for example, a catapult). The word "engine" itself is of even older origin, ultimately deriving from the Latin "ingenium" (c. 1250), meaning "innate quality, especially mental power, hence a clever invention."
Algorithmic art
From one point of view, for a work of art to be considered algorithmic art, its creation must include a process based on an algorithm devised by the artist. Here, an algorithm is simply a detailed recipe for the design and possibly execution of an artwork, which may include computer code, functions, expressions, or other input which ultimately determines the form the art will take. This input may be mathematical, computational, or generative in nature. Inasmuch as algorithms tend to be deterministic, meaning that their repeated execution would always result in the production of identical artworks, some external factor is usually introduced. This can either be a random number generator of some sort, or an external body of data (which can range from recorded heartbeats to frames of a movie.) Some artists also work with organically based gestural input which is then modified by an algorithm. By this definition, fractals made by a fractal program are not art, as humans are not involved. However, defined differently, algorithmic art can be seen to include fractal art, as well as other varieties such as those using genetic algorithms. The artist Kerry Mitchell stated in his 1999 "Fractal Art Manifesto":
Algorithm
So far, this discussion of the formalization of an algorithm has assumed the premises of imperative programming. This is the most common conception, and it attempts to describe a task in discrete, "mechanical" means. Unique to this conception of formalized algorithms is the assignment operation, setting the value of a variable. It derives from the intuition of "memory" as a scratchpad. There is an example below of such an assignment.
Organum (instrument)
The name comes from the Latin "organum", meaning any tool in general or any musical instrument in particular (or an organ of the body), which in turn came from the Greek "organon", with similar meanings, itself derived from "ergon" and so meaning something by which a task is accomplished. The name "organum" in turn gave rise to the modern everyday term "organ".
Armatoloi
The word "armatolos" first appeared in the 15th century during Venetian times. It is derived from a medieval loan from Latin "arma" ('weapon'), probably via Greek αρματολόγος ('someone who deals with arms', 'an armed person') → αρματολόος → αρματολός. According to an older hypothesis, the development of the word may also have been influenced by a conflation with the similar-sounding αμαρτωλός ("sinner"; cf. "hamartia"), which may have been associated with the topic of armed bands through phrases such as "αμαρτωλοί/αρματολοί και κλέφτες" (meaning "sinners and thieves", but also "armatoloi and klephts"). Owing to the parallelism with "αμαρτωλός", the word was also sometimes spelled as "αρματωλός", with the letter omega.
Heredia (etymology)
According to Harvard University, Harvard's Archimedes Project, a scholarly research on the "history of mechanics and engineering from antiquity to the Renaissance" (Harvard), quotes etymological roots of Heredia from Latin as having various meanings including:
Empirical algorithmics
American computer scientist Catherine McGeoch identifies two main branches of empirical algorithmics: the first (known as "empirical analysis") deals with the analysis and characterization of the behavior of algorithms, and the second (known as "algorithm design" or "algorithm engineering") is focused on empirical methods for improving the performance of algorithms. The former often relies on techniques and tools from statistics, while the latter is based on approaches from statistics, machine learning and optimization. Dynamic analysis tools, typically performance profilers, are commonly used when applying empirical methods for the selection and refinement of algorithms of various types for use in various contexts.
Algorithmic transparency
The phrases "algorithmic transparency" and "algorithmic accountability" are sometimes used interchangeably – especially since they were coined by the same people – but they have subtly different meanings. Specifically, "algorithmic transparency" states that the inputs to the algorithm and the algorithm's use itself must be known, but they need not be fair. "Algorithmic accountability" implies that the organizations that use algorithms must be accountable for the decisions made by those algorithms, even though the decisions are being made by a machine, and not by a human being.
XidML
Algorithms describe how data is processed. Examples include polynomials used to linearize data and an algorithm used to extract a sub-set of bits from a parameter before transmission. All algorithms have a globally unique name.
The semantics of how an algorithm processes and generates data is described in the body of the algorithm.
Backronym
An acronym is a word derived from the initial letters of the words of a phrase: For example, the word "radar" comes from "radio detection and ranging".