Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
125 views60 pages

Universal Turing Machine

This document describes a universal Turing machine. It begins by noting a limitation of standard Turing machines, which is that they can only execute one hardcoded program. Real computers, however, are reprogrammable. The solution is a universal Turing machine, which has three key attributes: it is reprogrammable, it can simulate any other Turing machine, and its input includes both a description of the Turing machine to simulate and the input for that machine. The document then provides details on how a Turing machine can be encoded as a binary string, allowing the set of all Turing machines to form a countable language. It concludes by explaining that the universal Turing machine uses three tapes - one for the

Uploaded by

INDRANEEL GHOSH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views60 pages

Universal Turing Machine

This document describes a universal Turing machine. It begins by noting a limitation of standard Turing machines, which is that they can only execute one hardcoded program. Real computers, however, are reprogrammable. The solution is a universal Turing machine, which has three key attributes: it is reprogrammable, it can simulate any other Turing machine, and its input includes both a description of the Turing machine to simulate and the input for that machine. The document then provides details on how a Turing machine can be encoded as a binary string, allowing the set of all Turing machines to form a countable language. It concludes by explaining that the universal Turing machine uses three tapes - one for the

Uploaded by

INDRANEEL GHOSH
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

A Universal Turing Machine

1
A limitation of Turing Machines:

Turing Machines are “hardwired”

they execute
only one program

Real Computers are re-programmable

2
Solution: Universal Turing Machine

Attributes:

• Reprogrammable machine

• Simulates any other Turing Machine

3
Universal Turing Machine
simulates any Turing Machine M

Input of Universal Turing Machine:

Description of transitions of M
Input string of M

4
Tape 1
Three tapes

Description of M

Universal
Tape 2
Turing
Machine
Tape Contents of M

Tape 3

State of M 5
Tape 1

Description of M

We describe Turing machine M


as a string of symbols:

We encode M as a string of symbols

6
Alphabet Encoding

Symbols: a b c d 

Encoding: 1 11 111 1111

7
State Encoding

States: q1 q2 q3 q4 

Encoding: 1 11 111 1111

Head Move Encoding

Move: L R

Encoding: 1 11
8
Transition Encoding

Transition:  (q1, a )  (q2 , b, L)

Encoding: 1 0 1 0 11 0 11 0 1

separator

9
Turing 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 1 10 111 0 111 0 11
separator
10
Tape 1 contents of Universal Turing Machine:

binary encoding
of the simulated machine M

Tape 1
1 0 1 0 11 0 11 0 10011 0 1 10 111 0 111 0 1100 

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 this language is


the binary encoding of a Turing Machine

12
Language of Turing Machines

L = { 010100101, (Turing Machine 1)

00100100101111, (Turing Machine 2)

111010011110010101, ……

…… }

13
Countable Sets

14
Infinite sets are either: Countable

or

Uncountable

15
Countable set:
There is a one to one correspondence
of
elements of the set
to
Natural numbers (Positive Integers)

(every element of the set is mapped to a number


such that no two elements are mapped to same number)

16
Example: The set of even integers
is countable

Even integers: 0, 2, 4, 6, 
(positive)

Correspondence:

Positive integers: 1, 2, 3, 4, 

2n corresponds to n 1
17
Example: The set of rational numbers
is countable

1 3 7
Rational numbers: , , , 
2 4 8

18
Naïve Approach Nominator 1
1 1 1
Rational numbers: , , ,
1 2 3
Correspondence:

Positive integers: 1, 2, 3, 

Doesn’t work:
we will never count 2 2 2
, , ,
numbers with nominator 2: 1 2 3
19
Better Approach
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 20
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 21
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 22
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 23
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 24
1 1 1 1

1 2 3 4

2 2 2

1 2 3

3 3

1 2
4

1 25
1 1 2 1 2
Rational Numbers: , , , , , 
1 2 1 3 2

Correspondence:

Positive Integers: 1, 2, 3, 4, 5, 

26
We proved:

the set of rational numbers is countable


by describing an enumeration procedure
(enumerator)
for the correspondence to natural numbers

27
Definition

Let S be a set of strings (Language)

An enumerator for S is a Turing Machine


that generates (prints on tape)
all the strings of S one by one

and
each string is generated in finite time

28
strings s1, s2 , s3 ,   S

Enumerator output s1, s2 , s3 , 


Machine for S (on tape)

Finite time: t1, t2 , t3 ,

29
Enumerator Machine
Configuration

Time 0  

q0

prints s1
Time t1 x1 # s1

qs

30
prints s2
Time t2 x2 # s2

qs

prints s3
Time t3 x3 # s3

qs

31
Observation:
If for a set S there is an enumerator,
then the set is countable

The enumerator describes the


correspondence of S to natural numbers

32
Example: The set of strings S  {a , b , c } 
is countable

Approach:
We will describe an enumerator for S

33
Naive enumerator:
Produce the strings in lexicographic order:
s1  a
s2  aa
 aaa
aaaa
......
Doesn’t work:
strings starting with b
will never be produced
34
Better procedure: Proper Order
(Canonical 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


..........

35
s1  a
s2  b length 1
 c
aa
ab
ac
Produce strings in ba
Proper Order: bb length 2
bc
ca
cb
cc
aaa
aab length 3
aac
......
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

37
Enumerator:
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
Costas Busch - RPI 38
Binary strings Turing Machines
0
1
00
01


1 0 1 0 11 0 11 0 0 s1
1 0 1 0 11 0 11 0 1 1 0 1 0 11 0 11 0 1
 s2
1 0 11 0 1010010101 101 1 0 11 0 1010010101 101


End of Proof
39
Uncountable Sets

40
We will prove that there is a language L 
which is not accepted by any Turing machine

Technique:
Turing machines are countable

Languages are uncountable

(there are more languages than Turing Machines)


41
Definition: A set is uncountable
if it is not countable

We will prove that there is a language


which is not accepted by any Turing machine

42
Theorem:

If S is an infinite countable set, then


S
the powerset 2 of S is uncountable.

(the powerset 2 S is the set whose elements


are all possible sets made from the elements of S )

43
Proof:

Since S is countable, we can write


S  {s1, s2 , s3 ,}

Elements of S

Fall 2006 Costas Busch - RPI 44


Elements of the powerset 2 S have the form:


{s1, s3}

{s5 , s7 , s9 , s10 }

……

45
We encode each element of the powerset
with a binary string of 0’s and 1’s

Powerset
Binary encoding
element
(in arbitrary order)
s1 s2 s3 s4 
{s1} 1 0 0 0 

{s2 , s 3 } 0 1 1 0 

{s1, s 3 , s4 } 1 0 1 1 
46
Observation:
Every infinite binary string corresponds
to an element of the powerset:

Example: 10 0 111 0 
S
Corresponds to: {s1, s4 , s5 , s6 ,}  2

47
Let’s assume (for contradiction)
that the powerset 2 is countable
S

Then: we can enumerate


the elements of the powerset

S
2  {t1, t2 , t3 ,}

48
suppose that this is the respective
Powerset
Binary encoding
element
t1 1 0 0 0 0 

t2 1 1 0 0 0 

t3 1 1 0 1 0 

t4 1 1 0 0 1 
  49
Take the binary string whose bits
are the complement of the diagonal

t1 1 0 0 0 0 

t2 1 1 0 0 0 
t3 1 1 0 1 0 
t4 1 1 0 0 1 
Binary string: t  0011
(birary complement of diagonal)
50
The binary string t  0011
corresponds
to an element of
S
the powerset 2 : t  {s3 , s 4 , }  2
S

51
Thus, t must be equal to some ti

t  ti
However,
the i-th bit in the encoding of t is
the complement of the i-th bit of ti , thus:

t  ti
Contradiction!!!
52
Since we have a contradiction:

The powerset S of
2 S is uncountable

End of proof

53
An Application: Languages

Consider Alphabet : A  {a, b}


The set of all Strings:

S  {a, b}  { , a, b, aa, ab, ba, bb, aaa, aab,}


*

infinite and countable

(we can enumerate the strings


in proper order)

54
Consider Alphabet : A  {a, b}
The set of all Strings:

S  {a, b}  { , a, b, aa, ab, ba, bb, aaa, aab,}


*

infinite and countable

Any language is a subset of S:


L  {aa, ab, aab}

55
Consider Alphabet : A  {a, b}
The set of all Strings:

S  A  {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, b},...,{aa, ab, aab},}
S

uncountable
56
Consider Alphabet : A  {a, b}

countable
Turing machines: M1 M2 M3 

accepts
Languages accepted
By Turing Machines: L1 L2 L3 
countable

Denote: X  {L1, L2 , L3 ,} Note: X 2 S


countable
S  {a , b } 
*

57
Conclusion:
There is a language L  not accepted
by any Turing Machine:

S L  2 S
and L  X
X 2

(Language L  cannot be described


by any algorithm)

58
Non Turing-Acceptable Languages

L

Turing-Acceptable
Languages

59
Note that: X  {L1, L2 , L3 ,}
is a multi-set (elements may repeat)
since a language may be accepted
by more than one Turing machine

However, if we remove the repeated elements,


the resulting set is again countable since every element
still corresponds to a positive integer

60

You might also like