theory of computer science
play

Theory of Computer Science D6. Decidability and Semi-Decidability - PowerPoint PPT Presentation

Theory of Computer Science D6. Decidability and Semi-Decidability Malte Helmert University of Basel May 4, 2016 (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Overview: Computability Theory


  1. Theory of Computer Science D6. Decidability and Semi-Decidability Malte Helmert University of Basel May 4, 2016

  2. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Overview: Computability Theory Computability Theory imperative models of computation: D1. Turing-Computability D2. LOOP- and WHILE-Computability D3. GOTO-Computability functional models of computation: D4. Primitive Recursion and µ -Recursion D5. Primitive/ µ -Recursion vs. LOOP-/WHILE-Computability 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

  3. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Further Reading (German) Literature for this Chapter (German) Theoretische Informatik – kurz gefasst by Uwe Sch¨ oning (5th edition) Chapter 2.6

  4. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Further Reading (English) Literature for this Chapter (English) Introduction to the Theory of Computation by Michael Sipser (3rd edition) Chapters 3.1 and 3.2 Notes: Sipser does not cover all topics we do. His definitions differ from ours.

  5. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Guiding Question Guiding question for next three chapters: Which kinds of problems cannot be solved by a computer?

  6. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary (Semi-) Decidability

  7. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Computable Functions From D1–D3, we now know enough about “computability” to use a higher level of abstraction. In particular, we now know that sufficiently rich computational formalisms are equivalent. � Instead of saying Turing-/WHILE-/GOTO-computable or µ -recursive, we just say computable. � Instead of presenting TMs, WHILE programs etc. in detail, we use pseudo-code. � Instead of only considering computable functions over words (Σ ∗ → p Σ ∗ ) or numbers ( N k 0 → p N 0 ), we permit arbitrary domains and codomains (e.g., Σ ∗ → p { 0 , 1 } , N 0 → Σ ∗ ), ignoring details of encoding.

  8. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Computability vs. Decidability last chapters: computability of functions now: analogous concept for languages Why languages? Only yes/no questions (“Is w ∈ L ?”) instead of general function computation (“What is f ( w )?”) makes it easier to investigate questions. Results are directly transferable to the more general problem of computing arbitrary functions. ( � “playing 20 questions”)

  9. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability Definition (Decidable) A language L ⊆ Σ ∗ is called decidable if χ L : Σ ∗ → { 0 , 1 } , the characteristic function of L , is computable. Here, for all w ∈ Σ ∗ : � 1 if w ∈ L χ L ( w ) := 0 if w / ∈ L German: entscheidbar, charakteristische Funktion

  10. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Semi-Decidability Definition (Semi-Decidable) A language L ⊆ Σ ∗ is called semi-decidable if χ ′ L : Σ ∗ → p { 0 , 1 } , “half” the characteristic function of L , is computable. Here, for all w ∈ Σ ∗ : � 1 if w ∈ L χ ′ L ( w ) = undefined if w �∈ L German: semi-entscheidbar, “halbe” charakteristische Funktion

  11. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability and Semi-Decidability: Intuition Are these two definitions meaningfully different? Yes! decidability: Yes w No semi-decidability: Yes w ???

  12. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability and Semi-Decidability: Intuition Are these two definitions meaningfully different? Yes! decidability: Yes w No semi-decidability: Yes w ???

  13. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability and Semi-Decidability: Intuition Are these two definitions meaningfully different? Yes! Case 1: w ∈ L decidability: Yes w No semi-decidability: Yes w ???

  14. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability and Semi-Decidability: Intuition Are these two definitions meaningfully different? Yes! ∈ L Case 2: w / decidability: Yes w No semi-decidability: Yes w ???

  15. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Decidability and Semi-Decidability: Intuition Are these two definitions meaningfully different? Yes! decidability: Yes w No semi-decidability: Yes w ??? Example: Diophantine equations

  16. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Connection Decidability/Semi-Decidability (1) Theorem (Decidable vs. Semi-Decidable) A language L is decidable iff both L and ¯ L are semi-decidable. Proof. ( ⇒ ): obvious (Why?) . . .

  17. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Connection Decidability/Semi-Decidability (2) Proof (continued). ( ⇐ ): Let M L be a semi-deciding algorithm for L , L be a semi-deciding algorithm for ¯ and let M ¯ L . The following algorithm then is a decision procedure for L , i.e., computes χ L ( w ) for a given input word w : FOR s := 1 , 2 , 3 , . . . DO IF M L stops on w in s steps with output 1 THEN RETURN 1 END IF M ¯ L stops on w in s steps with output 1 THEN RETURN 0 END DONE

  18. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Questions Questions?

  19. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability

  20. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Definition Definition (Recursively Enumerable) A language L ⊆ Σ ∗ is called recursively enumerable if L = ∅ or if there is a total and computable function f : N 0 → Σ ∗ such that L = { f (0) , f (1) , f (2) . . . } . We then say that f (recursively) enumerates L . Note: f does not have to be injective! German: rekursiv aufz¨ ahlbar, f z¨ ahlt L (rekursiv) auf � do not confuse with “abz¨ ahlbar” (countable)

  21. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

  22. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

  23. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x enumerates { ε, a , aa , . . . } .  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

  24. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x enumerates { ε, a , aa , . . . } .  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

  25. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x enumerates { ε, a , aa , . . . } .  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei enumerates { hund , katze , superpapagei } . 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

  26. (Semi-) Decidability Recursive Enumerability Models of Computation and Semi-Decidability Summary Recursive Enumerability: Examples (1) Σ = { a , b } , f ( x ) = a x enumerates { ε, a , aa , . . . } .  if x mod 3 = 0 hund   Σ = { a , b , . . . , z } , f ( x ) = if x mod 3 = 1 katze  if x mod 3 = 2  superpapagei enumerates { hund , katze , superpapagei } . 2 x − 1 (as digits) if 2 x − 1 prime � Σ = { 0 , . . . , 9 } , f ( x ) = otherwise 3

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