Elementary Complexity Theory

Elementary Complexity Theory

Elementary Complexity Theory Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan July 2, 2009 Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 1 / 67 Outline 1 Turing Machines 2 Complexity Classes 3 Space Complexity 4 Reduction and Complete Problems 5 Time Complexity 6 Existential Second Order Logic 7 Quantified Boolean Formula Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 2 / 67 Turing Machine Turing machines are one of the most popular models of computation. They are proposed by Alan Turing (a British mathematician). ▸ The renowned ACM Turing Award is named after him. A Turing machine is a quadruple M K; Σ; δ; s where ▸ K is a finite set of states; ▸ Σ is a finite set of symbols (also called= ( an alphabet) ); ☀ ⊔ ∈ Σ: the blank symbol ☀ ⊳∈ Σ: the first symbol ▸ δ is a transition function ☀ δ ∶ K × Σ → (K ∪ {halt; yes; no}) × Σ × {←; →; −}. ☀ Since δ is a function, M is deterministic. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 3 / 67 Computation in Turing Machines A Turing machine has a tape. ∗ ▸ Initially, a finite input x a1a2 an Σ following the symbol is on the tape. ▸ a1a2 an = ⋯ ∈ ( − {⊔}) ⊳ There is a cursor pointing to a current symbol on the tape ⊳ ⋯ ⊔ ⊔⋯ ▸ Initially, the cursor points to . ▸ a1a2 an δ is the \program" of the machine.⊳ ⊳ ⋯ ⊔ ⊔⋯ ▸ Assume the current state is q K, the current symbol is σ Σ. ▸ δ q; σ p; ρ, D represents that p is the next state, ρ is the symbol replacing σ, and D ; ; ∈ is the cursor direction. ∈ ▸ We( assume) = ( the )is never overwritten. ☀ That is, for all q∈ {and← p→, δ−(}q; ⊳) = (p; ρ, ∆) implies ρ =⊳ and D =→. ⊳ Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 4 / 67 Configurations A configuration characterizes the complete description of the current computation. A configuration q; w; u of a Turing machine consists of a state q, and two strings w and u. ▸ q is the current( state) of the Turing machine. ▸ w is the string to the left of the cursor and the current symbol. ▸ u is the string to the right of the cursor (possibly empty). The initial configuration on input x is therefore s; ; x . M ′ ′ ′ Moreover, we write q; w; u q ; w ; u if (q; w⊳; u) changes to q′; w ′; u′ by one step in M. There are three cases: ( ) Ð→ ( M ) ( ) ▸ δ q; σ p; ρ, , then q; xσ; y p; x; ρy ; ( ) M ▸ δ q; σ p; ρ, , then q; xσ; τy p; xρτ; y ; ( ) = ( ←) ( ) Ð→M ( ) ▸ δ q; σ p; ρ, , then q; xσ; y p; xρ, y . ( ) = ( →) ( ) Ð→ ( ) ( ) = ( −) ( ) Ð→ ( ) Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 5 / 67 Halting and Acceptance The computation in a Turing machine cannot continue only when it reaches the three states: halt, yes, and no. ▸ If this happens, we say the Turing machine halts. ▸ Of course, a Turing machine may not halt. If the state yes is reached, we say the machine accepts the input (write M x yes). If the state no is reached, we say the machine rejects the input (write M x no( ).) = If the state halt is reached, we define the output of the Turing machine( ) = to be the content y of the tape when it halts (write M x y). If the Turing machine does not halt, we write M x . ( ) = ( ) =↗ Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 6 / 67 Recursive Languages Let L Σ ∗ be a language. Let M be a Turing machine such that for any x Σ ∗, ▸ x⊆ (L, then∖ {⊔M}) x yes; ▸ x L, then M x no. ∈ ( ∖ {⊔}) ∈ ( ) = Then we say M decides L. ∈~ ( ) = If L is decided by some Turing machine, we say L is recursive. In other words, ▸ M always halts on any input; and ▸ M decides whether the input is in the language or not. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 7 / 67 Recursively Enumerable Languages Let L Σ ∗ be a language. Let M be a Turing machine such that for any x Σ ∗, ▸ x⊆ (L, then∖ {⊔M}) x yes; ▸ x L, then M x . ∈ ( ∖ {⊔}) ∈ ( ) = Then we say M accepts L. ∈~ ( ) =↗ If L is accepted by some Turing machine, we say L is recursively enumerable. Note that, ▸ M may not halt. ▸ The input is in the language when when it halts. Practically, this is not very useful. ▸ We do not know how long we need to wait. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 8 / 67 Nondeterministic Turing Machines Similar to finite automata, we can consider nondeterministic Turing machines. A nondeterministic Turing machine is a quadruple N K; Σ; ∆; s where K is a finite set of states, Σ is a finite set of symbols, and s K is its initial state. Moreover, = ( ) ▸ ∆ K Σ K halt; yes; no Σ ; ; is its transition ∈ relation. ⊆ ( × ) × [( ∪ { N }) × × {← → −}] Similarly, we can define q; w; u q′; w ′; u′ . ( ) Ð→ ( ) Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 9 / 67 Acceptance Let N be a nondeterministic Turing machine. Let L Σ ∗ be a language. We say N decides L if for any x Σ∗ ⊆ ( ∖ {⊔}) N ∗ x L if and only if s; ; x ∈ yes; w; u for some w; u: Since N∈is nondeterministic,( ⊳ there) Ð→ may( be several) halting configurations. N ∗ N ∗ ▸ s; ; x halt; w0; u0 , s; ; x halt; w1; u1 , N ∗ s; ; x no; w ; u , etc. ( ⊳ ) Ð→ ( 2 2 ) ( ⊳ ) Ð→ ( ) However, we need only one halting configuration of the form yes;(w;⊳u )forÐ→x (L. ) ▸ Conversely, all halting configurations are not of this form if x L. ( ) ∈ ∈~ Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 10 / 67 Deterministic and Nondeterministic Computation Time A nondeterministic Turing machine decides language L in time f n if it decodes L and for any x Σ∗, s; ; x k q; u; w , then k f x . ( ) ∈ ( ⊳ ) Ð→ ( ) ≤ (S S) Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 11 / 67 P and NP Define TIME f n L L can be decided by a TM in time f n NTIME (f (n )) = {L ∶L can be decided by an NTM in time(f )}n Let ( ( )) = { ∶ ( )} P TIME nk and NP NTIME nk k∈N k∈N We have P NP= . ( ) = ( ) ▸ However, whether the inclusion is proper is still open. ⊆ In this lecture, we will consider several problems related to logic and discuss their complexity. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 12 / 67 Boolean Expressions Fix a countably infinite set of Boolean variables X x0; x1;:::; xi ;::: . A Boolean expression is an expression built from Boolean variables with= { connectives , }, and . A truth assignment T is a mapping from Boolean variables to truth values false and true¬ ∨. ∧ We say a truth assignment T satisfies a Boolean expression φ (write T φ) if φ x0; x1; ; xi ; T x0 ; T x1 ; ; T xi ; evaluates to true. ⊧ [ ⋯ ⋯ ↦ ( ) ( ) ⋯ ( ) ⋯] Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 13 / 67 SATISFIABILITY (SAT) A Boolean expression φ is satisfiable if there is a truth assignment T such that T φ. SATISFIABILITY(SAT) is the following problem: Given a Boolean⊧ expression φ in conjunctive normal form, is it satisfiable? SAT can be decided in TIME n22n by exhaustive search. SAT can be decided in NP: ▸ Guess a truth assignment nondeterministically;( ) ▸ Check whether the truth assignment satisfies all clauses. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 14 / 67 Boolean Circuits A Boolean circuit is a graph C V ; E where V 1;:::; n are the gates of C. Moreover ▸ C has no cycles. All edges are= of( the) form i; j with= { i j. } ▸ All nodes have indegree 2. ▸ Each i V has a sort s i where ( ) < s i false; true; ; ; ≤; x0; x1;:::; . ☀ If ∈s(i) ∈ {false; true(; x)0; x1;:::}, i has indegree 0 and is an input gate; (☀) ∈If{s(i) = ¬, i has∨ indegree∧ ¬ one; } ☀ If s(i) ∈ {∨; ∧}, i has indegree two. ▸ The gate n has outdegree zero and is called the output gate. The semantics of a Boolean circuit is defined as in propositional logic. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 15 / 67 CIRCUIT VALUE ∧ ∨∨ ∧¬ falsetrue false CIRCUIT VALUE is the following problem: Given a Boolean circuit C without variable gates, does C evaluate to true? CIRCUIT VALUE is in P. ▸ Simply evaluate the gate values in numerical order. Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 16 / 67 Space Complexity A k-tape Turing machine with input and output is a Turing machine M with k tapes. Moreover, ▸ M never writes on tape 1 (its read-only input); ▸ M never reads on tape k (its write-only output); ▸ The other k 2 tapes are working tapes. A configuration of k-tape Turing machine with input and output is a − 2k 1-tuple q; w1; u1;:::; wk ; uk . ▸ The initial configuration on input x is s; ; x; ; , : : : ; ; . + ( ) M ∗ On input x, if s; ; x; ; , : : : ; ; ( H⊳; w1⊳; u1;:::;⊳w)k ; uk where H halt; yes; no , we say the space required by M on input x is k−1 i=2 wi ui . ( ⊳ ⊳ ⊳ ) Ð→ ( ) ∈▸ {Note that the} space on input and output tapes does not count. ∑ S S Bow-Yaw Wang (Academia Sinica) Elementary Complexity Theory July 2, 2009 17 / 67 SPACE(f (n)) and NSPACE(f (n)) Define L can be decided by a TM with input SPACE f n L : and output within space bound f n ( ( )) = ∶ ¡ NSPACE(f(n)) is defined similarly.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    67 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us