You are on page 1of 5

Alternation

10.3.a

Giorgi Japaridze

Theory of Computability

Alternating Turing machines

Definition 10.16 An alternating Turing machine is a nondeterministic TM with an additional feature. Its states, except for the accept and reject states, are divided into universal states and existential states. When we run an alternating TM on an input string, we label each node of its nondeterministic computation tree with or , depending on whether the corresponding configuration contains a universal or existential state. We determine acceptance by designating a node to be accepting if it is labeled with and all of its children are accepting or if it is labeled with and at least one of its children is accepting.

reject

reject

reject

reject

accept

reject

reject

accept

nondeterministic computation tree

alternating computation tree

10.3.b

Giorgi Japaridze

Theory of Computability

ATIME and ASPACE defined

ATIME(t(n)) =def {L | L is decided by an O(t(n)) time alternating TM} ASPACE(t(n)) =def {L | L is decided by an O(t(n)) space alternating TM} We further define AP, APSPACE and AL to be the classes of languages that are decided by alternating polynomial time, alternating polynomial space, and alternating logarithmic space TMs, respectively. Example 10.19 Here is an alternating polynomial time algorithm for the UNSATISFIABILITY problem for Boolean formulas: On input <>: 1. Universally select all assignments to the variables of . 2. For a particular assignment, evaluate . 3. If evaluates to 0, accept; otherwise reject.

10.3.c

Giorgi Japaridze

Theory of Computability

MIN-FORMULA is in AP

Example 10.20 This example features a language in AP that isnt known to be in NP or coNP. Two Boolean formulas are said to be equivalent iff they evaluate to the same value on all assignments to their variables. A minimal formula is one that has no shorter equivalent. Let MIN-FORMULA = { <> | is a minimal Boolean formula}. The following is an alternating polynomial time algorithm for this language.

On input <>: 1. Universally select a formula that is shorter than . 2. Existentially select an assignment to all relevant variables. 3. Evaluate both and on this assignment. 4. Accept if the formulas evaluate to different values. Reject otherwise.

10.3.d

Giorgi Japaridze

Theory of Computability

Main theorems

Theorem 10.21 a) For f(n) n we have ATIME(f(n)) SPACE(f(n)) ATIME(f2(n)) . b) For f(n) log n we have ASPACE(f(n)) = TIME(2O(f(n))).

Corollary AL = P

AP = PSPACE
APSPACE = EXPTIME

You might also like