Topic: Computer science (Page 7)
You are looking at all articles with the topic "Computer science". We found 136 matches.
Hint:
To view all topics, click here. Too see the most popular topics, click here instead.
๐ Warren Abstract Machine
In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set. This design became known as the Warren Abstract Machine (WAM) and has become the de facto standard target for Prolog compilers.
Discussed on
- "Warren Abstract Machine" | 2023-05-12 | 29 Upvotes 1 Comments
- "Warren Abstract Machine" | 2020-03-12 | 55 Upvotes 11 Comments
๐ Higher-order abstract syntax
In computer science, higher-order abstract syntax (abbreviated HOAS) is a technique for the representation of abstract syntax trees for languages with variable binders.
Discussed on
- "Higher-order abstract syntax" | 2016-08-16 | 76 Upvotes 19 Comments
๐ Damm algorithm
In error detection, the Damm algorithm is a check digit algorithm that detects all single-digit errors and all adjacent transposition errors. It was presented by H. Michael Damm in 2004.
Discussed on
- "Damm algorithm" | 2014-11-14 | 75 Upvotes 15 Comments
๐ Fast inverse square root
Fast inverse square root, sometimes referred to as Fast InvSqrt() or by the hexadecimal constant 0x5F3759DF, is an algorithm that estimates โ1โโx, the reciprocal (or multiplicative inverse) of the square root of a 32-bit floating-point number x in IEEE 754 floating-point format. This operation is used in digital signal processing to normalize a vector, i.e., scale it to length 1. For example, computer graphics programs use inverse square roots to compute angles of incidence and reflection for lighting and shading. The algorithm is best known for its implementation in 1999 in the source code of Quake III Arena, a first-person shooter video game that made heavy use of 3D graphics. The algorithm only started appearing on public forums such as Usenet in 2002 or 2003. At the time, it was generally computationally expensive to compute the reciprocal of a floating-point number, especially on a large scale; the fast inverse square root bypassed this step.
The algorithm accepts a 32-bit floating-point number as the input and stores a halved value for later use. Then, treating the bits representing the floating-point number as a 32-bit integer, a logical shift right by one bit is performed and the result subtracted from the number 0x5F3759DF, which is a floating point representation of an approximation of โ2127. This results in the first approximation of the inverse square root of the input. Treating the bits again as a floating-point number, it runs one iteration of Newton's method, yielding a more precise approximation.
The algorithm was originally attributed to John Carmack, but an investigation showed that the code had deeper roots in both the hardware and software side of computer graphics. Adjustments and alterations passed through both Silicon Graphics and 3dfx Interactive, with Gary Tarolli's implementation for the SGI Indigo as the earliest known use. It is not known how the constant was originally derived, though investigation has shed some light on possible methods.
With subsequent hardware advancements, especially the x86 SSE instruction rsqrtss, this method is not generally applicable to modern computing, though it remains an interesting example both historically and for more limited machines.
Discussed on
- "Fast inverse square root" | 2017-01-24 | 17 Upvotes 4 Comments
- "Fast inverse square root" | 2009-10-22 | 37 Upvotes 20 Comments
๐ Homotopy Type Theory
In mathematical logic and computer science, homotopy type theory (HoTT ) refers to various lines of development of intuitionistic type theory, based on the interpretation of types as objects to which the intuition of (abstract) homotopy theory applies.
This includes, among other lines of work, the construction of homotopical and higher-categorical models for such type theories; the use of type theory as a logic (or internal language) for abstract homotopy theory and higher category theory; the development of mathematics within a type-theoretic foundation (including both previously existing mathematics and new mathematics that homotopical types make possible); and the formalization of each of these in computer proof assistants.
There is a large overlap between the work referred to as homotopy type theory, and as the univalent foundations project. Although neither is precisely delineated, and the terms are sometimes used interchangeably, the choice of usage also sometimes corresponds to differences in viewpoint and emphasis. As such, this article may not represent the views of all researchers in the fields equally. This kind of variability is unavoidable when a field is in rapid flux.
Discussed on
- "Homotopy Type Theory" | 2021-06-22 | 64 Upvotes 22 Comments
๐ Ant Colony Optimization Algorithms
In computer science and operations research, the ant colony optimization algorithm (ACO) is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs. Artificial Ants stand for multi-agent methods inspired by the behavior of real ants. The pheromone-based communication of biological ants is often the predominant paradigm used. Combinations of Artificial Ants and local search algorithms have become a method of choice for numerous optimization tasks involving some sort of graph, e.g., vehicle routing and internet routing. The burgeoning activity in this field has led to conferences dedicated solely to Artificial Ants, and to numerous commercial applications by specialized companies such as AntOptima.
As an example, Ant colony optimization is a class of optimization algorithms modeled on the actions of an ant colony. Artificial 'ants' (e.g. simulation agents) locate optimal solutions by moving through a parameter space representing all possible solutions. Real ants lay down pheromones directing each other to resources while exploring their environment. The simulated 'ants' similarly record their positions and the quality of their solutions, so that in later simulation iterations more ants locate better solutions. One variation on this approach is the bees algorithm, which is more analogous to the foraging patterns of the honey bee, another social insect.
This algorithm is a member of the ant colony algorithms family, in swarm intelligence methods, and it constitutes some metaheuristic optimizations. Initially proposed by Marco Dorigo in 1992 in his PhD thesis, the first algorithm was aiming to search for an optimal path in a graph, based on the behavior of ants seeking a path between their colony and a source of food. The original idea has since diversified to solve a wider class of numerical problems, and as a result, several problems have emerged, drawing on various aspects of the behavior of ants. From a broader perspective, ACO performs a model-based search and shares some similarities with estimation of distribution algorithms.
Discussed on
- "Ant Colony Optimization Algorithms" | 2023-07-20 | 13 Upvotes 1 Comments
- "Ant Colony Optimization Algorithms" | 2014-05-03 | 56 Upvotes 14 Comments
๐ Gladys West's vital contributions to GPS technology
Gladys Brown West (nรฉe Gladys Mae Brown; October 27, 1930 โ January 17, 2026) was an African American mathematician. She was known for her contributions to mathematical modeling of the shape of the Earth, and her work on the development of satellite geodesy models, which were later incorporated into the Global Positioning System (GPS).
West was inducted into the United States Air Force Hall of Fame in 2018. She was awarded the Webby Lifetime Achievement Award for the development of satellite geodesy models.
Discussed on
- "Gladys West's vital contributions to GPS technology" | 2026-01-16 | 78 Upvotes 6 Comments
๐ Fixed-Point Combinator
In combinatory logic for computer science, a fixed-point combinator (or fixpoint combinator),:โp.26โ is a higher-order function (i.e. a function which takes a function as argument) that returns some fixed point (a value that is mapped to itself) of its argument function, if one exists.
Formally, if is a fixed-point combinator and the function has one or more fixed points, then is one of these fixed points, i.e.
Fixed-point combinators can be defined in the lambda calculus and in functional programming languages and provide a means to allow for recursive definitions.
Discussed on
- "Fixed-Point Combinator" | 2024-02-23 | 54 Upvotes 26 Comments
๐ CurryโHoward correspondence
In programming language theory and proof theory, the CurryโHoward correspondence (also known as the CurryโHoward isomorphism or equivalence, or the proofs-as-programs and propositions- or formulae-as-types interpretation) is the direct relationship between computer programs and mathematical proofs.
It is a generalization of a syntactic analogy between systems of formal logic and computational calculi that was first discovered by the American mathematician Haskell Curry and logician William Alvin Howard. It is the link between logic and computation that is usually attributed to Curry and Howard, although the idea is related to the operational interpretation of intuitionistic logic given in various formulations by L. E. J. Brouwer, Arend Heyting and Andrey Kolmogorov (see BrouwerโHeytingโKolmogorov interpretation) and Stephen Kleene (see Realizability). The relationship has been extended to include category theory as the three-way CurryโHowardโLambek correspondence.
Discussed on
- "CurryโHoward correspondence" | 2018-08-13 | 55 Upvotes 22 Comments
๐ Program Synthesis
In computer science, program synthesis is the task to construct a program that provably satisfies a given high-level formal specification. In contrast to program verification, the program is to be constructed rather than given; however, both fields make use of formal proof techniques, and both comprise approaches of different degrees of automation. In contrast to automatic programming techniques, specifications in program synthesis are usually non-algorithmic statements in an appropriate logical calculus.
The primary application of program synthesis is to relieve the programmer of the burden of writing correct, efficient code that satisfies a specification. However, program synthesis also has applications to superoptimization and inference of loop invariants.
Discussed on
- "Program Synthesis" | 2024-04-13 | 54 Upvotes 19 Comments