In
computation theory
In theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree (e.g., app ...
, 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 how ...
introduced by
Lenore Blum
Lenore Carol Blum (née Epstein, born December 18, 1942) is an American computer scientist and mathematician who has made contributions to the theories of real number computation, cryptography, and pseudorandom number generation. She was a disti ...
,
Michael Shub
Michael Ira Shub (born August 17, 1943) is an American mathematician who has done research into dynamical systems and the complexity of real number algorithms.
Career 1967: Ph.D. and early career
In 1967, Shub obtained his Ph.D. degree at the U ...
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 faculty ...
, intended to describe computations over the
real numbers
In mathematics, a real number is a number that can be used to measurement, measure a continuous variable, continuous one-dimensional quantity such as a time, duration or temperature. Here, ''continuous'' means that pairs of values can have arbi ...
. Essentially, a BSS machine is a
Random Access Machine
In computer science, random-access machine (RAM or RA-machine) is a model of computation that describes an abstract machine in the general class of register machines. The RA-machine is very similar to the counter machine but with the added cap ...
with registers that can store arbitrary real numbers and that can compute
rational functions
In mathematics, a rational function is any function that can be defined by a rational fraction, which is an algebraic fraction such that both the numerator and the denominator are polynomials. The coefficients of the polynomials need not be ra ...
over reals in a single time step. It is closely related to the
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 alg ...
, because the latter are by definition restricted to a
finite set
In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example,
is a finite set with five elements. Th ...
of symbols.
A Turing machine can represent a
countable set
In mathematics, a set is countable if either it is finite or it can be made in one to one correspondence with the set of natural numbers. Equivalently, a set is ''countable'' if there exists an injective function from it into the natural numbe ...
(such as the rational numbers) by strings of symbols, but this does not extend to the
uncountable
In mathematics, an uncountable set, informally, 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 number is larger tha ...
real numbers.
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
is the index of the instruction to be executed next,
and
are 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
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); registers
and
may be changed, either by
or
and similarly for
. The next instruction is
.
*Branch(
): if
then goto
; else goto
.
*Copy(
): the content of the "read" register
is copied into the "written" register
; the next instruction is
.
Theory
Blum, Shub and Smale defined the
complexity classes
In computational complexity theory, a complexity class is a set of computational problems "of related resource-based complexity". The two most commonly analyzed resources are time and memory.
In general, a complexity class is defined in terms of ...
P (
polynomial time
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
) and NP (nondeterministic polynomial time) in the BSS model. Here NP is defined by adding an existentially-quantified input to a problem. They give a problem which is NP-complete for the class NP so defined: existence of roots of quartic polynomials. This is an analogue of the
Cook-Levin Theorem for real numbers.
See also
*
Complexity and Real Computation
*
General purpose analog computer
*
Hypercomputation
Hypercomputation or super-Turing computation is a set of hypothetical models of computation that can provide outputs that are not Turing-computable. For example, a machine that could solve the halting problem would be a hypercomputer; so too woul ...
*
Real computer
In computability theory, the theory of real computation deals with hypothetical computing machines using infinite-precision real numbers. They are given this name because they operate on the set of real numbers. Within this theory, it is possible ...
*
Quantum finite automaton
In physics, a quantum (: quanta) is the minimum amount of any physical entity (physical property) involved in an interaction. The fundamental notion that a property can be "quantized" is referred to as "the hypothesis of quantization". This me ...
References
Further reading
*
*
*
{{DEFAULTSORT:Blum-Shub-Smale machine
Models of computation