Title: Remaining Discussions from Previous Class
1Remaining 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
- Hilberts 10th problem (1900) process, finite
number of operations - Algorithm Turing machines
- Church-Turing Thesis, 1936
- Matijasevic solution to Hilberts 10th problem
(1970) - Not decidable
2Turing-Enumerable
Héctor Muñoz-Avila
3Riddle How can we tell if two sets have the same
number of elements without counting their
elements?
B
A
a b c d e f
1 2 3 4 5 6
4Comparing 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
5Example (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
6Example (3)
R1 r r is a real positive number greater
than 1 (0,1 r r is a real number between
0 and 1
Does R1 and (0,1 have the same size?
Yes
7Example (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?
8Enumerability
- We know that there is an enumeration for all the
natural numbers 1, 2, 3, 4,
, 101000,
The point is that for any natural, say 101000, 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, 0.1003, 3/?) - Thus there cant 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!)
9The Rational Numbers are Enumerable
- The set of all rational numbers
- p/q p, q are natural numbers
is enumerable
Note you could easily write a program in C
that prints this enumeration (and runs forever)
1 2 3 4 5 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,
10 0,1) Is Not Enumerable
By contradiction suppose that there is an
enumeration for all the real numbers between 0
and 1
1 0.012304565 ... 2 0.10002344345
... 3 0.865732546789 23
0.4345556
110,1) Is Not Enumerable (II)
We construct a number ? as follows for each
number n in the enumeration, we look at the n-th
digit in n
1 0.012304565 ... 2 0.10002344345 ... 3
0.865732546789 23 0.4345556
? 0.0056
Obviously ? is a real number between 0 and 1
120,1) Is Not Enumerable(III)
We construct a number ? as follows we change
each digit in ? for a different digit
? 0.0056
?
1 0.012304565 ... 2 0.10002344345 ... 3
0.865732546789 23 0.4345556
Thus, it is not possible to enumerate all the
real numbers between 0 and 1!
?
?
13Summary 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
14Consequences
- 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
- This is all nice and beautiful, but what the
does this has to do with Turing machines?
- Astonishingly, this result is relevant for Turing
machines!
15Enumerability 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)
?w1? w2? w3?
- 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
16? is Turing-Enumerable
Lemma. If ? is finite then ? is enumerable
M(?)
(for ? a,b)
(the first tape acts as the printer)
17Decidability implies Turing-enumerability
Theorem 1. If a language L is decidable then the
language is Turing-enumerable
- Given T is the Turing machine that decides L
- Construct T a Turing machine that enumerates L
- 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
18Turing-Enumerability Implies Semidecidability
Theorem 2. If a language L is Turing-enumerable
then the language is Turing-recognizable
- Given T is the Turing machine that enumerates L
- Construct T a Turing machine that recognizes L
- If the latest word output in Tape 2 is equal to
word in Tape 1 then halt
19Other Enumerability Results
Theorem 4. If a language L is Turing-recognizable
then L is Turing-enumerable
Theorem 5. The set of all Turing Machines is
enumerable
Theorem 6. The set of all functions f N ? N is
not enumerable
Theorem 7. There exists f N? N that is not
Turing-recognizable