variants of turing machines
play

Variants of Turing Machines Question Computability and Complexity - PDF document

Variants of Turing Machines Question Computability and Complexity What happens if we modify the definition of a Turing machine? Can we then possibly recognize more languages? Lecture 2 Example: : Q Q { L , R , S } where S


  1. Variants of Turing Machines Question Computability and Complexity What happens if we modify the definition of a Turing machine? Can we then possibly recognize more languages? Lecture 2 Example: δ : Q × Γ → Q × Γ × { L , R , S } where S means “stay”. Multitape Turing machines Nondeterministic Turing machines Answer Enumerators Church-Turing Thesis No, the notion of a TM is robust. Hence no reasonable extension of a TM increases its power. given by Jiri Srba Example: “Stay” can be simulated in ordinary TM by two head movements (move right, move left). Lecture 2 Computability and Complexity 1/15 Lecture 2 Computability and Complexity 2/15 Multitape Turing Machine Equivalence of 1-tape and k -tape TM Definition (Multitape Turing Machine) Theorem A k -tape TM is a 7-tuple M = ( Q , Σ , Γ , δ, q 0 , q accept , q reject ) where Every k -tape TM is equivalent to 1-tape TM. δ : Q × Γ k → Q × Γ k × { L , R } k Equivalent means that they recognize the same language. and the rest is the same as before. Remark: 1-tape TM is exactly our original definition of TM. Corollary A language is recognizable iff it is recognized by some multitape Turing machine. Configuration: a control state, plus the content of all k tapes together with the position of k heads. Corollary Initial configuration: input string written on the first tape, all other tapes are empty (contain the blank symbols). A language is decidable iff it is recognized by some multitape Turing machine which is a decider. Computational step: all heads can move independently. Lecture 2 Computability and Complexity 3/15 Lecture 2 Computability and Complexity 4/15 Nondeterministic Turing Machine Equivalence of Deterministic and Nondeterministic TM Theorem Definition (Nondeterministic Turing Machine) Every nondeterministic TM is equivalent to some deterministic TM. A nondeterministic TM is a 7-tuple M = ( Q , Σ , Γ , δ, q 0 , q accept , q reject ) where Equivalent means that they recognize the same language. δ : Q × Γ → 2 Q × Γ ×{ L , R } Corollary and the rest is the same as before. A language is recognizable iff it is recognized by some nondeterministic Turing machine. Remark: Every deterministic TM is also a nondeterministic TM. Configurations and Initial configuration as before. Corollary Computation tree: a tree of all configurations reachable from A language is decidable iff it is recognized by some the initial one. The tree can have infinite branches! nondeterministic Turing machine which is a decider. Acceptance Condition of a Nondeterm. TM A nondeterministic TM M accepts a string w if the computation A nondeterministic TM is a decider if for any given input every tree for M and w contains at least one accepting configuration. branch in the computation tree is finite (accepts or rejects). Lecture 2 Computability and Complexity 5/15 Lecture 2 Computability and Complexity 6/15

  2. Enumerators Theorem about Enumerators Another terminology for recognizable languages is the term Recursively Enumerable languages. Why? Definition (Enumerator) An enumerator is a 2-tape Turing machine with a special control Theorem state called q print . A language L is recognizable if and only if there exists an enumerator E that enumerates L , i.e. L ( E ) = L . Definition (Language Generated by Enumerator) Let E be an enumerator. We run E on the empty string as input. The language of E , denoted by L ( E ), is the collection of all strings that are on the second tape whenever E is in the state q print . Remark: If E does not terminate then L ( E ) may be infinite. Strings in L ( E ) may repeat and may be printed in arbitrary order. Lecture 2 Computability and Complexity 7/15 Lecture 2 Computability and Complexity 8/15 Proof (Enumerable = ⇒ Recognizable) Proof (Recognizable = ⇒ Enumerable) Every recognizable language L is enumerable: Let M be a recognizer for L . We construct an enumerator E for L . Every enumerable language L is recognizable: Let s 1 , s 2 , s 3 , . . . be all possible strings from Σ ∗ . Let E be an enumerator for L . We construct a recognizer M for L . E = ” 1. i := 1; M = ” On input w : 2. Run M for i steps on each input s 1 , s 2 , . . . , s i . 1. Run E . 3. If M accepted any of the strings, print it 2. If w gets ever printed then M accepts, 4. i := i +1; goto step 2.” otherwise continue running E in step 1.” This technique is called Dovetailing. Lecture 2 Computability and Complexity 9/15 Lecture 2 Computability and Complexity 10/15 Hilbert’s Tenth Problem Church-Turing Thesis Models of an algorithm: 1936: Alan Turing came with Turing machine and Alonzo In 1900 David Hilbert asked to find a mechanical way to Church with λ -calculus. check whether a polynomial (over several variables) has an Turing machines and λ -calculus were shown equivalent. integral root. Many more models suggested: Kleene’s µ -recursive functions, Example: Post-systems, Minsky machine ... all shown equivalent! 6 x 3 yz 2 + 3 xy 2 − x 3 − 10 Church-Turing Thesis has an integral root at x = 5, y = 3 and z = 0. Algorithms = Turing machines Answer (informal notion) (formal, mathematical, concept) Nobody has found such an algorithm yet ... in fact, we know that Facts: this is impossible, and we can prove this!!! (Yuri Matijasevic’1970). Church-Turing Thesis cannot be proved, BUT ... We need a model of an algorithm to demonstrate such a proof. any C/Java/C++/C# program can be run on a TM, and nothing better than a Turing machine has been found so far. Lecture 2 Computability and Complexity 11/15 Lecture 2 Computability and Complexity 12/15

  3. Algorithmic Problems vs. Decidable Languages Algorithmic Problems vs. Decidable Languages: Examples How do algorithmic problems correspond to languages? Graph Connectivity “Is a given graph G connected?” corresponds to: Example: Hilbert’s Tenth Problem Does � G � (encoding of G ) belong to the language Can the problem whether a given polynomial has an integral root def = {� G ′ � | G ′ is a graph and G ′ is connected } ? be algorithmically solved? L connected Language Formulation of Hilbert’s Tenth Problem Acceptance Problem of a TM “Does a given TM M accept a string w ?” corresponds to: D def = {� p � | p is a polynomial with integral root } where � p � is the textual (string) encoding of the polynomial p . Does � M , w � belong to the language = {� M ′ , w ′ � | M ′ is a TM and M ′ accepts w ′ } ? Is D a decidable language? def A TM Facts: L connected is decidable, while A TM is undecidable! Algorithmically solvable problems ≡ decidable languages. Lecture 2 Computability and Complexity 13/15 Lecture 2 Computability and Complexity 14/15 Exam Questions Equivalence of k -tape TM with 1-tape TM. Nondeterministic TM, definition, acceptance of a string, equivalence with ordinary TM. Enumerators, definition, equivalence with ordinary TM. Dovetailing technique. Church-Turing Thesis. Lecture 2 Computability and Complexity 15/15

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend