In
theoretical computer science
Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation.
It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, a probabilistic Turing machine is a
non-deterministic Turing machine that chooses between the available
transitions at each point according to some
probability distribution
In probability theory and statistics, a probability distribution is a Function (mathematics), function that gives the probabilities of occurrence of possible events for an Experiment (probability theory), experiment. It is a mathematical descri ...
. As a consequence, a probabilistic Turing machine can (unlike a deterministic Turing machine) have
stochastic Stochastic (; ) is the property of being well-described by a random probability distribution. ''Stochasticity'' and ''randomness'' are technically distinct concepts: the former refers to a modeling approach, while the latter describes phenomena; i ...
results; that is, on a given input and instruction state machine, it may have different run times, or it may not halt at all; furthermore, it may accept an input in one execution and reject the same input in another execution.
In the case of equal probabilities for the transitions, probabilistic Turing machines can be defined as deterministic
Turing machine
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 ...
s having an additional "write" instruction where the value of the write is
uniformly distributed in the Turing machine's alphabet (generally, an equal likelihood of writing a "1" or a "0" on to the tape). Another common reformulation is simply a
deterministic Turing machine with an added tape full of random bits called the "random tape".
A
quantum computer (or
quantum Turing machine) is another
model of computation that is inherently
probabilistic.
Description
A probabilistic Turing machine is a type of
nondeterministic Turing machine in which each nondeterministic step is a "coin-flip", that is, at each step there are two possible next moves and the Turing machine probabilistically selects which move to take.
Formal definition
A probabilistic Turing machine can be formally defined as the 7-tuple
, where
*
is a finite set of states
*
is the input alphabet
*
is a tape alphabet, which includes the blank symbol #
*
is the initial state
*
is the set of accepting (final) states
*
is the first probabilistic transition function.
is a movement one cell to the left on the Turing machine's tape and
is a movement one cell to the right.
*
is the second probabilistic transition function.
At each step, the Turing machine probabilistically applies either the transition function
or the transition function
.
This choice is made independently of all prior choices. In this way, the process of selecting a transition function at each step of the computation resembles a coin flip.
The probabilistic selection of the transition function at each step introduces error into the Turing machine; that is, strings which the Turing machine is meant to accept may on some occasions be rejected and strings which the Turing machine is meant to reject may on some occasions be accepted. To accommodate this, a language
is said to be recognized ''with error probability
'' by a probabilistic Turing machine
if:
# a string
in
implies that
# a string
not in
implies that
Complexity classes
As a result of the error introduced by utilizing probabilistic coin tosses, the notion of acceptance of a string by a probabilistic Turing machine can be defined in different ways. One such notion that includes several important complexity classes is allowing for an error probability of 1/3. For instance, the complexity class
BPP is defined as the class of languages recognized by a probabilistic Turing machine in
polynomial time with an error probability of 1/3. Another class defined using this notion of acceptance is
BPL, which is the same as BPP but places the additional restriction that languages must be solvable in
logarithmic space
Space is a three-dimensional continuum containing positions and directions. In classical physics, physical space is often conceived in three linear dimensions. Modern physicists usually consider it, with time, to be part of a boundless ...
.
Complexity class
In computational complexity theory, a complexity class is a set (mathematics), set of computational problems "of related resource-based computational complexity, complexity". The two most commonly analyzed resources are time complexity, time and s ...
es arising from other definitions of acceptance include
RP, co-RP, and
ZPP. If the machine is restricted to logarithmic space instead of polynomial time, the analogous
RL, co-RL, and
ZPL complexity classes are obtained. By enforcing both restrictions,
RLP, co-RLP,
BPLP, and ZPLP are yielded.
Probabilistic computation is also critical for the definition of most classes of
interactive proof systems, in which the verifier machine depends on randomness to avoid being predicted and tricked by the all-powerful prover machine. For example, the class
IP equals
PSPACE, but if randomness is removed from the verifier, we are left with only
NP, which is not known but widely believed to be a considerably smaller class.
One of the central questions of complexity theory is whether randomness adds power; that is, is there a problem that can be solved in polynomial time by a probabilistic Turing machine but not a deterministic Turing machine? Or can deterministic Turing machines efficiently simulate all probabilistic Turing machines with at most a polynomial slowdown? It is known that P ⊆ BPP, since a deterministic Turing machine is just a special case of a probabilistic Turing machine. However, it is uncertain whether (but widely suspected that) BPP ⊆ P, implying that BPP = P. The same question for log space instead of polynomial time (does L = BPLP?) is even more widely believed to be true. On the other hand, the power randomness gives to interactive proof systems, as well as the simple algorithms it creates for difficult problems such as polynomial-time primality testing and log-space graph connectedness testing, suggests that randomness may add power.
See also
*
Randomized algorithm
A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic or procedure. The algorithm typically uses uniformly random bits as an auxiliary input to guide its behavior, in the hope of achieving good performan ...
Notes
References
*
*
External links
NIST website on probabilistic Turing machines
{{DEFAULTSORT:Probabilistic Turing Machine
Models of computation
Randomized algorithms
Turing machine