Title: Turing Machines
1Turing Machines
2The Language Hierarchy
?
?
Context-Free Languages
Regular Languages
3Languages accepted by Turing Machines
Context-Free Languages
Regular Languages
4A Turing Machine
Tape
......
......
Read-Write head
Control Unit
5The Tape
No boundaries -- infinite length
......
......
Read-Write head
The head moves Left or Right
6......
......
Read-Write head
The head at each time step 1.
Reads a symbol 2. Writes a
symbol 3. Moves Left or Right
7Example
Time 0
......
......
Time 1
......
......
1. Reads
2. Writes
3. Moves Left
8Time 1
......
......
Time 2
......
......
1. Reads
2. Writes
3. Moves Right
9The Input String
Input string
Blank symbol
......
......
head
Head starts at the leftmost position of the input
string
10Input string
Blank symbol
......
......
head
Remark the input string is never empty
11States Transitions
Write
Read
Move Left
Move Right
12Example
Time 1
......
......
current state
13Time 1
......
......
Time 2
......
......
14Example
Time 1
......
......
Time 2
......
......
15Example
Time 1
......
......
Time 2
......
......
16Determinism
Turing Machines are deterministic
Not Allowed
Allowed
No lambda transitions allowed
17Partial Transition Function
Example
......
......
Allowed
No transition for input symbol
18Halting
The machine halts if there are no possible
transitions to follow
19Example
......
......
No possible transition
HALT!!!
20Final States
Allowed
Not Allowed
- Final states have no outgoing transitions
- In a final state the machine halts
21Acceptance
If machine halts in a final state
Accept Input
If machine halts in a non-final state
or If machine enters an infinite loop
Reject Input
22Turing Machine Example
A Turing machine that accepts the language
23Time 0
24Time 1
25Time 2
26Time 3
27Time 4
Halt Accept
28Rejection Example
Time 0
29Time 1
No possible Transition
Halt Reject
30Infinite Loop Example
A Turing machine for language
31Time 0
32Time 1
33Time 2
34Time 2
Time 3
Infinite loop
Time 4
Time 5
35- Because of the infinite loop
- The final state cannot be reached
- The machine never halts
- The input is not accepted
36Formal Definitionsfor Turing Machines
37Transition Function
38Transition Function
39Turing Machine
Input alphabet
Tape alphabet
States
Transition function
Final states
Initial state
blank
40Configuration
Instantaneous description
41Time 4
Time 5
A Move
42Time 4
Time 5
Time 6
Time 7
43Equivalent notation
44Initial configuration
Input string
45The Accepted Language
For any Turing Machine
Initial state
Final state
46Standard Turing Machine
The machine we described is the standard
- Deterministic
- Infinite tape in both directions
- Tape is the input/output file
47Computing FunctionswithTuring Machines
48A function
has
Result Region
Domain
49A function may have many parameters
Example
Addition function
50Integer Domain
Decimal
5
Binary
101
Unary
11111
51Definition
A function is computable if there is
a Turing Machine such that
Initial configuration
Final configuration
final state
initial state
For all
Domain
52In other words
A function is computable if there is
a Turing Machine such that
Initial Configuration
Final Configuration
For all
Domain
53Example
is computable
The function
are integers
Turing Machine
Input string
unary
Output string
unary
54Start
initial state
The 0 is the delimiter that separates the two
numbers
55Start
initial state
Finish
final state
56The 0 helps when we use the result for other
operations
Finish
final state
57Turing machine for function
58Execution Example
Time 0
(2)
(2)
Final Result
59Time 0
60Time 1
61Time 2
62Time 3
63Time 4
64Time 5
65Time 6
66Time 7
67Time 8
68Time 9
69Time 10
70Time 11
71Time 12
HALT accept
72Another Example
is computable
The function
is integer
Turing Machine
Input string
unary
Output string
unary
73Start
initial state
Finish
final state
74Turing Machine Pseudocode for
- Find rightmost , replace it with 1
- Go to right end, insert 1
Until no more remain
75Turing Machine for
76Example
Start
Finish
77Another Example
if
The function
if
is computable
78Turing Machine for
if
if
Input
or
Output
79Turing Machine Pseudocode
Match a 1 from with a 1 from
Until all of or is matched
- If a 1 from is not matched
- erase tape, write 1
- else
- erase tape, write 0
80Combining Turing Machines
81Block Diagram
Turing Machine
input
output
82Example
if
if
Adder
Comparer
Eraser
83Turings Thesis
84Turings thesis
Any computation carried out by mechanical
means can be performed by a Turing Machine
(1930)
85Computer Science Law
A computation is mechanical if and only if it
can be performed by a Turing Machine
There is no known model of computation more
powerful than Turing Machines
86Definition of Algorithm
An algorithm for function is a Turing Machine
which computes
87Algorithms are Turing Machines
When we say
There exists an algorithm
We mean
There exists a Turing Machine that executes the
algorithm