Remaining Discussions from Previous Class Please be precise in your writing –Specially because some of the proofs are written in plain English Queue automata.

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

Variants of Turing machines
CS 461 – Nov. 9 Chomsky hierarchy of language classes –Review –Let’s find a language outside the TM world! –Hints: languages and TM are countable, but.
Turing -Recognizable vs. -Decidable
Comparing Sets Size without Counting 2 sets A and B have the same size if there is a function f: A  B such that: For every x  A there is one and only.
1 COMP 382: Reasoning about algorithms Unit 9: Undecidability [Slides adapted from Amos Israeli’s]
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ).
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Computation Theory Introduction to Turing Machine.
CHAPTER 4 Decidability Contents Decidable Languages
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
Courtesy Costas Busch - RPI1 Reducibility. Courtesy Costas Busch - RPI2 Problem is reduced to problem If we can solve problem then we can solve problem.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
CS21 Decidability and Tractability
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
2012: J Paul GibsonTSP: Mathematical FoundationsMAT7003/L5- CountingAndEnumeration.1 MAT 7003 : Mathematical Foundations (for Software Engineering) J Paul.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
MA/CSSE 474 Theory of Computation The Halting Problem.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
The Halting Problem – Undecidable Languages Lecture 31 Section 4.2 Wed, Oct 31, 2007.
Undecidable Languages (Chapter 4.2) Héctor Muñoz-Avila.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
1 The Halting Problem and Decidability How powerful is a TM? Any program in a high level language can be simulated by a TM. Any algorithmic procedure carried.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
A Universal Turing Machine
COMPSCI 102 Introduction to Discrete Mathematics.
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.1: Turing Machines) David Martin With some modifications.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computability Universal Turing Machine. Countability. Halting Problem. Homework: Show that the integers have the same cardinality (size) as the natural.
Great Theoretical Ideas in Computer Science.
Turing -Recognizable vs. -Decidable
Recursively Enumerable and Recursive Languages
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
The Church-Turing Thesis
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
1. What is Totality problem? 2. What is ji(x)?
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
The Acceptance Problem for TMs
Busch Complexity Lectures: Reductions
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
CS154, Lecture 7: Turing Machines.
CSE 105 theory of computation
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
Decidability and Enumerability
Turing-Enumerable (Part II)
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
CS21 Decidability and Tractability
Formal Languages, Automata and Models of Computation
Decidability and Tractability
CS21 Decidability and Tractability
CSE 105 theory of computation
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
CSE 105 theory of computation
Presentation transcript:

Remaining Discussions from Previous Class Please be precise in your writing –Specially because some of the proofs are written in plain English Queue automata are equivalent to Turing Machines Transitions for the 2-tape Turing machine The notion of algorithm –Hilbert’s 10 th problem (1900): “process”, “finite number of operations” –Algorithm = Turing machines Church-Turing Thesis, 1936 –Matijaseviĉ solution to Hilbert’s 10 th problem (1970) Not decidable

Turing-Enumerable Héctor Muñoz-Avila

Riddle: How can we tell if two sets have the same number of elements without counting their elements? abcdefabcdef A B

Comparing Sets Size without Counting 2 sets A and B have the same size if there is a function f: A  B such that: For every x  A there is one and only y  B such that f(x) = y (i.e., has to be a function) Every y  B has one x  A such that f(x) = y In such situations f is said to be a bijective function

Example (2) E = {n : n is an even natural number} N = {n : n is a natural number} Does E and N have the same size? Yes: f(x) = x/2 is a bijective from E to N N = {f(2), f(4), f(6),…}

Example (3) R 1 = {r : r is a real positive number greater than 1} (0,1] = {r : r is a real number between 0 and 1} Does R 1 and (0,1] have the same size? Yes: f(x) = 1/x is a bijective from R 1 to (0,1] 1 1 same size!

Example (4) How about: R + = {r : r is a real non-negative number} N = {n : n is a natural number} Every attempt fails: f(x) = x(leaves numbers like 0.5 out) f(x) = floor(x) (assigns the same value for numbers like 1.2 and 1.3) How can we know for sure that there is no bijective function from R + to N?

Enumerability We know that there is an enumeration for all the natural numbers: 1, 2, 3, 4, … The point is that for any natural, say , it will eventually be listed!, , … There is no such enumeration for [0,1), the set of all the real numbers between 0 and 1 (i.e., 0, 0.01, , 3/  ) Thus there can’t be any bijective function f: N  [0,1), otherwise: {f(0), f(1), f(2), …} would be an enumeration for [0,1) Surprisingly there is a enumeration for the rational numbers (the irrational numbers are the ones that are non enumerable!)

The Rational Numbers are Enumerable The set of all rational numbers: {p/q : p, q are natural numbers} is enumerable: … q … 1 1/1 1/2 1/3 1/4 1/5 … 1/q … 2 2/1 2/2 2/3 2/4 2/5 … 2/q … 3 3/1 … 4 4/1 … 5 5/1 … 5/q … … p p/1 … p/q … … Enumeration: 1/1, 1/2, 2/1, 1/3, 2/2, 3/1, 1/4, …, p/q, … Note: you could easily write a program in C++ that prints this enumeration (and runs forever)

[0,1) Is Not Enumerable By contradiction: suppose that there is an enumeration for all the real numbers between 0 and 1: # 1: # 2: # 3: … … #23: …6… …

[0,1) Is Not Enumerable (II) #1: #2: #3: … … #23: …6… … We construct a number  as follows: for each number n in the enumeration, we look at the n-th digit in n: The 23-rd digit  = 0.005…6… Obviously  is a real number between 0 and 1

[0,1) Is Not Enumerable(III) #1: #2: #3: … … #23: …6… … We construct a number  as follows: we change each digit in  for a different digit:  = 0.005…6…  = 0.120…7… Question: is  = #1? or  = #2? or … or  = #23? or … Obviously  is a real number between 0 and 1    …  … Thus, it is not possible to enumerate all the real numbers between 0 and 1!

Summary of Enumerability Two sets have the same cardinality (read: size) if there is a bijective function from one into the other one The set of the natural numbers is enumerable The set of all rational numbers are enumerable Therefore, the set of natural numbers has the same “cardinality” = as the set of rational numbers The set of real numbers is not enumerable Therefore, the cardinality of the real numbers is larger than the cardinality of the natural numbers

Consequences This means that even though the natural and the real numbers are both infinite, the size of the set of the real numbers is “bigger” than the size of the set of the natural numbers. This has been known for mathematicians for quite a long time Astonishingly, this result is relevant for Turing machines! This is all nice and beautiful, but what the %$%^# does this has to do with Turing machines?

Enumerability and Turing Machines Definition: A language L is Turing-enumerable if there is a Turing machine that enumerates all words in L in its tape (may run forever):  w 1 w 2 w 3 … Our book does not define Turing-enumerability Rather it says that there is an Enumerator Turing machine that enumerates all words in L These two notions are equivalent

 * is Turing-Enumerable Lemma. If  is finite then  * is enumerable M(  *): (for  = {a,b})  2  1 a 1 a 2  1  2 22 compute successor word in second tape copy word from second tape into first tape (the first tape acts as the printer)

Decidability implies Turing- enumerability Theorem 1. If a language L is decidable then the language is Turing-enumerable T 1If w is in L 0 If w is not in L Given: T is the Turing machine that decides L Construct: T’ a Turing machine that enumerates L T w1w2…w1w2… Tape 3: Run M(  *) stepwise in Tape 3 T’: Uses 3 tapes  Machine deciding L runs in Tape 2  Copy latest word w output in Tape 3 into Tape 2, if w is in L, append it to the end of Tape 1 and add a blank afterwards

Turing-Enumerability Implies Semidecidability Theorem 2. If a language L is Turing-enumerable then the language is Turing-recognizable If the latest word output in Tape 2 is equal to word in Tape 1 then halt Given: T is the Turing machine that enumerates L Construct: T’ a Turing machine that recognizes L T’: Uses 2 tapes  Put word w in Tape 1  T w1w2…w1w2… Tape: We are recognizing if w is in the language T w1w2…w1w2… Tape 2: Run T stepwise in Tape 2

Other Enumerability Results Theorem 7. There exists f: N  N that is not Turing- recognizable Theorem 6. The set of all functions f: N  N is not enumerable Theorem 5. The set of all Turing Machines is enumerable Theorem 4. If a language L is Turing-recognizable then L is Turing-enumerable