theory of computer science
play

Theory of Computer Science May 10, 2017 D7. Halting Problem and - PowerPoint PPT Presentation

Theory of Computer Science May 10, 2017 D7. Halting Problem and Reductions D7.1 Introduction Theory of Computer Science D7. Halting Problem and Reductions D7.2 Turing Machines as Words D7.3 Special Halting Problem Malte Helmert D7.4


  1. Theory of Computer Science May 10, 2017 — D7. Halting Problem and Reductions D7.1 Introduction Theory of Computer Science D7. Halting Problem and Reductions D7.2 Turing Machines as Words D7.3 Special Halting Problem Malte Helmert D7.4 Reprise: Type-0 Languages University of Basel May 10, 2017 D7.5 Reductions D7.6 Summary Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 1 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 2 / 32 Overview: Computability Theory Further Reading (German) Computability Theory ◮ imperative models of computation: Literature for this Chapter (German) D1. Turing-Computability D2. LOOP- and WHILE-Computability D3. GOTO-Computability ◮ functional models of computation: Theoretische Informatik – kurz gefasst D4. Primitive Recursion and µ -Recursion by Uwe Sch¨ oning (5th edition) D5. Primitive/ µ -Recursion vs. LOOP-/WHILE-Computability ◮ Chapter 2.6 ◮ undecidable problems: D6. Decidability and Semi-Decidability D7. Halting Problem and Reductions D8. Rice’s Theorem and Other Undecidable Problems Post’s Correspondence Problem Undecidable Grammar Problems G¨ odel’s Theorem and Diophantine Equations Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 3 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 4 / 32

  2. D7. Halting Problem and Reductions Introduction Further Reading (English) Literature for this Chapter (English) D7.1 Introduction Introduction to the Theory of Computation by Michael Sipser (3rd edition) ◮ Chapters 4.2 and 5.1 Notes: ◮ Sipser does not cover all topics we do. ◮ His definitions differ from ours. Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 5 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 6 / 32 D7. Halting Problem and Reductions Introduction D7. Halting Problem and Reductions Turing Machines as Words Undecidable Problems ◮ We now know many characterizations of semi-decidability and decidability. ◮ What’s missing is a concrete example D7.2 Turing Machines as Words for an undecidable (= not decidable) problem. ◮ Do undecidable problems even exist? ◮ Yes! Counting argument: there are (for a fixed Σ) as many decision algorithms (e. g., Turing machines) as numbers in N 0 but as many languages as numbers in R . Since N 0 cannot be surjectively mapped to R , languages with no decision algorithm exist. ◮ But this argument does not give us a concrete undecidable problem. � main goal of this chapter Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 7 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 8 / 32

  3. D7. Halting Problem and Reductions Turing Machines as Words D7. Halting Problem and Reductions Turing Machines as Words Turing Machines as Inputs Encoding a Turing Machine as a Word (1) Step 1: encode a Turing machine as a word over { 0 , 1 , # } Reminder: Turing machine M = � Q , Σ , Γ , δ, q 0 , � , E � ◮ The first undecidable problems that we will get to know Idea: have Turing machines as their input. ◮ input alphabet Σ should always be { 0 , 1 } � “programs that have programs as input”: ◮ enumerate states in Q and symbols in Γ cf. compilers, interpreters, virtual machines, etc. and consider them as numbers 0 , 1 , 2 , . . . ◮ We have to think about how we can encode ◮ blank symbol always receives number 2 arbitrary Turing machines as words over a fixed alphabet. ◮ start state always receives number 0 ◮ We use the binary alphabet Σ = { 0 , 1 } . Then it is sufficient to only encode δ explicitly: ◮ As an intermediate step we first encode over the alphabet ◮ Q : all states mentioned in the encoding of δ Σ ′ = { 0 , 1 , # } . ◮ E : all states that never occur on a left-hand side of a δ -rule ◮ Γ = { 0 , 1 , � , a 3 , a 4 , . . . , a k } , where k is the largest symbol number mentioned in the δ -rules Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 9 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 10 / 32 D7. Halting Problem and Reductions Turing Machines as Words D7. Halting Problem and Reductions Turing Machines as Words Encoding a Turing Machine as a Word (2) Encoding a Turing Machine as a Word (3) encode the rules: ◮ Let δ ( q i , a j ) = � q i ′ , a j ′ , D � be a rule in δ , where the indices i , i ′ , j , j ′ correspond to the enumeration of Step 2: transform into word over { 0 , 1 } with mapping states/symbols and D ∈ { L , R , N } . 0 �→ 00 ◮ encode this rule as 1 �→ 01 w i , j , i ′ , j ′ , D = ## bin ( i )# bin ( j )# bin ( i ′ )# bin ( j ′ )# bin ( m ),  # �→ 11  0 if D = L  where m = 1 if D = R  Turing machine can be reconstructed from its encoding.  2 if D = N How? ◮ For every rule in δ , we obtain one such word. ◮ All of these words in sequence (in arbitrary order) encode the Turing machine. Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 11 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 12 / 32

  4. D7. Halting Problem and Reductions Turing Machines as Words D7. Halting Problem and Reductions Turing Machines as Words Encoding a Turing Machine as a Word (4) Turing Machine Encoded by a Word function that maps any word in { 0 , 1 } ∗ to a Turing machine Example (step 1) goal: problem: not all words in { 0 , 1 } ∗ are encodings of a Turing machine δ ( q 2 , a 3 ) = � q 0 , a 2 , N � becomes ##10#11#0#10#10 δ ( q 1 , a 1 ) = � q 3 , a 0 , L � becomes ##1#1#11#0#0 solution: Let � M be an arbitrary fixed deterministic Turing machine (for example one that always immediately stops). Then: Example (step 2) ##10#11#0#10#10##1#1#11#0#0 Definition (Turing Machine Encoded by a Word) 111101001101011100110100110100111101110111010111001100 For all w ∈ { 0 , 1 } ∗ : � Note: We can also consider the encoded word M ′ if w is the encoding of some DTM M ′ (uniquely; why?) as a number that enumerates this TM. M w = � M otherwise This is not important for the halting problem but in other contexts where we operate on numbers instead of words. Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 13 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 14 / 32 D7. Halting Problem and Reductions Special Halting Problem D7. Halting Problem and Reductions Special Halting Problem Special Halting Problem Our preparations are now done and we can define: Definition (Special Halting Problem) D7.3 Special Halting Problem The special halting problem or self-application problem is the language K = { w ∈ { 0 , 1 } ∗ | M w started on w terminates } . German: spezielles Halteproblem, Selbstanwendbarkeitsproblem Note: word w plays two roles as encoding of the TM and as input for encoded machine Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 15 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 16 / 32

  5. D7. Halting Problem and Reductions Special Halting Problem D7. Halting Problem and Reductions Special Halting Problem Semi-Decidability of the Special Halting Problem Undecidability of the Special Halting Problem (1) Theorem (Semi-Decidability of the Special Halting Problem) Theorem (Undecidability of the Special Halting Problem) The special halting problem is semi-decidable. The special halting problem is undecidable. Proof. Proof. We construct an “interpreter” for DTMs Proof by contradiction: we assume that the special halting problem that receives the encoding of a DTM as input w and simulates its computation on input w . K were decidable and derive a contradiction. So assume K is decidable. Then χ K is computable (why?). If the simulated DTM stops, the interpreter returns 1 . Otherwise it does not return. Let M be a Turing machine that computes χ K , i. e., This interpreter computes χ ′ K . given a word w writes 1 or 0 onto the tape (depending on whether w ∈ K ) and then stops. . . . Note: TMs simulating arbitrary TMs are called universal TMs. German: universelle Turingmaschine Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 17 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 18 / 32 D7. Halting Problem and Reductions Special Halting Problem D7. Halting Problem and Reductions Reprise: Type-0 Languages Undecidability of the Special Halting Problem (2) Proof (continued). Construct a new machine M ′ as follows: 1 Execute M on the input w . 2 If the tape content is 0 : stop. D7.4 Reprise: Type-0 Languages 3 Otherwise: enter an endless loop. Let w ′ be the encoding of M ′ . How will M ′ behave on input w ′ ? M ′ run on w ′ stops iff M run on w ′ outputs 0 iff χ K ( w ′ ) = 0 iff w ′ / ∈ K iff M w ′ run on w ′ does not stop iff M ′ run on w ′ does not stop Contradiction! This proves the theorem. Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 19 / 32 Malte Helmert (University of Basel) Theory of Computer Science May 10, 2017 20 / 32

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