Document 7828788

Download Report

Transcript Document 7828788

A Universal Turing Machine
Fall 2004
COMP 335
1
A limitation of Turing Machines:
Turing Machines are “hardwired”
they execute
only one program
Real Computers are re-programmable
Fall 2004
COMP 335
2
Solution:
Universal Turing Machine
Attributes:
• Reprogrammable machine
• Simulates any other Turing Machine
Fall 2004
COMP 335
3
Universal Turing Machine
simulates any other Turing Machine
M
Input of Universal Turing Machine:
Description of transitions of
Initial tape contents of
Fall 2004
COMP 335
M
M
4
Tape 1
Three tapes
Description of
Universal
Turing
Machine
M
Tape 2
Tape Contents of
M
Tape 3
Fall 2004
COMP 335
State of
M
5
Tape 1
Description of
We describe Turing machine
as a string of symbols:
We encode
Fall 2004
M
M
M as a string of symbols
COMP 335
6
Alphabet Encoding
Symbols:
a
b
c
d
Encoding:
1
11
111
1111
Fall 2004
COMP 335

7
State Encoding
States:
q1
q2
q3
q4
Encoding:
1
11
111
1111

Head Move Encoding
Move:
L
R
Encoding:
1
11
Fall 2004
COMP 335
8
Transition Encoding
Transition:
 (q1, a)  (q2 , b, L)
Encoding:
1 0 1 0 11 0 11 0 1
separator
Fall 2004
COMP 335
9
Machine Encoding
Transitions:
 (q1, a)  (q2 , b, L)
 (q2 , b)  (q3 , c, R)
Encoding:
1 0 1 0 11 0 11 0 1 00 11 0 110 111 0 111 0 11
separator
Fall 2004
COMP 335
10
Tape 1 contents of Universal Turing Machine:
encoding of the simulated machine
as a binary string of 0’s and 1’s
Fall 2004
COMP 335
M
11
A Turing Machine is described
with a binary string of 0’s and 1’s
Therefore:
The set of Turing machines forms a language:
each string of the language is
the binary encoding of a Turing Machine
Fall 2004
COMP 335
12
Language of Turing Machines
(Turing Machine 1)
L = { 010100101,
00100100101111,
111010011110010101,
(Turing Machine 2)
……
…… }
Fall 2004
COMP 335
13
Countable Sets
Fall 2004
COMP 335
14
Infinite sets are either:
Countable
or
Uncountable
Fall 2004
COMP 335
15
Countable set:
Any finite set
or
Any Countably infinite set:
There is a one to one correspondence
between
elements of the set
and
Natural numbers
Fall 2004
COMP 335
16
Example:
The set of even integers
is countable
Even integers:
0, 2, 4, 6, 
Correspondence:
Positive integers:
1, 2, 3, 4, 
2n corresponds to n  1
Fall 2004
COMP 335
17
Example:
The set of rational numbers
is countable
Rational numbers:
Fall 2004
1 3 7
, , , 
2 4 8
COMP 335
18
Naïve Proof
Rational numbers:
1 1 1
, , ,
1 2 3
Correspondence:
Positive integers:
1, 2, 3, 
Doesn’t work:
we will never count
numbers with nominator 2:
Fall 2004
COMP 335
2 2 2
, , ,
1 2 3
19
Better Approach
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
20
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
21
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
22
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
23
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
24
Fall 2004
1
1
1
2
1
3
2
1
2
2
2
3
3
1
3
2
4
1
1
4




COMP 335
25
Rational Numbers:
1 1 2 1 2
, , , , , 
1 2 1 3 2
Correspondence:
Positive Integers:
Fall 2004
1, 2, 3, 4, 5, 
COMP 335
26
We proved:
the set of rational numbers is countable
by describing an enumeration procedure
Fall 2004
COMP 335
27
Definition
Let
S be a set of strings
An enumeration procedure for S
Turing Machine that generates
all strings of S one by one
is a
and
Each string is generated in finite time
Fall 2004
COMP 335
28
strings
s1, s2 , s3 ,   S
Enumeration
Machine for S
output
(on tape)
Finite time:
Fall 2004
COMP 335
s1, s2 , s3 , 
t1, t2 , t3 ,
29
Enumeration Machine
Configuration
Time 0
 
q0
Time t1
x1 # s1
qs
Fall 2004
COMP 335
30
Time t2
x2 # s2
qs
Time t3
x3 # s3
qs
Fall 2004
COMP 335
31
Observation:
If for a set there is an
enumeration procedure,
then the set is countable
Fall 2004
COMP 335
32
Example:

The set of all strings {a, b, c}
is countable
Proof:
We will describe an enumeration procedure
Fall 2004
COMP 335
33
Naive procedure:
Produce the strings in lexicographic order:
a
aa
aaa
aaaa
......
Doesn’t work:
strings starting with b
will never be produced
Fall 2004
COMP 335
34
Better procedure:
Proper Order
1. Produce all strings of length 1
2. Produce all strings of length 2
3. Produce all strings of length 3
4. Produce all strings of length 4
..........
Fall 2004
COMP 335
35
a
b
c
Produce strings in
Proper Order:
Fall 2004
aa
ab
ac
ba
bb
bc
ca
cb
cc
aaa
aab
aac
......
COMP 335
length 1
length 2
length 3
36
Theorem:
The set of all Turing Machines
is countable
Proof: Any Turing Machine can be encoded
with a binary string of 0’s and 1’s
Find an enumeration procedure
for the set of Turing Machine strings
Fall 2004
COMP 335
37
Enumeration Procedure:
Repeat
1. Generate the next binary string
of 0’s and 1’s in proper order
2. Check if the string describes a
Turing Machine
if YES: print string on output tape
if NO: ignore string
Fall 2004
COMP 335
38
Uncountable Sets
Fall 2004
COMP 335
39
Definition:
Fall 2004
A set is uncountable
if it is not countable
COMP 335
40
Theorem:
Let
S be an infinite countable set
The powerset
Fall 2004
2
S
of
COMP 335
S is uncountable
41
Proof:
Since
S is countable, we can write
S  {s1, s2 , s3 ,}
Elements of
Fall 2004
COMP 335
S
42
Elements of the powerset have the form:
{s1, s3}
{s5 , s7 , s9 , s10 }
……
Fall 2004
COMP 335
43
We encode each element of the power set
with a binary string of 0’s and 1’s
Powerset
element
Encoding
s1
s2
s3
s4 
{s1}
1
0
0
0

{s2 , s 3 }
0
1
1
0

{s1, s 3 , s4 }
1
0
1
1 
Fall 2004
COMP 335
44
Let’s assume (for contradiction)
that the powerset is countable.
Then:
Fall 2004
we can enumerate
the elements of the powerset
COMP 335
45
Powerset
element
Fall 2004
Encoding
t1
1
0
0
0
0 
t2
1
1
0
0
0

t3
1
1
0
1
0

t4
1
1
0
0
1 

COMP 335
46
Take the powerset element
whose bits are the complements
in the diagonal
Fall 2004
COMP 335
47
t1
1
0
0
0
0 
t2
1
1
0
0
0

t3
1
1
0
1
0

t4
1
1
0
0
1 
New element:
0011
(birary complement of diagonal)
Fall 2004
COMP 335
48
The new element must be some
of the powerset
ti
However, that’s impossible:
from definition of
ti
the i-th bit of ti must be
the complement of itself
Contradiction!!!
Fall 2004
COMP 335
49
Since we have a contradiction:
The powerset
Fall 2004
S of
2
COMP 335
S is uncountable
50
An Application: Languages
Example Alphabet :
{a, b}
The set of all Strings:
S  {a, b}  { , a, b, aa, ab, ba, bb, aaa, aab,}
*
infinite and countable
Fall 2004
COMP 335
51
Example Alphabet :
{a, b}
The set of all Strings:
S  {a, b}  { , a, b, aa, ab, ba, bb, aaa, aab,}
*
infinite and countable
A language is a subset of
S:
L  {aa, ab, aab}
Fall 2004
COMP 335
52
Example Alphabet :
{a, b}
The set of all Strings:
S  {a, b}  { , a, b, aa, ab, ba, bb, aaa, aab,}
*
infinite and countable
The powerset of
S contains all languages:
2  {{},{a},{a, b}{aa, ab, aab},}
S
L1 L2
Fall 2004
L3
uncountable
COMP 335
L4

53
Languages: uncountable
L1
L2
L3
M1
M2
M3

Lk

?
Turing machines: countable
There are more languages
than Turing Machines
Fall 2004
COMP 335
54
Conclusion:
There are some languages not accepted
by Turing Machines
(These languages cannot be described
by algorithms)
Fall 2004
COMP 335
55
Languages not accepted by Turing Machines
Lk
Languages
Accepted by
Turing Machines
Fall 2004
COMP 335
56