Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Alternating Turing machine

From Wikipedia, the free encyclopedia
Abstract computation model
Turing machines
Machine
Variants
Science
This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(May 2011) (Learn how and when to remove this message)

Incomputational complexity theory, analternating Turing machine (ATM) is anon-deterministic Turing machine (NTM) with a rule for accepting computations that generalizes the rules used in the definition of thecomplexity classesNP andco-NP. The concept of an ATM was set forth byChandra andStockmeyer[1] and independently byKozen[2] in 1976, with a joint journal publication in 1981.[3]

Definitions

[edit]

Informal description

[edit]

The definition of NP uses theexistential mode of computation: ifany choice leads to an accepting state, then the whole computation accepts. The definition of co-NP uses theuniversal mode of computation: only ifall choices lead to an accepting state does the whole computation accept. An alternating Turing machine (or to be more precise, the definition of acceptance for such a machine) alternates between these modes.

Analternating Turing machine is anon-deterministic Turing machine whose states are divided into two sets:existential states anduniversal states. An existential state is accepting if some transition leads to an accepting state; a universal state is accepting if every transition leads to an accepting state. (Thus a universal state with no transitions accepts unconditionally; an existential state with no transitions rejects unconditionally). The machine as a whole accepts if the initial state is accepting.

Formal definition

[edit]

Formally, a (one-tape)alternating Turing machine is a 5-tupleM=(Q,Γ,δ,q0,g){\displaystyle M=(Q,\Gamma ,\delta ,q_{0},g)} where

IfM is in a stateqQ{\displaystyle q\in Q} withg(q)=accept{\displaystyle g(q)=accept} then that configuration is said to beaccepting, and ifg(q)=reject{\displaystyle g(q)=reject} the configuration is said to berejecting. A configuration withg(q)={\displaystyle g(q)=\wedge } is said to be accepting if all configurations reachable in one step are accepting, and rejecting if some configuration reachable in one step is rejecting. A configuration withg(q)={\displaystyle g(q)=\vee } is said to be accepting when there exists some configuration reachable in one step that is accepting and rejecting when all configurations reachable in one step are rejecting (this is the type of all states in a classical NTM except the final state).M is said to accept an input stringw if the initial configuration ofM (the state ofM isq0{\displaystyle q_{0}}, the head is at the left end of the tape, and the tape containsw) is accepting, and to reject if the initial configuration is rejecting.

Note that it is impossible for a configuration to be both accepting and rejecting, however, some configurations may be neither accepting or rejecting, due to the possibility of nonterminating computations.

Resource bounds

[edit]

When deciding if a configuration of an ATM is accepting or rejecting using the above definition, it is not always necessary to examine all configurations reachable from the current configuration. In particular, an existential configuration can be labelled as accepting if any successor configuration is found to be accepting, and a universal configuration can be labelled as rejecting if any successor configuration is found to be rejecting.

An ATM decides aformal language in timet(n){\displaystyle t(n)} if, on any input of lengthn, examining configurations only up tot(n){\displaystyle t(n)} steps is sufficient to label the initial configuration as accepting or rejecting. An ATM decides a language in spaces(n){\displaystyle s(n)} if examining configurations that do not modify tape cells beyond thes(n){\displaystyle s(n)} cell from the left is sufficient.

A language that is decided by some ATM in timect(n){\displaystyle c\cdot t(n)} for some constantc>0{\displaystyle c>0} is said to be in the classATIME(t(n)){\displaystyle {\mathsf {ATIME}}(t(n))}, and a language decided in spacecs(n){\displaystyle c\cdot s(n)} is said to be in the classASPACE(s(n)){\displaystyle {\mathsf {ASPACE}}(s(n))}.

Example

[edit]

Perhaps the most natural problem for alternating machines to solve is thequantified Boolean formula problem, which is a generalization of theBoolean satisfiability problem in which each variable can be bound by either an existential or a universal quantifier. The alternating machine branches existentially to try all possible values of an existentially quantified variable and universally to try all possible values of a universally quantified variable, in the left-to-right order in which they are bound. After deciding a value for all quantified variables, the machine accepts if the resulting Boolean formula evaluates to true, and rejects if it evaluates to false. Thus, at an existentially quantified variable the machine is accepting if a value can be substituted for the variable that renders the remaining problem satisfiable, and at a universally quantified variable the machine is accepting if any value can be substituted and the remaining problem is satisfiable.

Such a machine decides quantified Boolean formulas in timen2{\displaystyle n^{2}} and spacen{\displaystyle n}.

TheBoolean satisfiability problem can be viewed as the special case where all variables are existentially quantified, allowing ordinary nondeterminism, which uses only existential branching, to solve it efficiently.

Complexity classes and comparison to deterministic Turing machines

[edit]

The followingcomplexity classes are useful to define for ATMs:

These are similar to the definitions ofP,PSPACE, andEXPTIME, considering the resources used by an ATM rather than a deterministic Turing machine. Chandra, Kozen, and Stockmeyer[3] proved that, for allf(n)log(n){\displaystyle f(n)\geq \log(n)} andg(n)log(n){\displaystyle g(n)\geq \log(n)}:

In particular:

  • ALOGSPACE = P
  • AP = PSPACE
  • APSPACE = EXPTIME
  • AEXPTIME =EXPSPACE

A more general form of these relationships is expressed by theparallel computation thesis.

Bounded alternation

[edit]

Definition

[edit]
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(October 2013) (Learn how and when to remove this message)

Analternating Turing machine withk alternations is an alternating Turing machine that switches from an existential to a universal state or vice versa no more thank−1 times. (It is an alternating Turing machine whose states are divided intok sets. The states in even-numbered sets are universal and the states in odd-numbered sets are existential (or vice versa). The machine has no transitions between a state in seti and a state in setj <i.)

ATIME(C,j)=ΣjTIME(C){\displaystyle {\mathsf {ATIME}}(C,j)=\Sigma _{j}{\mathsf {TIME}}(C)} is the class of languages decidable in timefC{\displaystyle f\in C} by a machine beginning in an existential state and alternating at mostj1{\displaystyle j-1} times. It is called thejth level of theTIME(C){\displaystyle {\mathsf {TIME}}(C)} hierarchy.

coATIME(C,j)=ΠjTIME(C){\displaystyle {\mathsf {coATIME}}(C,j)=\Pi _{j}{\mathsf {TIME}}(C)} is defined in the same way, but beginning in a universal state; it consists of the complements of the languages inATIME(f,j){\displaystyle {\mathsf {ATIME}}(f,j)}.

ASPACE(C,j)=ΣjSPACE(C){\displaystyle {\mathsf {ASPACE}}(C,j)=\Sigma _{j}{\mathsf {SPACE}}(C)} is defined similarly for space bounded computation.

Example

[edit]

Consider thecircuit minimization problem: given a circuitA computing aBoolean functionf and a numbern, determine if there is a circuit with at mostn gates that computes the same functionf. An alternating Turing machine, with one alternation, starting in an existential state, can solve this problem in polynomial time (by guessing a circuitB with at mostn gates, then switching to a universal state, guessing an input, and checking that the output ofB on that input matches the output ofA on that input).

Collapsing classes

[edit]

It is said that a hierarchycollapses to levelj if every language in levelkj{\displaystyle k\geq j} of the hierarchy is in its levelj.

As a corollary of theImmerman–Szelepcsényi theorem, the logarithmic space hierarchy collapses to its first level.[4] As a corollary theSPACE(f){\displaystyle {\mathsf {SPACE}}(f)} hierarchy collapses to its first level whenf=Ω(log){\displaystyle f=\Omega (\log )} isspace constructible[citation needed].

Special cases

[edit]

An alternating Turing machine in polynomial time withk alternations, starting in an existential (respectively, universal) state can decide all the problems in the classΣkp{\displaystyle \Sigma _{k}^{p}} (respectively,Πkp{\displaystyle \Pi _{k}^{p}}).[5]These classes are sometimes denotedΣkP{\displaystyle \Sigma _{k}{\rm {P}}} andΠkP{\displaystyle \Pi _{k}{\rm {P}}}, respectively.See thepolynomial hierarchy article for details.

Another special case of time hierarchies is thelogarithmic hierarchy.

References

[edit]
  1. ^Chandra, Ashok K.; Stockmeyer, Larry J. (1976). "Alternation".Proc. 17th IEEE Symp. on Foundations of Computer Science. Houston, Texas. pp. 98–108.doi:10.1109/SFCS.1976.4.
  2. ^Kozen, D. (1976). "On parallelism in Turing machines".Proc. 17th IEEE Symp. on Foundations of Computer Science. Houston, Texas. pp. 89–97.doi:10.1109/SFCS.1976.20.hdl:1813/7056.
  3. ^abChandra, Ashok K.; Kozen, Dexter C.; Stockmeyer, Larry J. (1981)."Alternation"(PDF).Journal of the ACM.28 (1):114–133.doi:10.1145/322234.322243.S2CID 238863413. Archived fromthe original(PDF) on April 12, 2016.
  4. ^Immerman, Neil (1988)."Nondeterministic space is closed under complementation"(PDF).SIAM Journal on Computing.17 (5):935–938.CiteSeerX 10.1.1.54.5941.doi:10.1137/0217058.
  5. ^Kozen, Dexter (2006).Theory of Computation.Springer-Verlag. p. 58.ISBN 9781846282973.

Further reading

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Alternating_Turing_machine&oldid=1310839509"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp