In
computation theory, the Blum–Shub–Smale machine, or BSS machine, is a
model of computation
In computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes h ...
introduced by
Lenore Blum,
Michael Shub and
Stephen Smale
Stephen Smale (born July 15, 1930) is an American mathematician, known for his research in topology, dynamical systems and mathematical economics. He was awarded the Fields Medal in 1966 and spent more than three decades on the mathematics facult ...
, intended to describe computations over the
real numbers
In mathematics, a real number is a number that can be used to measure a ''continuous'' one-dimensional quantity such as a distance, duration or temperature. Here, ''continuous'' means that values can have arbitrarily small variations. Every ...
. Essentially, a BSS machine is a
Random Access Machine
In computer science, random-access machine (RAM) is an abstract machine in the general class of register machines. The RAM is very similar to the counter machine but with the added capability of 'indirect addressing' of its registers. Like the ...
with registers that can store arbitrary real numbers and that can compute
rational functions over reals in a single time step. It is often referred to as
Real RAM
In computing, especially computational geometry, a real RAM ( random-access machine) is a mathematical model of a computer that can compute with exact real numbers instead of the binary fixed point or floating point numbers used by most actual co ...
model. BSS machines are more powerful than
Turing machines
A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
, because the latter are by definition restricted to a finite alphabet. A Turing machine can be empowered to store arbitrary
rational numbers
In mathematics, a rational number is a number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator . For example, is a rational number, as is every integer (e.g. ). The set of all r ...
in a single tape symbol by making that finite alphabet arbitrarily large (in terms of a physical machine using
transistor
upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink).
A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch ...
-based memory, building its memory locations of enough transistors to store the desired number), but this does not extend to the
uncountable
In mathematics, an uncountable set (or uncountably infinite set) is an infinite set that contains too many elements to be countable. The uncountability of a set is closely related to its cardinal number: a set is uncountable if its cardinal numb ...
real numbers (for example, no number of transistors can accurately represent
Pi).
Definition
A BSS machine M is given by a list
of
instructions (to be described below), indexed
. A configuration of M is a tuple
, where ''k'' is the index of the instruction to be executed next, ''r'' and ''w'' are copy registers holding non-negative integers, and
is a list of real numbers, with all but finitely many being zero. The list
is thought of as holding the contents of all registers of M. The computation begins with configuration
and ends whenever
; the final content of ''x'' is said to be the output of the machine.
The instructions of M can be of the following types:
*Computation
: a substitution
is performed, where
is an arbitrary rational function (a quotient of two polynomial functions with arbitrary real coefficients); copy registers ''r'' and ''w'' may be changed, either by
or
and similarly for w. The next instruction is ''k''+1.
*Branch
: if
then goto
; else goto ''k''+1.
*Copy(
): the content of the "read" register
is copied into the "write" register
; the next instruction is ''k''+1
See also
*
Hypercomputation
*
Real computer
*
Real RAM
In computing, especially computational geometry, a real RAM ( random-access machine) is a mathematical model of a computer that can compute with exact real numbers instead of the binary fixed point or floating point numbers used by most actual co ...
Further reading
*
*
*
*
{{DEFAULTSORT:Blum-Shub-Smale machine
Models of computation