Probabilistic Turing machine: Difference between revisions

Content deleted Content added
m Complexity classes: {{noitalic}}, ⊆
m Cleaned up using AutoEd
 
(9 intermediate revisions by 7 users not shown)
Line 1:
{{Short description|Mathematical model of computation}}
{{Use dmy dates|date=May 2020}}
{{turing}}
In [[theoretical computer science]], a '''probabilistic Turing machine''' is a [[non-deterministic Turing machine]] that chooses between the available [[State-transition table|transitions]] at each point according to some [[probability distribution]]. As a consequence, a probabilistic Turing machine can—unlikecan (unlike a deterministic Turing Machine—havemachine) have [[stochastic]] 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]]s having an additional "write" instruction where the value of the write is [[uniform distribution (discrete)|uniformly distributed]] in the Turing Machinemachine'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==
Line 12 ⟶ 13:
==Formal definition==
A probabilistic Turing machine can be formally defined as the 7-tuple <math>M=(Q, \Sigma, \Gamma, q_0, A, \delta_1, \delta_2)</math>, where
* <math>Q</math> is a finite set of states
* <math>\Sigma</math> is the input alphabet
* <math>\Gamma</math> is a tape alphabet, which includes the blank symbol <math>\sqcup</math>'''#'''
* <math>q_0 \in Q</math> is the initial state
* <math>A \subseteq Q</math> is the set of accepting (final) states
* <math>\delta_1: Q \times \Gamma \to Q \times \Gamma \times \{L,R\} </math> is the first probabilistic transition function. <math>L</math> is a movement one cell to the left on the Turing machine's tape and <math>R</math> is a movement one cell to the right.
* <math>\delta_2: Q \times \Gamma \to Q \times \Gamma \times \{L,R\} </math> is the second probabilistic transition function.
 
At each step, the Turing machine probabilistically applies either the transition function <math>\delta_1</math> or the transition function <math>\delta_2</math>.<ref>{{cite book |last1=Arora |first1=Sanjeev|author1-link=Sanjeev Arora |last2=Barak |first2=Boaz|author2-link=Boaz Barak |title=Computational Complexity: A Modern Approach |date=2016 |publisher=Cambridge University Press |isbn=978-0-521-42426-4 |page=125}}</ref> 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.
Line 28 ⟶ 29:
==Complexity classes==
{{unsolved|computer science|Is {{noitalic|'''P''' {{=}} '''BPP'''}} ?}}
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 '''[[Bounded-error probabilistic polynomial|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 (complexity)|BPL]]''', which is the same as '''BPP''' but places the additional restriction that languages must be solvable in [[Logarithmic growth|logarithmic]] [[space complexity|space]].
 
[[Complexity class]]es arising from other definitions of acceptance include '''[[RP (complexity)|RP]]''', '''co-RP''', and '''[[ZPP (complexity)|ZPP]]'''. If the machine is restricted to logarithmic space instead of polynomial time, the analogous '''[[RL (complexity)|RL]]''', '''co-RL''', and '''[[ZPL (complexity)|ZPL]]''' complexity classes are obtained. By enforcing both restrictions, '''[[Randomized Logarithmic-space Polynomial-time|RLP]]''', '''co-RLP''', '''[[BPLP]]''', and '''ZPLP''' are yielded.
Line 37 ⟶ 38:
 
==See also==
* [[Randomized algorithm]]
 
==Notes==
Line 43 ⟶ 44:
 
==References==
* {{cite book |last1=Arora |first1=Sanjeev|author1-link=Sanjeev Arora |last2=Barak |first2=Boaz|author2-link=Boaz Barak |title=Computational Complexity: A Modern Approach |date=2016 |publisher=Cambridge University Press |isbn=978-0-521-42426-4 |pages=123-142123–142}}
* {{cite book|last=Sipser|first=Michael|authorlink=Michael Sipser|title=Introduction to the Theory of Computation|edition=2nd|year=2006|publisher=Thomson Course Technology|___location=USA|isbn=978-0-534-95097-2|title-link=Introduction to the Theory of Computation|pages=368-380368–380}}
 
==External links==
* [https://xlinux.nist.gov/dads/HTML/probablturng.html NIST website on probabilistic Turing machines]
 
{{DEFAULTSORT:Probabilistic Turing Machine}}