Blum–Shub–Smale Machine
   HOME

TheInfoList



OR:

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 I of N+1 instructions (to be described below), indexed 0, 1, \dots, N. A configuration of M is a tuple (k,r,w,x), where k is the index of the instruction to be executed next, r and w are registers holding non-negative integers, and x=(x_0,x_1,\ldots) is a list of real numbers, with all but finitely many being zero. The list x is thought of as holding the contents of all registers of M. The computation begins with configuration (0,0,0,x) and ends whenever k=N; 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 x_ := g_(x) is performed, where g_ is an arbitrary rational function (a quotient of two polynomial functions with arbitrary real coefficients); registers r and w may be changed, either by r := 0 or r := r + 1 and similarly for w. The next instruction is k+1. *Branch(l): if x_0 \geq 0 then goto l; else goto k+1. *Copy(x_r, x_w): the content of the "read" register x_r is copied into the "written" register x_w; the next instruction is k+1.


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