In computation theory, the Blum–Shub–Smale machine, or BSS machine, is a model of computation introduced by Lenore Blum, Michael Shub and Stephen Smale, intended to describe computations over the real numbers.[1] Essentially, a BSS machine is a Random Access Machine with registers that can store arbitrary real numbers and that can compute rational functions over reals in a single time step. It is closely related to the Real RAM model.
BSS machines are more powerful than Turing machines, because the latter are by definition restricted to a finite set of symbols.[2] A Turing machine can represent a countable set (such as the rational numbers) by strings of symbols, but this does not extend to the uncountable real numbers.
Definition
editA 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
editBlum, Shub and Smale defined the complexity classes P (polynomial time) 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
editReferences
edit- ^ Blum, Lenore; Shub, Mike; Smale, Steve (1989). "On a Theory of Computation and Complexity over the Real Numbers: NP-completeness, Recursive Functions and Universal Machines" (PDF). Bulletin of the American Mathematical Society. 21 (1): 1–46. doi:10.1090/S0273-0979-1989-15750-9. Zbl 0681.03020.
- ^ Minsky, Marvin (1967). Computation: Finite and Infinite Machines. New Jersey: Prentice–Hall, Inc.
Further reading
edit- Blum, Lenore; Cucker, Felipe; Shub, Mike; Smale, Steve (1998). Complexity and Real Computation. Springer New York. doi:10.1007/978-1-4612-0701-6. ISBN 978-0-387-98281-6. S2CID 12510680. Retrieved 23 March 2022.
- Bürgisser, Peter (2000). Completeness and reduction in algebraic complexity theory. Algorithms and Computation in Mathematics. Vol. 7. Berlin: Springer-Verlag. ISBN 3-540-66752-0. Zbl 0948.68082.
- Grädel, E. (2007). "Finite Model Theory and Descriptive Complexity". Finite Model Theory and Its Applications (PDF). Springer-Verlag. pp. 125–230. Zbl 1133.03001.