remaining discussions from previous class please be precise in your writing –specially because...

19
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

Upload: junior-shields

Post on 14-Dec-2015

217 views

Category:

Documents


4 download

TRANSCRIPT

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

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 10th problem (1900): “process”, “finite number of

operations”– Algorithm = Turing machines

• Church-Turing Thesis, 1936– Matijaseviĉ solution to Hilbert’s 10th problem (1970)

• Not decidable

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

Turing-Enumerable

Héctor Muñoz-Avila

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

Riddle: How can we tell if two sets have the same number of elements without

counting their elements?

123456

abcdef

A B

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

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

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

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) ,…}

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

Example (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:f(x) = 1/x is a bijective from R1 to (0,1]

1

1

same size!

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

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?

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

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 101000, it will eventually be listed!

, 101000, …

•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 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!)

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

The Rational Numbers are Enumerable• The set of all rational numbers: {p/q : p, q are natural numbers} is

enumerable: 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, …

Note: you could easily write a program in C++ that prints this enumeration (and runs forever)

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

[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.434555…6……

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

[0,1) Is Not Enumerable (II)

#1: 0.012304565 ...#2: 0.10002344345 ...#3: 0.865732546789 ……#23: 0.434555…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

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

[0,1) Is Not Enumerable(III)

#1: 0.012304565 ...#2: 0.10002344345 ...#3: 0.865732546789 ……#23: 0.434555…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!

Thus, it is not possible to enumerate all the real numbers between 0 and 1!

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

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

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

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?

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

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):

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

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

* is Turing-Enumerable

Lemma. If is finite then * is enumerable

M(*): (for = {a,b})

2 1 a1 a2 1 2 2

compute successor word in second tape

copy word from second tape into first tape

(the first tape acts as the printer)

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

Decidability implies Turing-enumerability

Theorem 1. If a language L is decidable then the language is Turing-enumerable

Theorem 1. If a language L is decidable then the language is Turing-enumerable

T

1 If 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…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

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

Turing-Enumerability Implies Semidecidability

Theorem 2. If a language L is Turing-enumerable then the language is Turing-recognizable

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…Tape:

We are recognizing if w is in the language

T

w1w2…Tape 2:

Run T stepwise in Tape 2

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

Other Enumerability Results

Theorem 7. There exists f: N N that is not Turing-recognizable

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 6. The set of all functions f: N N is not enumerable

Theorem 5. The set of all Turing Machines is enumerableTheorem 5. The set of all Turing Machines is enumerable

Theorem 4. If a language L is Turing-recognizable then L is Turing-enumerable

Theorem 4. If a language L is Turing-recognizable then L is Turing-enumerable