acceptor

acceptors (plural)
acceptour (alternative obsolete rare)

From Middle English acceptour, from Latin acceptor, with the meanings from accept.

finite-state machine
finite-state machine

(computing theory) A kind of finite-state machine whose binary output indicates whether or not a received input was accepted.


tree

Jamaican Creole: chrii

[t̠͡ɹ̠̊˔ʷiː]

Etymology tree
Proto-Indo-European *drew-
Proto-Indo-European *-om
Proto-Germanic *trewą
Proto-West Germanic *treu
Old English trēow
Middle English tre
English tree
 PIE word
 *dóru
From Middle English tre, tree, treo, treou, trew, trow, from Old English trēo, trēow (“tree, wood, timber, beam, log, stake, stick, grove, cross, rood”), from Proto-West Germanic *treu, from Proto-Germanic *trewą (“tree, wood”), from pre-Germanic *dréwom, thematic e-grade derivative of Proto-Indo-European *dóru (“tree”). Eclipsed alternative terms for tree in Middle English: Middle English beem, from Old English bēam (see beam) and Middle English arbre, from Old French arbre.
Cognates
From the same Proto-Indo-European: Scots tree (“wood, rod, stick”), North Frisian tre, trä (“tree”)Danish træ (“tree”), Swedish trä (“wood”), träd (“tree”), Norwegian tre (“tree”), Icelandic tré (“tree”), Gothic 𐍄𐍂𐌹𐌿 (triu, “tree, wood, piece of wood”), Sanskrit दारु (dāru, “tree, wood”), Albanian dru (“tree, wood”), Welsh dâr (“oaks”), Ancient Greek δόρυ (dóru, “wood, spear”), Russian де́рево (dérevo) or дре́во (drévo), Tocharian A or. Related to tar, true.

cog

fall out of the ugly tree and hit every branch

the apple does not fall far from the tree

the apple doesn't fall far from the tree

(computing theory) A recursive data structure in which each node has zero or more nodes as children.

ծառ

(computing theory) recursive data structure


imperative

en-adj

imperative (comparative more imperative, superlative most imperative)

more imperative (comparative)
most imperative (superlative)
imp. (alternative abbreviation)
imper. (alternative abbreviation)

[ɪmˈpɛɹ.ə.ɾɪv]

(computing theory) Having semantics that incorporates mutable variables.

imperatiivinen

computing: having semantics that incorporates mutable variables


sibling

First use appears c. 1903, a modern revival of Old English sibling (“relative, a relation, kinsman”), equivalent to sib + -ling. Compare Middle English siblynges pl, sib, sibbe (“relative; kinsman”), German Sippe. The term apparently meant merely kin or relative until the 20th century when it was applied in a way that aided the study of genetics, which led to its specialized use. For example, the OED has a citation in 1902 in which sibling must be defined for those who do not know the intended meaning.

lbor

(computing theory) A node in a data structure that shares its parent with another node.


sister

en-noun

sister (plural sisters or (archaic in most senses) sistren)

sisters (plural)
sistren (archaic plural)

desc

→ Gulf Arabic: سِسْتَر (sistar, “female nurse”)

→ Japanese: シスター (shisutā)

→ Korean: 시스터 (siseuteo)

PIE word
 *swésōr
From Middle English sister, suster, from Old English swustor, sweoster, sweostor (“sister, nun”); from Proto-Germanic *swestēr (“sister”), from Proto-Indo-European *swésōr (“sister”).
Cognate with Scots sister, syster (“sister”), West Frisian sus, suster (“sister”), Dutch zuster (“sister”), German Schwester (“sister”), Norwegian Bokmål søster (“sister”), Norwegian Nynorsk and Swedish syster (“sister”), Icelandic systir (“sister”), Gothic 𐍃𐍅𐌹𐍃𐍄𐌰𐍂 (swistar, “sister”), Latin soror (“sister”), Russian сестра́ (sestrá, “sister”), Lithuanian sesuo (“sister”), Albanian vajzë (“girl, maiden”), Sanskrit स्वसृ (svásṛ, “sister”), Persian خواهر (xâhar, “sister”).
In standard English, the form with i is due to contamination with Old Norse systir (“sister”).
The plural sistren is from Middle English sistren, a variant plural of sister, suster (“sister”); compare brethren.

妹妹

mui⁶⁻⁴ mui⁶⁻²

ເອື້ອຍ

ē ʼư̄ ʼa nya


finger

Sranan Tongo: finga

PIE word
 *pénkʷe
From Middle English fynger, finger, from Old English finger (“finger”), from Proto-West Germanic *fingr, from Proto-Germanic *fingraz (“finger”), from Proto-Indo-European *penkʷrós, from *pénkʷe (“five”). Compare West Frisian finger, Low German/German Finger, Dutch vinger, Danish, Norwegian, and Swedish finger; also Old Armenian հինգեր-որդ (hinger-ord, “fifth”). More at five.

sormi

something similar in function to a finger

Something similarly extending, (especially) from a larger body, particularly:

(computing theory) A leaf in a finger tree data structure.


complete

en-adj

complete (comparative more complete or completer, superlative most complete or completest)

more complete (comparative)
completer (comparative)
most complete (superlative)
completest (superlative)
compleat (alternative archaic)

From Middle English compleet (“full, complete”), borrowed from Old French complet or Latin completus, past participle of compleō (“I fill up, I complete”) (whence also complement, compliment), from com- + pleō (“I fill, I fulfill”) (whence also deplete, replete, plenty), ultimately from Proto-Indo-European *pleh₁- (“to fill”) (English full).

пълен

of a proof system: such that any semantically valid formula is also provable

complete androgen insensitivity syndrome

QMA arises naturally in the study of quantum computation, and it also has a complete problem, Local Hamiltonian, which is a generalization of k-SAT.

2007, Yi-Kai Liu, The Complexity of the Consistency and N-representability Problems for Quantum States, page 17:

BPP behaves differently in some ways from other classes we have seen. For example, we know of no complete languages for BPP.

2009, Sanjeev Arora, Boaz Barak, Computational Complexity: A Modern Approach, page 137:

(computing theory, of a problem) That is in a given complexity class and is such that every other problem in the class can be reduced to it (usually in polynomial time or logarithmic space).


turtle

Modification of Middle English tortou, tortu, from Old French tortüe (under the influence of Middle English turtel, turtur (“turtledove”), see Etymology 2 below), from Medieval Latin tortuca (compare Spanish tortuga), the same source of tortoise (see there for more). Displaced native Old English byrdling.

(computing theory) A small element towards the end of a list of items to be bubble sorted, and thus tending to take a long time to be swapped into its correct position. Compare rabbit.


NC

(computing theory) Nick's Class, the complexity class of decision problems solvable in polylogarithmic time using a polynomial number of processors.


hoist

en-verb

hoist (third-person singular simple present hoists, present participle hoisting, simple past and past participle hoisted or hoist)

hoists (present singular third-person)
hoisting (participle present)
hoisted (participle past)
hoisted (past)
hoist (participle past)
hoist (past)

Alteration of earlier hoise (“to hoist”), apparently based on the past tense forms, from Middle Dutch hisen (“to hoist”). Compare modern Dutch hijsen (“to hoist”), German hissen (“to hoist”), Danish hejse (“to hoist”). Compare also French hisser (“to hoist”), Galician isar (“to hoist”), Spanish izar (“to hoist”), Catalan hissar (“to hoist”), Italian issare (“to hoist”), Sicilian jisari (“to hoist”), all borrowed from a Germanic source.

(transitive, computing theory) To extract (code) from a loop construct as part of optimization.


grammar

en-noun

grammar (countable and uncountable, plural grammars)

grammars (plural)
grammary (alternative archaic)
grammer (alternative obsolete)

/ˈɡɹæm.ə(ɹ)/

From Middle English gramere, from Old French gramaire (“classical learning”), from unattested Vulgar Latin *grammāria, an alteration of Latin grammatica, from Ancient Greek γραμματική (grammatikḗ, “skilled in writing”), from γράμμα (grámma, “line of writing”), from γράφω (gráphō, “write”), from Proto-Indo-European *gerbʰ- (“to carve, scratch”). Displaced native Old English stæfcræft; a doublet of glamour, glamoury, gramarye, and grimoire. Piecewise doublet of grammatic.

grammatika

rules for speaking and writing a language

قَوَاعِد

in computing: formal system specifying the syntax of a language

Because real lexicons are big and complex, from a software engineering perspective it is best to write simple grammars that have a simple, well-defined way, of pulling out the information they need from vast lexicons. That is, grammars should be thought of as separate entities which can access the information contained in lexicons. We can then use specialised mechanisms for efficiently storing the lexicon and retrieving data from it.

2006, Patrick Blackburn · Johan Bos · Kristina Striegnitz, Learn Prolog Now!, §8.2

(computing theory) A formal system specifying the syntax of a language.

(computing theory) A formal system defining a formal language.


sentence

Borrowed from Middle French sentence, from Latin sententia (“way of thinking, opinion, sentiment”), from sentiēns, present participle of sentiō (“to feel, think”), ultimately from Proto-Indo-European *sent- (“to feel”).

der

(computing theory) Any of the set of strings that can be generated by a given formal grammar.

lause

computing: string that can be generated by a given formal grammar


ring

→ French: ring
→ Romanian: ring

→ Hungarian: ring

→ Italian: ring

→ Japanese: リング

→ Polish: ring

→ Serbo-Croatian: ring

→ Spanish: ring

→ Turkish: ring

From Middle English ryng, from Old English hring (“ring, circle”), from Proto-West Germanic *hring, from Proto-Germanic *hringaz (“ring”), from Proto-Indo-European *(s)krengʰ-, extended nasalized form of *(s)ker- (“to turn, bend”). Doublet of rank and rink, as well as indirectly range.
Cognates
* West Frisian ring
* Low German Ring
* Dutch ring
* German Ring
* Swedish ring
* Finnish rengas
More distantly cognate with Proto-Slavic *krǫgъ (whence Bulgarian кръг (krǎg), Polish krąg, Russian круг (krug)).

Kernel Mode processes run in ring 0, and User Mode processes run in ring 3.

2007, Steve Anson, Steve Bunting, Mastering Windows Network Forensics and Investigation, page 70:

(computing theory) A hierarchical level of privilege in a computer system, usually at hardware level, used to protect data and functionality (also protection ring).


rabbit

en-noun

rabbit (countable and uncountable, plural rabbits)

From Middle English rabet, rabette, from Anglo-Latin rabettus, from dialectal Old French rabotte, probably a diminutive of Middle Dutch or West Flemish robbe (“rabbit, seal”), of uncertain origin; possibly some imitative verb, maybe robben, rubben (“to rub”) is used here to allude to a characteristic of the animal. See rub.
Related forms include Middle French rabouillet (“baby rabbit”) and in French rabot (“plane”)), coming via Walloon Old French (reflected nowadays as Walloon robète (“rabbit”)), from Middle Dutch robbe ("rabbit; seal"; whence Modern Dutch rob (“rabbit", also "seal”)); also Middle Low German robbe, rubbe (“rabbit”), and the later German Low German Rubbe, Robb (“seal”), West Frisian robbe (“seal”), Saterland Frisian Rubbe (“seal”), North Frisian rob (“seal”), borrowed into German Robbe (“seal”).
Meant "young rabbit" until the 19th c., when it came to replace the original general term cony, owing to the latter's resemblance to and use as a euphemism for cunny, "vulva" (compare ass and donkey).

onomatopoeic

imitative

gl

"rabbit; seal"; whence Modern Dutch <i class="Latn mention" lang="nl">rob</i> (“rabbit", also "seal”)

(computing theory) A large element at the beginning of a list of items to be bubble sorted, and thus tending to be quickly swapped into its correct position. Compare turtle.


terminal

→ Bulgarian: термина́л (terminál)

→ Japanese: ターミナル (tāminaru)

→ Korean: 터미널 (teomineol)

desctree

→ Russian: термина́л (terminál)
→ Kazakh: терминал (terminal)

Borrowed from Late Latin terminalis (“pertaining to a boundary or to the end, terminal, final”), from Latin terminus (“a bound, boundary, limit, end”). See term, terminus.

термина́л

computing - the end of a line of signals

(computing theory) A terminal symbol in a formal grammar.


tile

en-verb

tile (third-person singular simple present tiles, present participle tiling, simple past and past participle tiled)

tiles (present singular third-person)
tiling (participle present)
tiled (participle past)
tiled (past)

From Middle English tile, tyle, tigel, tiȝel, teȝele, from Old English tieġle, tiġle, tiġele (“tile; brick”), from Proto-West Germanic *tigulā, from Proto-Germanic *tigulǭ (“tile”), from Latin tēgula. Doublet of tegula.
Cognates
Cognate with Saterland Frisian Tichel (“tile”), West Frisian teil, tegel, tichel (“tile”), Dutch tichel, tegel (“tile”), German Ziegel (“brick; tile”), Danish tegl (“brick”), Swedish tegel (“brick; tile”), Icelandic tigl (“tile; brick”).

(computing theory) To optimize (a loop in program code) by means of the tiling technique.


type

→ Japanese: タイプ

→ Korean: 타입 (taip)

From Middle English type (“symbol, figure, emblem”), from Latin typus, from Ancient Greek τύπος (túpos, “mark, impression, type”), from τύπτω (túptō, “I strike, beat”).

tyyppiyksilö

biology: individual representative of its taxonomic group

(computing theory) A tag attached to variables and values used in determining which kinds of value can be used in which situations; a data type.

tipu

computing theory: tag indicating data type


recursive

en-adj

recursive (comparative more recursive, superlative most recursive)

more recursive (comparative)
most recursive (superlative)

/ɹɪˈkɜː(ɹ)sɪv/

Learned borrowing from New Latin recursīvus. Equivalent to recurse + -ive

lbor

filtered-popping recursive transition network

(computing theory, not comparable, of a function) which can be computed by a theoretical model of a computer, in a finite amount of time

recursief

computing: of a function which can be computed in a finite amount of time

(computing theory, not comparable, of a set) whose characteristic function is recursive (4)

recursief

computing: of a set whose characteristic function is recursive

recursively enumerable

of a set, whose characteristic function is recursive


functional

en-adj

functional (comparative more functional, superlative most functional)

more functional (comparative)
most functional (superlative)

/ˈfʌŋkt͡ʃənəl/

(computing theory) Having semantics defined purely in terms of mathematical functions, without side-effects.

функционален

having semantics defined purely in terms of mathematical functions, without side-effects


application

en-noun

application (countable and uncountable, plural applications)

/ˌæplɪˈkeɪʃən/

/ˌæpləˈkeɪʃən/

From Late Middle English applicacioun, borrowed from Old French aplicacion (French application), from Latin applicātiōnem, accusative singular of applicātiō (“attachment; application, inclination”), from applicō (“join to, attach; apply”).

(computing theory) The substitution of a specific value for the parameter in the abstraction, in lambda calculus.


NP

NP (countable and uncountable, plural NPs)

Another class, P, is a subset of NP, and includes all decision problems that can be solved by a (deterministic) Turing machine in polynomial time.

2017, Arlindo Oliveira, The Digital Mind: How Science Is Redefining Humanity, MIT Press, →ISBN, page 81:

(computing theory) Abbreviation of nondeterministic polynomial, the complexity class of computational problems that a nondeterministic Turing machine can solve in polynomial time.


fuzzy

en-adj

fuzzy (comparative fuzzier, superlative fuzziest)

fuzzier (comparative)
fuzziest (superlative)

Uncertain. Apparently from fuzz + -y, though some sources suggest that fuzz derives from fuzzy. Compare fozy, or Low German fussig (“loose; spongy”).

(computing theory) Employing or relating to fuzzy logic.


tagger

To include part-of-speech (POS) information, the corpus was tagged using the CLAWS tagger.

2018, Clarence Green, James Lambert, “Advancing disciplinary literacy through English for academic purposes: Discipline-specific wordlists, collocations and word families for eight secondary subjects”, in Journal of English for Academic Purposes, volume 35, →DOI, page 109:

(computing theory) A program or algorithm that adds tags for purposes of categorization, e.g. grammatical information to words in a document, or genres to songs in a music collection.


lazy

lazy (comparative lazier, superlative laziest)

lazier (comparative)
laziest (superlative)

Attested since 1540, origin uncertain. Probably from Low German and Middle Low German lasich (“slack, feeble, lazy”), from las, from Proto-Germanic *lasiwaz, *laskaz (“feeble, weak”), from Proto-Indo-European *las- (“weak”).
Akin to Dutch leuzig (“lazy”), Old Norse lasinn (“limpy, tired, weak”), Old English lesu, lysu (“false, evil, base”). More at lush.
An alternate etymology traces lazy to Early Modern English laysy, a derivative of lay (plural lays + -y) in the same way that tipsy is derived from tip. See lay.

der

the quick brown fox jumps over the lazy dog

a lazy algorithm

(computing theory) Employing lazy evaluation; not calculating results until they are immediately required.


crisp

en-adj

crisp (comparative crisper, superlative crispest)

crisper (comparative)
crispest (superlative)

The adjective is derived partly from the following:
* Sense 1: Middle English crisp (“curly; having curly hair or wool; of fabric: crinkly, wrinkled; of water: rippled”), from Old English crisp (“curly”), from Latin crispus (“of hair: crimped, curly”), possibly ultimately from Proto-Indo-European *kris-, from *(s)ker- (“to bend; to turn”).
* Sense 2: from the above, and probably also onomatopoeic, representing a crinkling or crunching sound.
Doublet of crape and crepe.
Adjective sense 2.2.3 (“of air, weather, etc.: cool and dry”) is transferred from a description of frost or snow as “crisp”, that is, crunchy.
The noun is derived partly from the following:
* Middle English crisp (“light, crinkled fabric; kind of pastry; crinkliness or roughness of skin”), from crisp (adjective) (see above).
* Modern English crisp (adjective) (“having a consistency which is hard yet brittle”).

inh

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-crisp.wav

(computing theory) Not using fuzzy logic; based on a binary distinction between true and false.


eager

en-adj

eager (comparative more eager, superlative most eager)

more eager (comparative)
most eager (superlative)
aigre (alternative)
eagre (alternative)

From Middle English egre, eger, from Old French aigre, egre (modern French aigre), from Latin ācrus, variant of ācer (“sharp, keen”); see acid, acerb, etc. Compare vinegar, alegar.

an eager algorithm

(computing theory) Not employing lazy evaluation; calculating results immediately, rather than deferring calculation until they are required.


splay

en-verb

splay (third-person singular simple present splays, present participle splaying, simple past and past participle splayed)

splays (present singular third-person)
splaying (participle present)
splayed (participle past)
splayed (past)

PIE word
 *dwís
The verb is derived from Middle English splaien, splayen (“to display; to spread out, unfurl (a flag, etc.); (cooking) to cut open (a fish) lengthwise and lay it open; (figurative) to appear; to spread”), an aphetic form of Middle English displaien, displayen (“to display”): see display.
The adjective and adverb are derived from the verb, or from splayfoot (noun) or splayfooted (adjective). The noun is derived from the verb.

harottaa

to spread out awkwardly — see also sprawl

(computing theory) To rearrange (a splay tree) so that a desired element is placed at the root.

siirtää splay-puun juureksi

to rearrange (a splay tree) so that a desired element is placed at the root


lambda calculus

en-noun

lambda calculus (countable and uncountable, plural lambda calculi)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-lambda calculus.wav

Coined by Alonzo Church after the use of the Greek letter lambda (λ) as the basic abstraction operator in the calculus.

In the 1930s, while Turing was developing what are now called ‘Turing machines’ as a model for computation, Church and his student Kleene were developing a different model, called the ‘lambda calculus’ [29, 63]. While a Turing machine can be seen as an idealized, simplified model of computer hardware, the lambda calculus is more like a simple model of software.

2009 February 3, John C. Baez with Mike Stay, “Physics, Topology, Logic and Computation: A Rosetta Stone”, in (Please provide the book title or journal name), page 50:

functionally complete
functionally complete

(computing theory) Any of a family of functionally complete algebraic systems in which lambda expressions are evaluated according to a fixed set of rules to produce values, which may themselves be lambda expressions.


quantum

→ French: quantum

→ Portuguese: quantum

[ˈkʰwɑ̃ntʰə̃m]

[ˈkʰwɑ̃ɾ̃ə̃m]

From Late Latin quantum, noun use of neuter form of Latin quantus (“how much”).

(physics) Involving quanta, quantum mechanics or other aspects of quantum physics.

(computing theory) Relating to a quantum computer.


state machine

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-state machine.wav

This algorithm will produce a state machine for parsing a given context-free grammar.

finite-state machine
finite-state machine#English

(computing theory) Ellipsis of finite-state machine.


transition function

transition function (plural transition functions)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-transition function.wav

(computing theory) A function from (state, input symbol) to state describing what state to move to on receiving a given input in a given state.


DFA

finite-state automaton
finite-state machine#English

(computing theory) Initialism of deterministic finite-state automaton.


mem

(computing theory) A memory access as part of processing.


angelic non-determinism

With angelic non-determinism, any problem in NP would be solvable in polynomial time.

(computing theory) A notional ability always to choose the most favorable option, in constant time.


cone

From Middle English cone (“corner, angle”) and conoun (“cone”), from Medieval Latin cōnus, cōnon (“cone, wedge, peak”), from Ancient Greek κῶνος (kônos, “cone, spinning top, pine cone”). Reinforced by Middle French cone, from the same Graeco-Latin source.

der

recursively enumerable
recursively enumerable

(computing theory) A set of formal languages with certain desirable closure properties, in particular those of the regular languages, the context-free languages and the recursively enumerable languages.


decide

en-verb

decide (third-person singular simple present decides, present participle deciding, simple past and past participle decided)

decides (present singular third-person)
deciding (participle present)
decided (participle past)
decided (past)

From Middle English deciden, from Old French decider, from Latin dēcīdere, infinitive of dēcīdō (“cut off, decide”), from dē (“down from”) + caedō (“cut”).

No Turing Machine can decide the halting problem.

First, the hierarchy theorems tell us that a Turing machine can decide more languages in EXPSPACE than it can in PSPACE.

1997, Michael Sipser, Introduction to the Theory of Computation, Boston, M.A.: PWS Publishing Company, →ISBN, page 313:

(computing theory) Of a Turing machine: to return a correct answer (for some yes-or-no problem) on every possible input.


nugget

en-noun

nugget (countable and uncountable, plural nuggets)

→ Portuguese: nugget

Uncertain, first attested in reference to animals & people in Scotland and in reference to ore chunks in Australia. Possibly from southern English nug (“lump, block”) or Scottish knudge/nudge (“short, sturdy person or animal”) + -et (“forming diminutives”) or from rebracketed alteration of an ingot as a ni(n)got.

affix

We have previously said that the heuristic algorithms produce good nuggets for most classes and most λ values […]

2002, Data Mining: A Heuristic Approach, (Please provide the book title or journal name), page 93:

(computing theory) A partial description gleaned from data mining.


reduction

en-noun

reduction (countable and uncountable, plural reductions)

From Middle English reduccion, a borrowing from Old French reducion, from Latin reductiō, reductiōnem.

polynomial-time reduction
polynomial-time reduction

(computing theory) A transformation of one problem into another problem, such as mapping reduction or polynomial-time reduction.

réduction

computability theory: a transformation of one problem into another problem


Turing machine

Named after English mathematician, logician, and cryptographer Alan Turing (1912–1954), who introduced the concept in 1936 to give a mathematically precise definition of computability.

named-after

(computing theory) An abstract computing machine that has a finite number of possible internal states and operates on an infinite memory tape by first reading a symbol from a cell in the tape, and then, deterministically, based on that symbol and the machine’s state, writing a symbol in that cell, moving to a neighboring cell, and/or changing state.


oracle

From Middle English oracle, from Old French oracle m, from Latin ōrāculum n.

Thus, an oracle machine (which enacts an oracle algorithm) would be like an ordinary Turing machine, except that adjoined to its ordinary computational operations would be another operation: ‘Call in the oracle and ask it whether C_q(n) stops; […]

1994, Roger Penrose, “Quantum theory and the brain”, in Shadows of the Mind, Oxford University Press, →ISBN, page 380:

(computing theory) A theoretical entity capable of answering some collection of questions.


certificate

→ Punjabi: ਸਰਟੀਫਿਕੇਟ (sarṭīphikeṭ)

→ Welsh: stifficet

General Certificate of Secondary Education

(computing theory) The information needed in order to verify a positive answer to a problem.

todiste

computing theory: information needed to verify a positive answer to a problem


AFL

abstract family of languages
w:abstract family of languages

(computing theory) Initialism of abstract family of languages.


functionally complete

(computing theory) Capable of computing any recursive function.


Turing complete

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-Turing complete.wav

All languages that are equivalent to Turing's specification are said to be Turing complete. Turing completeness is a surprisingly low bar. Many hand calculators can understand a Turing complete language. PDF (Portable Document Format), in which many documents on the Internet are available, is itself a Turing complete language.

2005, Ben Klemens, Math You Can't Use: Patents, Copyright, and Software, Brookings Institution Press, →ISBN, page 35:

universal Turing machine
universal Turing machine

(computing theory) Equivalent in power to a universal Turing machine; equivalently, functionally complete.


universal Turing machine

en-noun

universal Turing machine (plural universal Turing machines)

From Alan Turing, English mathematician, logician, and cryptographer.

(computing theory) A Turing machine capable of simulating the behavior of any Turing machine.

universaali Turingin kone

Turing machine capable of simulating all the other Turing machines


computability

computability (countable and uncountable, plural computabilities)

LL-Q1860 (eng)-Flame, not lame-computability.wav

(computing theory) The property of being computable by purely mechanical means.


computable

(computing theory) Of a problem, solvable by a Turing machine or any thereto Turing-equivalent model; Turing-computable.


PDA

PDA (countable and uncountable, plural PDAs)

pushdown automaton
pushdown automaton#English

(computing theory) Initialism of pushdown automaton.

携帯情報端末

けいたいじょうほうたんまつ


transducer

1924, Latin trānsdūcō + -er. By surface analysis, transduce + -er.

(computing theory) A state machine that generates output based on a given input.


deforestation

deforestation (countable and uncountable, plural deforestations)

/dɪˌfɒɹɪsˈteɪʃən/

/ˌdiːfɒɹɪsˈteɪʃən/

From deforest + -ation. First attested in 1870.

(computing theory) A transformation to eliminate intermediate data structures within a program.


family tree

LL-Q1860 (eng)-Flame, not lame-family tree.wav

(computing, computing theory) A data structure that organizes resources or machines in a distributed system, consisting of nodes connected by edges, in which each node may also contain a subnode.


CAP

CAP (countable and uncountable, plural CAPs)

(computing theory) Initialism of consistency, availability, partition-tolerance, three irreconcilable guarantees in distributed systems, a result known as Brewer's theorem.


P

(computing theory) The set of all problems that are solvable in polynomial time by a deterministic Turing machine


RE

RE (countable and uncountable, plural REs)

recursively enumerable
recursively enumerable#English

(computing theory, computational complexity theory) Abbreviation of recursively enumerable; the class of decision problems for which a 'yes' answer can be verified by a Turing machine in a finite amount of time.


STM

STM (countable and uncountable, plural STMs)

software transactional memory
w:software transactional memory

(computing theory) Initialism of software transactional memory.


buddy system

buddy memory allocation
buddy memory allocation

(computing theory) The use of buddy memory allocation.


trellis

From Middle English trelis, from Anglo-Norman treslis, from Old French treille (“arbor”), from Latin trichila (“arbor", "summer house”). However, see OED which claims another Old French form referring to sackcloth, from Vulgar Latin.

der

communication theory
communication theory

(computing theory, telecommunications) A kind of graph, used in communication theory and encryption, whose nodes are ordered into vertical slices by time, with each node at each time connected to at least one node at an earlier and at least one node at a later time.


collisionless

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-collisionless.wav

A token ring network is collisionless, but an Ethernet network is not.

(computing theory) Without the possibility of data packets colliding on the network.

a collisionless hash

(computing theory) Without the possibility of items having the same value, which would prevent reliable lookup.


busy beaver

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-busy beaver.wav

(computing theory) A Turing machine that attains the maximum number of steps performed, or number of non-blank symbols finally on the tape, among all Turing machines in a certain class.


regular expression

en-noun

regular expression (plural regular expressions)

LL-Q1860 (eng)-Flame, not lame-regular expression.wav

(computing theory) A concise description of a regular formal language with notations for concatenation, alternation, and iteration (repetition) of subexpressions.

正則表達式 /正则表达式

computing: a concise description of a pattern to be matched


HM

Hindley-Milner
Hindley-Milner type system#English

(computing theory) Initialism of Hindley-Milner.


synchronizer

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-synchronizer.wav

(computing theory) An algorithm that can be applied to a synchronous distributed algorithm to produce a version that operates in asynchronous networks.


probabilistically checkable proof

probabilistically checkable proof (plural probabilistically checkable proofs)

probabilistically checkable proofs (plural)
PCP (abbreviation)

randomized algorithm
randomized algorithm

(computing theory) A reasonable proof of a computational theorem or conjecture obtained via a randomized algorithm.


subnormal

en-adj

subnormal (comparative more subnormal, superlative most subnormal)

more subnormal (comparative)
most subnormal (superlative)

LL-Q1860 (eng)-Flame, not lame-subnormal.wav

Subnormal numbers cannot be normalized because this would result in an exponent that does not fit into the exponent field.

2007, Ward Cheney, David Kincaid, Numerical mathematics and computing, page 704:


pseudostate

pseudostates (plural)
pseudo-state (alternative)

LL-Q1860 (eng)-Flame, not lame-pseudostate.wav

Every exit pseudostate that does not have an incoming transition becomes a priority relevant exit pseudostate, the other exit pseudostates become non-priority relevant exit pseudostates.

2007, Lubos Brim, Boudewijn Haverkort, Martin Leucker, Formal Methods: Applications and Technology: 11th International Workshop, page 256:

(computing theory) An entity that resembles, but is not in fact, a state in a state machine or similar.


undecidable

The first-order procedure SP differs from the proposi-
 tional procedure CP°₁ in an essential feature. Namely, CP°₁
 always terminates while SP may run forever as we have seen with
 the example immediately after (3.7). This is not a specific
 defect of SP. Rather it is known that first-order logic is an
 undecidable theory while propositional logic is a decidable
 theory. This means that for the latter there are decision pro-
 cedures which for any formula decide whether it is valid or
 not — and CP°₁ in fact is such a decision procedure — while
 for the former such decision procedures do not exist in princi-
 ple. Thus SP, according to these results for which the reader
 is referred to any logic texts such as [End], [DrG] or [Lew],
 is of the kind which we may expect, it is a semi-decision
 procedure which confirms if a formula is valid but may run
 forever for invalid formulas. Therefore, termination by running
 out of time or space after any finite number of steps will
 leave the question for the validity of a formula unsettled. [...]

1982, Wolfgang Bibel, Automated Theorem Proving, Braunschweig: Friedr. Vieweg & Sohn, →ISBN, page 83:

(mathematics, computing theory) Incapable of being algorithmically decided in finite time. For example, a set of strings is undecidable if it is impossible to program a computer (even one with infinite memory) to determine whether or not specified strings are included.

nerozhodnutelný

incapable of being algorithmically decided


recursively enumerable

(computing theory) Of a set, such that there exists a deterministic algorithm which will list all the items in the set and no others.

rekurzivně spočetný

computing theory: of a set, such that there exists a deterministic algorithm which will list all the items in the set and no others


cellular automaton

en-noun

cellular automaton (plural cellular automata or cellular automatons)

cellular automata (plural)
cellular automatons (plural)

Or maybe just taking some precautions when setting up the division scheme for a particular cellular automaton might be good enough in other cases, depending on how dynamic and non-homogeneous the behavior over the grid will be.

1989 March 21, Dave Hiebeler, “Fast LIFE (was: Re: summing 9-cell neighborhoods)”, in comp.theory.cell-automata (Usenet):

For fixed n this is, of course, a cellular automaton. You can allow any positive integer states for each of the n cells. The transition rule is such that if a cell has state x >=2 then the state never exceeds x and if it has state x < 2 then it either stays the same or increase by 1 or 2.

2003 October 8, Edwin Clark, “a puzzle related to artinian group”, in comp.theory.cell-automata (Usenet):

The paper concludes:
The Busy Boxes variant of the SALT family of reversible cellular automata has shown itself to possess an intriguing number of features that are worthy of further study and analysis. Physicist Gerard T'Hooft has written about the possibility that reversible CA's such as this one may help elucidate some aspects of physics in the quantum realm [5]. We believe that the study of emergent, qualitative, and statistically predictable behavior of these kinds of discrete, deterministic systems can indeed shed light on questions in physics, and may also help to clarify the deeper principles of entropy and the origin of complex, self-propagating systems such as those found in our biosphere

2012 July 3, Mike James, “A New Computational Universe - Fredkin's SALT CA”, in www.i-programmer.info, retrieved 2012-10-25:

Hello, I have recently constructed a cellular automaton in Golly, with a starting population of roughly 899 million, that produces Shierpinski's triangles.

2013 June 19, Aaron Ball, “Sierpinski's triangles generated from cellular automaton in Golly”, in comp.theory.cell-automata (Usenet):

(computing theory) An automaton consisting of cells arranged in a regular grid, in one or more dimensions. Each application of an associated rule creates a new generation, where the cells have a new configuration of values.


unlimited register machine

unlimited register machine (plural unlimited register machines)

(computing theory) A particular type of theoretical computer, with infinitely many memory cells, called registers, and formal rules to determine the machine's behavior based on their contents.


pushdown automaton

pushdown automaton (plural pushdown automata or pushdown automatons)

pushdown automata (plural)
pushdown automatons (plural)

(computing theory) An automaton with finitely many states that can also use one unbounded stack of memory; the automaton may only push, pop, or read the top of the stack. Abbreviation: PDA.


formal language

formal language (plural formal languages)

Holonym: formal system

Meronyms: alphabet, symbol, word

(computing theory) A set of finite strings (called words) made of symbols (from a finite set of symbols, called an alphabet).


context-free grammar

context-free grammar (plural context-free grammars)

It remains to explain one final concept, namely what a context free language is. (Don’t get confused: we’ve told you what a context free grammar is, but not what a context free language is.) Quite simply, a context free language is a language that can be generated by a context free grammar. Some languages are context free, and some are not. For example, it seems plausible that English is a context free language. That is, it is probably possible to write a context free grammar that generates all (and only) the sentences that native speakers find acceptable. On the other hand, some dialects of Swiss-German are not context free. It can be proved mathematically that no context free grammar can generate all (and only) the sentences that native speakers of Swiss-German find acceptable.¹ So if you wanted to write a grammar for such dialects, you would have to employ additional grammatical mechanisms, not merely context free rules.

2006, Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn Prolog Now!, §7.1

(computing theory) A formal grammar in which every production rule is such that the left-hand side is exactly one non-terminal symbol and the right-hand side is zero or more terminal symbols and/or nonterminal symbols.


monotype

monotype (countable and uncountable, plural monotypes)

General American, Canada, biological sense

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-monotype.wav

From mono- + type or mono- + -type. The printing technique is so called because it allows only one impression to be taken.

Coordinate term: polytype

(computing theory) In the Hindley–Milner type system, a single specific data type.


queuing

queuing (countable and uncountable, plural queuings)

queuings (plural)
queueing (alternative)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-queuing.wav

(chiefly computing theory) The act of placing something in a queue.


tiling

tiling (countable and uncountable, plural tilings)

LL-Q1860 (eng)-Flame, not lame-tiling.wav

(computing theory) A technique for optimizing loops by partitioning the iteration space into smaller chunks or blocks that will more easily fit in a cache.


preorder

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-preorder.wav

Now, the preorder traversal of a tree can be constructed from the preorder traversals of the subtrees rooted at the children of the root of the tree.

2002, Gabriel Valiente, Algorithms on Trees and Graphs, Springer, page 115:

In the program given above, tree is constructed and is traversed in inorder, preorder and postorder traversal.

2006, ISRD Group, Data Structures Using C, Tata McGraw-Hill Education, page 254:

2011, Ananda Rao Akepogu, Radhika Raju Palagiri, Data Structures and Algorithms Using C++, Pearson Education India, page 9.16,
The preorder traversal visits a node first after which it traverses its left subtree and then traverses its right subtree.

(computing theory, of a traversal of a tree) Such that, recursively, the root is visited before the left and right subtrees.


non-terminal

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-non-terminal.wav

(computing theory) A non-terminal symbol in a formal grammar.


non-terminal symbol

non-terminal symbol (plural non-terminal symbols)

(computing theory) A symbol in a formal grammar that cannot appear in sentences of the grammar but may eventually be resolved into a sequence of terminal symbols.


terminal symbol

terminal symbol (plural terminal symbols)

(computing theory) A symbol in a formal grammar that can appear in sentences of the grammar.


NP-complete

Informally, a problem is in the class NPC—and we refer to it as being NP-complete—if it is in NP and is as "hard" as any problem in NP. We shall formally define what it means to be as hard as any problem in NP later in this chapter. In the meantime, we will state without proof that if any NP-complete problem can be solved in polynomial time, then every problem in NP has a polynomial-time algorithm. Most theoretical computer scientists believe that the NP-complete problems are intractable, since given the wide range of NP-complete problems that have been studied to date—without anyone having discovered a polynomial-time solution to any of them—it would be truly astounding if all of them could be solved in polynomial time. Yet, given the effort devoted thus far to proving NP-complete problems intractable—without a conclusive outcome—we cannot rule out the possibility that the NP-complete problems are in fact solvable in polynomial time.

2001, Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein, Introduction To Algorithms, 2nd edition, The MIT Press, page 968:

Every area of math seems to have its own NP complete problems. For example, the question of whether or not a graph contains a Hamiltonian circuit is a quintessential NP complete problem and, since it can be explained with little higher level math, is a popular choice in expository works.

2002, Thomas A. Garrity, All the Mathematics You Missed: But Need to Know for Graduate School, Cambridge University Press, page 317:

A problem Π is said to be NP-complete if each problem in NP is reducible to Π. Hence
(4.13) if some NP-complete problem belongs to P, then P=NP.

2003, A. Schrijver, Combinatorial Optimization: Polyhedra and Efficiency, Volume A, Springer, page 43:

(computing theory, of a decision problem) That is both NP (solvable in polynomial time by a non-deterministic Turing machine) and NP-hard (such that any (other) NP problem can be reduced to it in polynomial time).


alpha-beta pruning

(computing theory) An algorithm for pruning a search tree by eliminating any branch that is demonstrably inferior to a branch previously encountered.

alfa–beeta-karsinta

algorithm for pruning a search tree by eliminating inferior branches


search tree

The red-black tree is a balanced binary search tree that has quite fast insert and delete operations and is always sorted.

(computing theory) A tree (data structure) set up to facilitate searching.


Kolmogorov complexity

Kolmogorov complexity (countable and uncountable, plural Kolmogorov complexities)

(computing theory) The complexity of an information object—such as a book or an image—informally defined as the length of the shortest program that produces that information object as output.

Kolmogorovova složitost

complexity defined as the length of the shortest program


parameterless

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-parameterless.wav

(computing theory) Taking no parameters; having zero arity.


inorder

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-inorder.wav

(computing theory) Of a tree traversal, recursively visiting the root in between the left and right subtrees.


postorder

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-postorder.wav

(computing theory) Of a tree traversal, recursively visiting the left and right subtrees before the root.


in-order

(computing theory) Alternative spelling of inorder


post-order

(computing theory) Alternative spelling of postorder


co-recursively enumerable

en-adj

co-recursively enumerable (not comparable)

corecursively enumerable (alternative)
co-r.e. (alternative)

Any recursively enumerable set which is also co-recursively enumerable is a decidable set.

(computing theory) Describing a set for which there exists a deterministic algorithm that will list all items not in that set.


r.e.

(computing theory) Abbreviation of recursively enumerable.


semi-decidable

(computing theory) Of a set, such that there is a deterministic algorithm such that (a) if an element is a member of the set, the algorithm halts with the result "positive", and (b) if an element is not a member of the set, (i) the algorithm does not halt, or (ii) if it does, then with the result "negative".


edit distance

We introduce an exact formula for the maximum number of common supersequences shared by sequences at a certain edit distance, yielding an upper bound on the number of distinct traces necessary to guarantee exact reconstruction.

2016, Frederic Sala, Ryan Gabrys, Clayton Schoeny, Lara Dolecek, “Exact Reconstruction from Insertions in Synchronization Codes”, in arXiv:

(computing theory) Synonym of string distance.


midrise

mid-rise (alternative)
mid rise (alternative)

midrise quantization

(computing theory, data compression) Having a zero-valued classification threshold (analogous to a riser of a stairway).


polytype

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-polytype.wav

Coordinate term: monotype

(computing theory) In the Hindley–Milner type system, a data type containing variables bound by one or more ∀ (for-all) quantifiers.


star height

From the Kleene star and the idea of nested levels having a "height"; coined in 1963 by Lawrence C Eggan.

(computing theory) A measure of the structural complexity of a regular expression, equal to the maximum nesting depth of stars in the expression.


supertree

LL-Q1860 (eng)-Flame, not lame-supertree.wav

(computing theory) A tree that contains another tree.


primitive recursion

en-noun

primitive recursion (countable and uncountable, plural primitive recursions)

(computing theory) Recursion to a fixed depth.

(computing theory) The operator ρ, that creates a new function from two functions g, and h, such that:

The operator ρ, that creates a new function from two functions g, and h, such that:
 ρ(g,h)(0,x_1,…,x_k)=g(x_1,…,x_k)\ρ(g,h)(y+1,x_1,…,x_k)=h(y,ρ(g,h)(y,x_1,…,x_k),x_1,…,x_k),.


subparse

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-subparse.wav

(computing theory) A parse that makes up part of a larger parse.


P-complete

(computing theory) Describing any problem in the complexity class P to which there exists a polynomial time mapping from any other problem in P.

P-täydellinen

describing any problem in P to which there exists a polynomial time mapping from any other problem in P


P-complete

(computing theory) The set of such problems.


subnode

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-subnode.wav

Without subnodes, all instances of a data source type share the configuration parameters.

2008, “Selecting subnode configuration properties”, in publib.boulder.ibm.com:

(computing theory) A node within another node of a network or element in a data structure.


Kleene star

After Stephen Cole Kleene (1909-1994), American mathematician.

Coordinate term: Kleene plus

(logic, computing theory) The asterisk, *, used as an operator to concatenate zero or more strings from a given set, widely used in regular expressions.


denormalized

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-denormalized.wav

(computing theory, of a number) Denormal.


big O notation

LL-Q1860 (eng)-Flame, not lame-big O notation.wav

From the capital letter O (short for order, originally German Ordnung) used in the notation.

(mathematics, computing theory) A particular notation, useful in the analysis of algorithms, which describes the limiting behavior of a function when the argument tends towards a particular value or infinity, usually in terms of simpler functions.


grammarless

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-grammarless.wav

A few languages are either virtually grammarless, like Chinese, or have few supplementary morphemes grouped in form-classes, like English or French.

1947, Melville Jacobs, Bernhard Joseph Stern, Outline of anthropology:

2001, F A Grootjen, Relational Indexing Using a Grammarless Parser:

(linguistics, computing theory) Without grammar or a grammar.


liveness

liveness (usually uncountable, plural livenesses)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-liveness.wav

(computing theory) A set of properties of a concurrent system that require the system to make progress despite the fact that its concurrently executing processes may have to take turns in critical sections.


metaspace

metaspace (countable and uncountable, plural metaspaces)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-metaspace.wav

(computing theory) The conceptual space occupied by metaobjects.


beta reduction

beta reduction (countable and uncountable, plural beta reductions)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-beta reduction.wav

A natural deduction tree can be put in exact correspondence with typed λ-calculus (that can be considered as just a notation for such deductions), and the cut-elimination in Natural Deduction corresponds exactly to β-reduction in λ-calculus.

1996, Roberto DiCosmo with Vincent Danos, The Linear Logic Primer, Université de Paris VII, retrieved 2016-04-18, page 43:

(computing theory) One of the three rewrite rules of the lambda calculus, which states that the application of a lambda abstraction (λx.t) to a term s yields an expression t[s/x], "t with s instead of x", where all free instances of x in t have been replaced by s.


nonidling

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-nonidling.wav


rematerialization

rematerialization (usually uncountable, plural rematerializations)

rematerializations (plural)
rematerialisation (alternative)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-rematerialization.wav

(computing theory, uncountable) A compiler optimization that saves time by recomputing a value instead of loading it from memory.


nonblocking

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-nonblocking.wav

(computing theory) That does not block; allowing other tasks to proceed immediately rather than having to wait for completion.


denormal

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-denormal.wav

From de- + normal? or from denormalized?

(computing theory, of a number) Smaller than the smallest normal number but larger than zero, thus serving to fill the underflow gap.


denormal

(computing theory) A number that is denormal.


random access

(computing theory) The ability to access any element of a sequence in real time, without having to seek through preceding elements.

hajasaanti

ability to access any element of a sequence without having to seek


jump list

jump lists (plural)
jumplist (alternative)

(computing theory) A kind of sorted linked list with additional pointers to connect data items that are various distances apart.


Turing jump

computability theory
computability theory

(computing theory) In computability theory, an operation that assigns to each decision problem X a successively harder decision problem X′ with the property that X′ is not decidable by an oracle machine with an oracle for X.


oracle machine

Thus, an oracle machine (which enacts an oracle algorithm) would be like an ordinary Turing machine, except that adjoined to its ordinary computational operations would be another operation: ‘Call in the oracle and ask it whether C_q(n) stops; […]

1994, Roger Penrose, “Quantum theory and the brain”, in Shadows of the Mind, Oxford University Press, →ISBN, page 380:

(computing theory) In computability theory, a form of theoretical Turing machine, able to solve even undecidable decision problems in a single operation.


metacompilation

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-metacompilation.wav

(computing theory) A computation which involves metasystem transitions from a computing machine to a metamachine which controls, analyzes and imitates the work of the original machine.


leaf node

(computing theory) A node, in a tree, that has no children.


backjumping

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-backjumping.wav

From back + jumping, modelled on backtracking.

(computing theory) A form of backtracking that may move more than one level at a time, used to improve the efficiency of certain algorithms.


Shor's algorithm

(computing theory) A quantum algorithm for finding the prime factors of an integer.


superrecursive

LL-Q1860 (eng)-Flame, not lame-superrecursive.wav

From super- + recursive, coined by Mark Burgin.

(computing theory) Being a generalization of ordinary algorithms that are more powerful than Turing machines.


bundle adjustment

bundle adjustment (plural bundle adjustments)

(computing theory, computer graphics) A process used in the reconstruction of a three-dimensional model from a set of photographs, simultaneously refining the coordinates describing the scene geometry as well as the parameters of the relative motion and the optical characteristics of the cameras that took the pictures.


minheap

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-minheap.wav

Minheaps are often used to implement priority queues.

(computing theory) A heap data structure with a "greater than or equal to" comparison function.


maxheap

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-maxheap.wav

(computing theory) A heap data structure with a "less than or equal to" comparison function.


smoothsort

(computing theory) A sorting algorithm based on heapsort but using the Leonardo numbers, tending to perform better than heapsort in cases where the items to be sorted are already partially sorted.


CFG

context-free grammar
context-free grammar#English

(linguistics, computing theory) Initialism of context-free grammar.


NP-hard

(computing theory) A problem H is NP-hard if and only if there is an NP-complete problem L that is polynomial time Turing-reducible to H.

(computing theory) An alternative definition restricts NP-hard to decision problems and then uses polynomial-time many-one reduction instead of Turing reduction.


bandelet

From French bandelette, diminutive of bande. See band and bendlet.

(computing theory) An orthonormal basis that is adapted to geometric boundaries, used in image processing.


subtype polymorphism

(programming, computing theory) Synonym of subtyping


Ackermann function

/ˈækə(ɹ)mən ˈfʌŋkʃən/

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-Ackermann function.wav

(computing theory) One of the simplest and earliest examples of a total computable function that is not primitive recursive.


bucket sort

(computing theory) A sorting algorithm that partitions an array into a number of buckets (groups of elements) which are then individually sorted, either recursively or using some other algorithm.


antimessage

From anti- + message. Compare antimatter, which annihilates matter.

(computing theory) A message in a distributed system whose purpose is to cancel out another specific message sent previously.


unparse

en-verb

unparse (third-person singular simple present unparses, present participle unparsing, simple past and past participle unparsed)

unparses (present singular third-person)
unparsing (participle present)
unparsed (participle past)
unparsed (past)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-unparse.wav

(transitive, computing theory) To perform the reverse operation of parsing upon.


decision problem

en-noun

decision problem (plural decision problems)

The problem "given two numbers x and y, does x evenly divide y?" is a decision problem.

(computing theory) A question in some formal system with a yes-or-no answer, depending on the values of input parameters.


first-fit

(computing theory) Of or relating to a fast but non-optimal algorithm for the Bin packing problem, placing each item into the first bin in which it will fit.


Huffman coding

Huffman coding (countable and uncountable, plural Huffman codings)

Named after its inventor David A. Huffman (1925–1999).

named-after

In Huffman coding, shorter code-words are assigned to more frequent symbols so that the average code-length is reduced.

2018, Keshab K. Parhi, Takao Nishitami, editors, Digital Signal Processing for Multimedia Systems, CRC Press, →ISBN:

(computing theory) An entropy-encoding algorithm used for lossless data compression, involving a variable-length code table derived from the estimated probability of occurrence of each symbol (so that more frequent symbols take less space to store).


backjump

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-backjump.wav

(computing theory) A jump from one level of an algorithm to another, used in backjumping.


library sort

By analogy with a librarian who leaves gaps between books so that inserting a new book does not require moving so many of the existing books.

(computing theory) A form of insertion sort that leaves gaps between elements to accelerate subsequent insertions.


mixfix

(computing theory) Being or relating to a kind of operator that can combine any of the infix, prefix, postfix, and closed notations.


autoprojector

(computing theory) A system that carries out autoprojection.


autoprojection

(computing theory) self-applicable partial evaluation


partial evaluation

(computing theory) A technique for program optimization by specialization, so as to produce new programs which run faster than the originals while guaranteed to behave in the same way.


metacircularity

programming language
programming language

(computing theory) The property of an interpreter that is written in the same programming language that it interprets, and that exploits homoiconicity to reuse the existing facilities of the parent interpreter rather than reimplementing them.


midtread

midtread quantization

(computing theory, data compression) Having a zero-valued reconstruction level (analogous to a tread of a stairway).


midriser

(computing theory, data compression) Alternative form of midrise


backpatch

en-verb

backpatch (third-person singular simple present backpatches, present participle backpatching, simple past and past participle backpatched)

backpatches (present singular third-person)
backpatching (participle present)
backpatched (participle past)
backpatched (past)

(computing theory) To update (partially compiled code) with jump addresses that were previously left as placeholders because they had not yet been encountered in the source code.


BDD

en-noun

BDD (countable and uncountable, plural BDDs)

(computing theory) Initialism of binary decision diagram.


NP-easy

(computing theory) Solvable in polynomial time by a deterministic Turing machine with an oracle for some decision problem in NP.


NP-equivalent

(computing theory) Both NP-easy and NP-hard.


Canadian traveller problem

Introduced by Christos Papadimitriou and Mihalis Yannakakis in 1989. Supposed to allude to the difficulties experienced by Canadian drivers with snowfall randomly blocking roads.

(computing theory) A generalization of the shortest path problem to graphs that are only partially observable (i.e. the graph is revealed while it is being explored).


hash tree

(computing theory) A tree (data structure) in which every non-leaf node is labelled with the hash of the labels of its children.


critical exponent

critical exponent (plural critical exponents)

The critical exponent of "Mississippi" is 7/3, as it contains the string "ississi", which is of length 7 and period 3.

(mathematics, computing theory) The greatest number of times that a contiguous subsequence can be repeated.


transrecursive

(computing theory) Being or relating to a type of operator used in hypercomputation.


Lanczos algorithm

(computing theory) An iterative algorithm that is an adaptation of power methods to find the most useful eigenvalues and eigenvectors of an nth-order linear system with a limited number of operations, m, where m is much smaller than n.


bitonic

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-bitonic.wav

(computing theory, of a sequence) Having the property x_0≤⋯≤x_k≥⋯≥x_n-1 for some k,0≤k<n, or being a circular shift of such a sequence.


Bloom filter

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-Bloom filter.wav

Conceived by Burton Howard Bloom in 1970.

(computing theory) A space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positive matches are possible, but false negatives are not.


prefix coding

prefix codings (plural)
prefix code (alternative)

A prefix coding can use a code with code words {9, 55}, as it has the prefix property. However, a code consisting of {9, 5, 59, 55} is not allowed, as "5" is a prefix of "59" and also of "55".

(computing theory) A coding system that uses (typically variable-length) codes that are distinguished by their "prefix property", which requires that there is no code word in the system that is a prefix (initial segment) of any other code word in the system.


splay tree

(computing theory) A self-balancing binary search tree with the additional property that recently accessed elements are quick to access again.


Karatsuba algorithm

Karatsuba algorithm (plural Karatsuba algorithms)

Discovered by Anatolii Alexeevitch Karatsuba in 1960 and published in 1962.

(computing theory) A fast multiplication algorithm that reduces the multiplication of two n-digit numbers to at most n^(log ₂₃)≈n^(1.585) single-digit multiplications.


Toom-Cook algorithm

Named after Andrei Toom and Stephen Cook.

(computing theory) A multiplication algorithm that multiplies large integers by recursively splitting them into smaller parts and performing operations on the parts.


Schönhage-Strassen algorithm

Developed by Arnold Schönhage and Volker Strassen in 1971.

(computing theory) An asymptotically fast recursive multiplication algorithm for large integers.


prefix tree

(computing theory) Synonym of trie (“data structure”)


working set

(computing theory) The amount of memory required by a process in a given time interval.


metacomputation

metacomputation (countable and uncountable, plural metacomputations)

(computing theory) The transformation of computer programs based on their semantics.


leafwise

In particular, in the case where the boundary holonomy is infinitely tangent to the identity, we determine the structure of the group of leafwise holomorphic automorphisms.

2015, Tomohiro Horiuchi, “Reeb components of leafwise complex foliations and their symmetries II”, in arXiv:

(mathematics, computing theory) In terms of the leaves of a tree or similar data structure.


subheap

(computing theory) A heap (data structure) making up part of a larger heap.


paddable

Under a weaker assumption, that some problem in BQP is hard on average for P/poly, we show that every paddable language outside BPP is sculptable in this way.

2015, Scott Aaronson, Shalev Ben-David, “Sculpting Quantum Speedups”, in arXiv:

(computing theory) Capable of being padded; said of a set whose strings can be transformed into infinitely many further strings in the set.


lambda abstraction

lambda abstraction (plural lambda abstractions)

(computing theory) A lambda term of the form (λx.t) where x is a variable and t another lambda term. Any free instance of x within t (considered by itself) then becomes bound by the λx. prefix. It is meant to represent an anonymous function.


lambda term

A lambda term can have one of these three forms: (1) a variable by itself, (2) a lambda abstraction, (3) an application of one lambda term to another one.

(computing theory) A well-formed formula in the language of a lambda calculus.


alpha conversion

alpha conversion (countable and uncountable, plural alpha conversions)

(computing theory) One of the three rewrite rules of lambda calculus, in which a bound variable of a lambda term is replaced by another variable across its entire scope. So if there is a lambda term of the form (λx.t) and it is desired to have x replaced with y, then the rewritten lambda term would have the form (λy.t[y/x]) where t[y/x], "t with y instead of x", has had all free instances of x in t replaced with y.


eta conversion

eta conversion (countable and uncountable, plural eta conversions)

(computing theory) One of the three rewrite rules of lambda calculus, which expresses a sort of tautology about function application. The rule says that a lambda abstraction of the form (λx.(fx)) may be rewritten as simply f, provided that x does not occur freely in f (considered by itself).


bogosort

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-bogosort.wav

(computing theory, informal) An intentionally poor sorting algorithm that operates by randomly permuting the elements repeatedly until they happen to fall into the correct order.


selection sort

(computing theory) A sorting algorithm that divides the input list into two sublists — items already sorted, and items not yet sorted — and gradually transfers elements from one list to the other.


Shellsort

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-Shellsort.wav

From Shell + sort, after Douglas Shell, who published the first version in 1959.

(computing theory) A sorting algorithm that starts by sorting pairs of elements that are far apart from each other, then progressively reduces the gap between elements to be compared.


Chomsky Normal Form

Named after Noam Chomsky (b. 1928), American linguist and philosopher, who first described it.

Any ε-free Context Free Grammar can be converted (through an algorithm) into one in Chomsky Normal Form, and there is an algorithm that can parse formulas in the language of such a grammar in polynomial time; it is called the CYK algorithm.

context-free grammar
context-free grammar

(computing theory) A context-free grammar in which the right hand side of any production rule consists of either one terminal symbol or two non-terminal symbols.

(computing theory) A context-free grammar in which the right hand side of any production rule consists of either one terminal symbol or two non-terminal symbols (neither of which is the start symbol) or the epsilon (i.e. null string) symbol, but only if the left hand side is the start symbol. (Note: this is the full-fledged version, whereas the previous definition may be said to be defining Chomsky reduced form.)


Chaitin's constant

(computing theory) A real number that informally represents the probability that a randomly-constructed program will halt.


Hoare triple

Part of the Hoare logic proposed in 1969 by the British computer scientist and logician Tony Hoare.

(computing theory) A formal description of how the execution of a piece of code changes the state of the computation in Hoare logic, consisting of a command to be run, a precondition that holds true beforehand, and a postcondition that holds true afterwards.


Hoare logic

Hoare logic (countable and uncountable, plural Hoare logics)

Proposed in 1969 by the British computer scientist and logician Tony Hoare.

(computing theory) A formal system of rules for reasoning about the correctness of computer programs, based on Hoare triples, which describe the state of the system before and after various operations.


pseudoalgorithm

LL-Q1860 (eng)-Flame, not lame-pseudoalgorithm.wav

(computing theory) A description of a process that resembles, but is not in fact, an algorithm, as for example by being written in vague pseudocode.


Kadane's algorithm

Devised by Jay Kadane of Carnegie-Mellon University.

(computing theory) An algorithm for finding the contiguous subarray within a one-dimensional numeric array which has the largest sum.


Mealy machine

Named after George H. Mealy, who presented the concept in a 1955 paper.

finite-state machine
finite-state machine

(computing theory) A finite-state machine whose output values are determined by both its current state and its current inputs.


Moore machine

Named after Edward F. Moore, who presented the concept in a 1956 paper.

(computing theory) A finite-state machine whose output values are determined solely by its current state.


tracelet

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-tracelet.wav

(computing theory) A short fragment of the trace of execution of a computer program, used in automated systems that attempt to understand and optimize source code.


Karp reduction

Karp reduction (countable and uncountable, plural Karp reductions)

(computing theory) A polynomial-time algorithm for transforming inputs to one problem into inputs to another problem, such that the transformed problem has the same output as the original.


Karp-reducible

(computing theory) Capable of undergoing Karp reduction.


binary search

binary search (countable and uncountable, plural binary searches)

(computing theory) A search for a value within a sorted array by repeatedly comparing the target value with the middle element; if they are unequal, the half in which the target cannot lie is eliminated and the comparison is repeated on the remaining half.


nonleaf

(computing theory) A node in a data structure that is not a leaf node.


Burrows-Wheeler transform

Burrows-Wheeler transform (plural Burrows-Wheeler transforms)

Invented by Michael Burrows and David Wheeler in 1994.

(computing theory) An algorithm used in data compression that rearranges a character string into runs of similar characters.


Knuth-Bendix completion algorithm

Named after Donald Knuth and Peter Bendix.

(computing theory) A semidecision algorithm for transforming a set of equations (over terms) into a confluent term rewriting system.

Donald Knuth
Knuth-Bendix completion algorithm


frame problem

artificial intelligence
artificial intelligence

(computing theory) The problem of finding an adequate collection of axioms making up a viable description of the world for a robot or artificial intelligence.


Patricia tree

Patricia trees (plural)
Patricia trie (alternative)

Coined by Donald R. Morrison in 1968, as an acronym of practical algorithm to retrieve information coded in alphanumeric, designed to spell out the name Patricia.

(computing theory) A radix tree with radix of 2, meaning that each bit of the key is compared individually and each node is a two-way branch.


radix tree

(computing theory) A space-optimized trie data structure in which each node that is the only child is merged with its parent.


Reingold-Tilford algorithm

Reingold-Tilford algorithm (plural Reingold-Tilford algorithms)

Introduced in a 1981 paper by Edward Reingold and John Tilford.

(computing theory) An algorithm that generates aesthetically pleasing drawings of binary trees (and by extension, n-ary trees).


Turing reduction

Turing reduction (plural Turing reductions)

(computing theory) A reduction that solves a problem if the solution to another problem is already known, i.e. an algorithm that could be used to solve A if it had available to it a subroutine for solving B.


Cook reduction

(computing theory) A Turing reduction that runs in polynomial time.


coobservable

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-coobservable.wav

In this paper, we show how to compute a controllable and coobservable sublanguage of the specification in a computationally efficient way.

2015, Jan Komenda, Tomáš Masopust, “On the Computation of Controllable and Coobservable Sublanguages in Decentralized Supervisory Control”, in arXiv:

(computing theory) Of a behaviour in a distributed system: such that decisions can be made by each site based on what it observes, without the need for input from other sites.


coobservability

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-coobservability.wav

(computing theory) The condition of being coobservable


multilist

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-multilist.wav

(computing theory) A data structure comprising several lists.


Richardson's theorem

It was proved in 1968 by computer scientist Daniel Richardson of the University of Bath.

(computing theory) A theorem that establishes a limit on the extent to which an algorithm can decide whether certain mathematical expressions are equal.


thundering herd problem

thundering herd problem (plural thundering herd problems)

Adding to execution and monitoring challenges is the “thundering herd” problem endemic to distributed systems, also discussed in Chapter 24. Given a large enough periodic pipeline, for each cycle, potentially thousands of workers immediately start work.

2016, Niall Richard Murphy, Betsy Beyer, Chris Jones, Jennifer Petoff, Site Reliability Engineering: How Google Runs Production Systems, O'Reilly, →ISBN:

(computing theory) The undesirable situation where a large number of processes waiting for an event are awoken whenever the event occurs, and then engage in a conflict over which process handles the event.


sleeping barber problem

sleeping barber problem (plural sleeping barber problems)

By analogy with a barber who sleeps while not cutting hair, and whose customers wake him on arrival. Since actions such as entering the salon and looking around take variable amounts of time, this may lead to a situation where both barber and customer(s) are futilely waiting for each other.

(computing theory) A problem of interprocess communication and synchronization where one process responds to requests from multiple other threads and sleeps when not doing so. In some cases this may lead to an undesirable state where components are waiting for each other despite being ready.


lock convoy

(computing theory) The undesirable situation where multiple threads of equal priority contend repeatedly for the same lock.


decommit

en-verb

decommit (third-person singular simple present decommits, present participle decommitting, simple past and past participle decommitted)

decommits (present singular third-person)
decommitting (participle present)
decommitted (participle past)
decommitted (past)

(computing theory, engineering) To deactivate or decommission.


Ramer-Douglas-Peucker algorithm

the Douglas-Peucker algorithm (canonical)

Named after Urs Ramer, David Douglas and Thomas Peucker.

(computing theory) An algorithm that examines a curve composed of line segments (i.e. a polyline) and attempts to find a similar curve with fewer points.


sequentialization

en-noun

sequentialization (countable and uncountable, plural sequentializations)

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-sequentialization.wav

(computing theory) The conversion of a parallel algorithm into sequential form.


autoconcurrency

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-autoconcurrency.wav

(computing theory) The situation where two instances of the same actions occur simultaneously and in parallel.


Rice's theorem

Named after Henry Gordon Rice, who proved it in 1951.

(computing theory) A theorem stating that all nontrivial semantic properties of programs are undecidable.


Timsort

From Tim + sort, named after Tim Peters, who implemented it in 2002 for the Python programming language.

(computing theory) A sorting algorithm derived from mergesort and insertion sort, designed to perform well on many kinds of real-world data.


quasitrivial

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-quasitrivial.wav

(mathematics, computing theory) Trivial in a restricted sense or to some limited extent.


autoconcurrent

(computing theory) Exhibiting or relating to autoconcurrency; occurring simultaneously and in parallel.


Flajolet-Martin algorithm

Introduced by Philippe Flajolet and G. Nigel Martin in their 1984 article "Probabilistic Counting Algorithms for Data Base Applications".

(computing theory) An algorithm for approximating the number of distinct elements in a stream with a single pass and logarithmic space consumption.


Hopcroft's algorithm

finite-state automaton
finite-state automaton

(computing theory) An algorithm for merging the non-distinguishable states of a deterministic finite-state automaton, based on partitioning the states into groups by their behaviour.


skip list

Skip list follows a linked list alike structure. However, the worst case time complexity for a search operation in linked list in O(n) as the list is linearly traversed while searching whereas for a skip list it is O(#92;logn).

2021, Neeraj Kumar, Arzoo Miglani, Probabilistic Data Structures for Blockchain-Based Internet of Things Applications, CRC Press, →ISBN, page 187:

(computing theory) A probabilistic data structure that allows fast search within an ordered sequence of elements by maintaining a linked hierarchy of subsequences, with each successive subsequence skipping over fewer elements than the previous one.


cubesort

From cube + sort, in reference to the multidimensional data structure.

(computing theory) A parallel sorting algorithm that builds a self-balancing multidimensional array from the keys to be sorted.


self-balancing

a self-balancing binary search tree

(computing theory) Of a data structure: able to maintain a small height (number of levels) regardless of insertions and deletions.


Church-Rosser theorem

Introduced by Alonzo Church and J. Barkley-Rosser in a 1936 paper.

(mathematics, computing theory) A theorem stating that, when applying reduction rules to terms in the lambda calculus, the ordering in which the reductions are chosen makes no difference to the eventual result.


piece table

(computing theory) A data structure consisting of an original document and a series of insertions and deletions referring back to parts of the original or modified document, typically used to represent a series of edit operations on text.


LCG

linear congruential generator
linear congruential generator#English

(computing theory) Initialism of linear congruential generator.


Savitch's theorem

(computing theory) A theorem giving a relationship between deterministic and non-deterministic space complexity.


false sharing

(computing theory) A performance-degrading usage pattern where the size of units in a cache means that the system may reload entire units even when it is not necessary.


Amdahl's law

Named after American computer scientist Gene Amdahl (1922–2015).

named-after

We can use Amdahl's law to estimate performance improvements when we know the time consumed for some function and its potential speedup.

2011, David A. Patterson, John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Elsevier, →ISBN, page 52:

(computing theory) A formula giving the theoretical speedup in latency of the execution of a task at fixed workload that can be expected of a system whose resources are improved.


Gustafson's law

Named after computer scientist John L. Gustafson.

(computing theory) A formula giving the theoretical speedup in latency of the execution of a task at fixed execution time that can be expected of a system whose resources are improved.


pachinko allocation

(computing theory) In machine learning and natural language processing, a suite of algorithms to determine the thematic structure of a collection of documents by modelling correlations between topics in addition to the word correlations that constitute topics.


Knuth-Morris-Pratt algorithm

the Knuth-Morris-Pratt algorithm (canonical)

The algorithm was conceived in 1970 by Donald Knuth and Vaughan Pratt, and independently by James H. Morris.

(computing theory) A linear-time algorithm that searches for occurrences of one text string within another, employing the observation that when a mismatch occurs, the search string itself embodies sufficient information to determine where the next match could begin, thus reducing the number of possible match locations that must be checked.


linear time

(computing theory) The time complexity, denoted O(n), of an algorithm whose running time increases at most linearly with the size of the input.


Comba multiplication

(computing theory) An efficient multiplication algorithm for large numbers.


quaject

(computing theory) An object-like data structure containing both data and code (or pointers to code), typically used as an abstraction to manage self-modifying code.


finite-state machine

en-noun

finite-state machine (plural finite-state machines)

finite-state machines (plural)
FSM (alternative initialism)

(computing theory) A formalism for describing computation, consisting of a finite set of states and a transition function describing when to move from one state to another.


shunting-yard algorithm

By analogy to the operations in a railroad shunting yard.

(computing theory) A method for parsing mathematical expressions specified in infix notation.


Grover's algorithm

Named after Indian-American computer scientist Lov Grover, who devised the algorithm in 1996.

2006, E. Arikan, 22: An Upper Bound on the Rate of Information Transfer by Grover's Algorithm, Rudolf Ahlswede et al. (editors), General Theory of Information Transfer and Combinatorics, Springer, LNCS 4123, page 452,
Thus, Grover's algorithm has optimal order of complexity. Here, we present an information-theoretic analysis of Grover's algorithm and show that the square-root speed-up by Grover's algorithm is the best possible by any algorithm using the same quantum oracle.

2018, Joseph F. Fitzsimons, Eleanor G. Rieffel, Valerio Scarani, 11: Quantum Frontier, Justyna Zander, Pieter J. Mosterman (editors), Computation for Humanity, Taylor & Francis (CRC Press), page 286,
The best possible classical algorithm uses O(N) time. This speed up is only polynomial, but, unlike for Shor's algorithm, it has been proven that Grover's algorithm outperforms any possible classical approach.

|Q_A⟩=Gʳ|Ψ(0)⟩≈ sin ((2r+1)ϕ)1/√∑_( mathit )solutions|y⟩ (3.59)
where the probability of finding a nonsolution is presumed to be small and has been neglected in the equation.

2022 [2008 Morgan & Claypool], Marco Lanzagorta, Jeffrey Uhlmann, Quantum Computer Science, Springer Nature, page 49, However, we cannot output the entire solution dataset using a single application of Grover's algorithm. Indeed, the superposition of states for the last iteration of Grover's algorithm, with known k, looks like

(computing theory) A quantum algorithm that finds with high probability the unique input to a black-box function that produces a particular output value.


Suurballe's algorithm

Devised by John W. Suurballe and published in 1974.

(computing theory) An algorithm for finding two disjoint paths in a non-negatively-weighted directed graph, so that both paths connect the same pair of vertices and have minimum total length.


treelist

(computing theory) A list of trees (the data structure).


Blum's speedup theorem

(computing theory) A fundamental theorem about the complexity of computable functions, stating that for any complexity measure there are computable functions that are not optimal with respect to that measure.


Buchberger's algorithm

Invented by Austrian mathematician Bruno Buchberger.

(computing theory) An algorithm for transforming a given set of generators for a polynomial ideal into a Gröbner basis with respect to some monomial order.


Gröbner basis

Introduced in 1965 by Austrian mathematician Bruno Buchberger, who named them after his academic advisor Wolfgang Gröbner.

(computing theory) A particular kind of generating set of an ideal in a polynomial ring K[x1, ..,xn] over a field K. It allows many important properties of the ideal and the associated algebraic variety to be deduced easily, such as the dimension and the number of zeros when it is finite.

Bruno Buchberger
Gröbner basis
Wolfgang Gröbner


Brewer's theorem

Named after computer scientist Eric Brewer.

(computing theory) A theorem stating that it is impossible for a distributed data store to simultaneously provide more than two of three guarantees: consistency (every read receives the most recent write or an error), availability (every request receives a non-error response, without the guarantee that it contains the most recent write), and partition tolerance (the system continues to operate despite an arbitrary number of messages being dropped or delayed between nodes).


Kernighan-Lin algorithm

Devised by Shen Lin and Brian Kernighan.

(computing theory) A heuristic algorithm for finding partitions of graphs, having important applications in the layout of digital circuits and components in VLSI.


Fiduccia-Mattheyses algorithm

the Fiduccia-Mattheyses algorithm (canonical)

Introduced in a 1982 paper by Fiduccia and Mattheyses.

(computing theory) An iterative heuristic algorithm for bipartitioning a hypergraph.


Lin-Kernighan heuristic

travelling salesman problem
travelling salesman problem

(computing theory) In combinatorial optimization, a heuristic for solving the symmetric travelling salesman problem, involving the swapping of pairs of subtours to make a new tour.


Turing tape

Turing tape (countable and uncountable, plural Turing tapes)

(computing theory) The infinitely long memory tape on which a Turing machine would operate, consisting of individual cells that can be read or written.


buddy memory allocation

(computing theory) A form of memory allocation that divides memory into partitions to try to satisfy a memory request as suitably as possible.


Büchi automaton

Büchi automaton (plural Büchi automatons or Büchi automata)

Büchi automatons (plural)
Büchi automata (plural)

Named after the Swiss mathematician Julius Richard Büchi, who invented this kind of automaton in 1962.

(computing theory) A type of ω-automaton that extends a finite automaton to infinite inputs. It accepts an infinite input sequence if there exists a run of the automaton that visits (at least) one of the final states infinitely often.


double dabble

binary-coded decimal
binary-coded decimal

(computing theory) An algorithm that converts binary numbers into binary-coded decimal notation by means of shift and add operations.


dancing links

The name was suggested by Donald Knuth, because iterations of the algorithm cause the links to interact as if in an “exquisitely choreographed dance”.

(computing theory) A technique for reverting the deletion of a node from a circular doubly-linked list, particularly useful for efficiently implementing backtracking algorithms.


wake-sleep algorithm

wake-sleep algorithm (plural wake-sleep algorithms)

(computing theory) A certain unsupervised learning algorithm for neural networks, having separate "wake" and "sleep" phases that attempt to connect the layers of neurons in alternating directions.


phantom type

2004 July 31, Markus Mottl, "Phantom types" on caml-listhttps://web.archive.org/web/20200622172054/https://caml.inria.fr/pub/ml-archives/caml-list/2004/07/3a19a05047ea9332426bba1d8bc403ce.en.html
Phantom types not only allow you to capture constraints, which are proved by the compiler, they are also perfectly cheap computationally, because you don't have to check things at runtime all the time.

(computing theory) A parameterized type that does not depend on all of its type parameters.


Q-learning

(computing theory) A model-free reinforcement learning algorithm to learn a policy telling an agent what action to take under what circumstances.


metalearning

(computing theory) A form of machine learning where automatic learning algorithms are applied to metadata about machine learning experiments, so that the machine learns how to learn.


ripple carry

(computing theory) The situation where a logic circuit uses multiple full adders to add n-bit numbers, with each full adder taking the output of the previous one as an input.


buddy block

(computing theory) A block of memory associated with another block and able to be merged with it, in the system of buddy memory allocation.


Church-Turing thesis

Named after American mathematician Alonzo Church and British mathematician Alan Turing.

(computing theory) A hypothesis about the nature of computable functions, stating that a function on the natural numbers can be calculated by an effective method if and only if it is computable by a Turing machine.

Alan Turing
Alonzo Church
Church-Turing thesis


FNV

Fowler–Noll–Vo hash function
w:Fowler–Noll–Vo hash function

(computing theory) Initialism of Fowler–Noll–Vo hash function.


busy beaver function

busy beaver function (plural busy beaver functions)

(mathematics, computing theory) The mathematical function, denoted by Σ(n), that maps each positive integer n to the number of steps required for the busy beaver among machines with two colors and n states to terminate.


leaky bucket

(computing theory) A counter or variable that is incremented whenever an event of interest occurs, and also periodically decremented; used in algorithms to check whether events will gradually overflow the system's capacity, for example in a telecommunication network.


token bucket

(computing theory) A fixed-capacity data structure to which tokens or packets are added at a fixed rate; used in algorithms to check whether sufficient tokens will be available when expected, for example in a telecommunication network.


Horner's method

Named after William George Horner, though it significantly pre-dates his work.

(mathematics, computing theory) An algorithm for polynomial evaluation that employs Horner's rule.


Horner's rule

(mathematics, computing theory) The rule stating that a polynomial of degree n can be (optimally) evaluated with only n multiplications and n additions: a_0+a_1x+a_2x²+a_3x³+⋯+a_nxⁿ\=a_0+x bigg (a_1+x Big (a_2+x big (a_3+⋯+x(a_n-1+x,a_n)⋯ big ) Big ) bigg ).


NEAT

(computing theory) Acronym of neuroevolution of augmenting topologies: a genetic algorithm for the generation of evolving artificial neural networks.


finger tree

(computing theory) A purely functional tree-like data structure offering amortized constant time access to its "fingers" (leaves), used for the efficient implementation of other purely functional data structures.


non-computable

Chaitin's constant is a non-computable number.

(computing theory, mathematics) Not computable.


computable analysis

Mathematical analysis
mathematical analysis

(mathematics, computing theory) Mathematical analysis of computable numbers and functions.


recursive descent

(computing theory) A kind of top-down parsing involving a set of mutually recursive procedures, each of which implements one of the non-terminals of the grammar, so that the structure of the parser program closely mirrors that of the grammar.


Peterson's algorithm

(computing theory) A concurrent programming algorithm for mutual exclusion that allows two or more processes to share a single-use resource without conflict, using only shared memory for communication.


gnome sort

Named by Dutch computer scientist Dick Grune, based on a metaphor of a gnome walking along a line of flowerpots in order to sort them.

(computing theory) A variation of the insertion sort that does not use nested loops.


cycle sort

(computing theory) A sorting algorithm based on the idea that the permutation to be sorted can be factored into cycles that can be rotated individually to give a sorted result.


Zeno machine

(computing theory) A hypothetical computational model, related to Turing machines, that would be capable of carrying out computations involving a countably infinite number of algorithmic steps.


Strassen algorithm

(computing theory) An algorithm for matrix multiplication.


Hindley-Milner type system

Hindley-Milner type system (plural Hindley-Milner type systems)

First described by J. Roger Hindley and later rediscovered by Robin Milner.

parametric polymorphism
parametric polymorphism

(computing theory) A classical type system for the lambda calculus with parametric polymorphism, notable for its completeness and its ability to infer the most general type of a given program without programmer-supplied type annotations or other hints.


jump point search

(computing theory) An optimization to the A* search algorithm for uniform-cost grids.


Algorithm X

(computing theory) A recursive, nondeterministic, depth-first backtracking algorithm for solving the decision problem of whether an exact cover exists.


DLX

(computing theory) Abbreviation of dancing links.


complexity function

complexity function (plural complexity functions)

Komplexitätsfunktion

function that counts distinct factors of a string

It follows that
#92;bullet The length function l#58;A#42;#92;longrightarrow#92;mathcalN is a complexity function on A#42;.

2002, A. V. Borovnik, A. G. Myasnikov, V. Shpilrain, “Measuring Sets in Infinite Groups”, in Robert H. Gilman, Alexei G. Myasnikov, Vladimir Shpilrain, editors, Computational and Statistical Group Theory, American Mathematical Society, page 27:

2003, Julien Cassaigne, Constructing Infinite Words of Intermediate Complexity, Masami Ito, Masafumi Toyama (editors), Developments in Language Theory: 6th International Conference, 6th International Conference, DLT 2002, Revised Papers, Springer, LNCS 2450, page 173,
We present two constructions of infinite words with a complexity function that grows faster than any polynomial, but slower than any exponential.

(group theory, computing theory, of a string) A function that counts the number of distinct factors (substrings of consecutive symbols) in a string of symbols;

A function that counts the number of distinct factors (substrings of consecutive symbols) in a string of symbols;
(of a formal language) a function that counts the number of words of a given length.

Komplexitätsfunktion

function that counts distinct words of a given length in a language

2003, Roberto Segala, Verification of Randomized Distributed Algorithms, Ed Brinksma, Holger Hermanns, Joost-Pieter Katoen (editors), Lectures on Formal Methods and Performance Analysis, Springer, LNCS 2090, page 253,
Let ϕ be a complexity function.

A complexity function need not have a quadratic term to be in O(n²). It need only eventually lie beneath some pure quadratic function on a graph. Therefore, any logarithmic or linear complexity function is in O(n²).

2011, Richard Neapolitan, Kumarss Naimipour, Foundations of Algorithms, 4th edition, Jones & Bartlett Publishers, page 31:

Hence, the worst case time complexity function of Floyd's algorithm is O(n³).

2014, R. Panneerselvam, Research Methodology, 2nd edition, PHI Learning, page 512:

computational complexity
computational complexity

(computing theory, of an algorithm) A function representing the computational complexity an algorithm.

Komplexitätsfunktion

function that represents the computational complexity of an algorithm


uptree

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-uptree.wav

(computing theory) Higher in a tree data structure.


uptree

The principal idea of [JAF 82] is that nodes do not start to update their routing table until all nodes in uptrees are notified.

1986, Wei-Tek Tsai, Control and Management of Large and Dynamic Networks, page 73:

The maximum number of such left or right up-trees that we could scan is O(log N).

2006, Association for Computing Machinery, Twenty-fifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, page 241:

(computing theory) A subtree of a tree data structure that is rooted at a child of the current node (where the root node is considered to be the bottom of a tree).


downtree

LL-Q1860 (eng)-Naomi Persephone Amethyst (NaomiAmethyst)-downtree.wav

(computing theory) Lower in a tree data structure.


downtree

[…] this data structure differs from the tree […] illustrated in Fig. 1, only by having downpointers replaced by downtrees.

1985, Society for Industrial, Applied Mathematics, SIAM Journal on Computing, volume 14, page 244:

[…] these ancestors represent down-trees that were removed.

(computing theory) A subtree of a tree data structure that is immediately below (closer to the tree root) the current node.


downpointer

Except at level zero, the downpointer always points down.

1969, Information Processing: Proceedings of the IFIP Congress, page 1249:

By using the so-called functional approach to data structures Chazelle [1988] developed a compression scheme to encode the downpointers used by Willard [1985] to reduce further the space requirement.

2004, Allen B. Tucker, Computer Science Handbook, pages 11–25:

(computing theory) A pointer in a hierarchical data structure that points to the node that is down from the current node.


finite-state automaton

finite-state automaton (plural finite-state automata)

finite-state automata (plural)
FSA (alternative initialism)

finite-state machine
finite-state machine#English

(computing theory) Synonym of finite-state machine


Day-Stout-Warren algorithm

the Day-Stout-Warren algorithm (canonical)

Designed by Quentin F. Stout and Bette Warren in a 1986 paper, based on work done by Colin Day in 1976.

(computing theory) A method for efficiently balancing a binary search tree.


DSW

Day-Stout-Warren algorithm
Day-Stout-Warren algorithm#English

(computing theory) Initialism of Day-Stout-Warren algorithm.


Brzozowski derivative

Brzozowski derivative (plural Brzozowski derivatives)

Named after the computer scientist Janusz Brzozowski, who investigated its properties.

(computing theory) The set of all strings obtainable from a given set of strings by cutting off a prefix. For example, for the set { cat, cow, dog }, the Brzozowski derivative with respect to c is { at, ow }. They have applications in regular expressions.


Baeza-Yates–Gonnet algorithm

the Baeza-Yates–Gonnet algorithm (canonical)

Named after Ricardo Baeza-Yates and Gaston Gonnet.

(computing theory) Synonym of Bitap algorithm


Bitap algorithm

Levenshtein distance
Levenshtein distance

(computing theory) An algorithm that determines whether a given text contains a substring that is "approximately equal" to a given pattern, defined in terms of Levenshtein distance, and working by means of bitmasks.


Dantzig-Wolfe decomposition

Dantzig-Wolfe decomposition (countable and uncountable, plural Dantzig-Wolfe decompositions)

Originally developed by George Dantzig and Philip Wolfe, who published in 1960.

(computing theory) An algorithm for solving linear programming problems with special structure, relying on delayed column generation for improving the tractability of large-scale linear programs.