Turing Machine. CSE-501 Formal Language & Automata Theory Aug-Dec,2010. ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala. The Language Hierarchy. ?. ?. Context-Free Languages. Regular Languages. Languages accepted by Turing Machines. Context-Free Languages.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
Turing Machine
CSE-501
Formal Language & Automata Theory
Aug-Dec,2010
ALAK ROY.
Assistant Professor
Dept. of CSE
NIT Agartala
?
?
Context-Free Languages
Regular Languages
Languages accepted by
Turing Machines
Context-Free Languages
Regular Languages
Tape
......
......
Read-Write head
Control Unit
No boundaries -- infinite length
......
......
Read-Write head
The head moves Left or Right
......
......
Read-Write head
The head at each time step:
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
Example:
Time 0
......
......
Time 1
......
......
1. Reads
2. Writes
3. Moves Left
Time 1
......
......
Time 2
......
......
1. Reads
2. Writes
3. Moves Right
Input string
Blank symbol
......
......
head
Head starts at the leftmost position
of the input string
Input string
Blank symbol
......
......
head
Remark: the input string is never empty
Write
Read
Move Left
Move Right
Example:
Time 1
......
......
current state
Time 1
......
......
Time 2
......
......
Example:
Time 1
......
......
Time 2
......
......
Example:
Time 1
......
......
Time 2
......
......
Turing Machines are deterministic
Not Allowed
Allowed
No lambda transitions allowed
Example:
......
......
Allowed:
No transition
for input symbol
The machine haltsif there are
no possible transitions to follow
Example:
......
......
No possible transition
HALT!!!
Allowed
Not Allowed
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
A Turing machine that accepts the language:
Time 0
Time 1
Time 2
Time 3
Time 4
Halt & Accept
Rejection Example
Time 0
Time 1
No possible Transition
Halt & Reject
A Turing machine
for language
Time 0
Time 1
Time 2
Time 2
Time 3
Infinite loop
Time 4
Time 5
Formal Definitionsfor Turing Machines
Transition Function
Transition Function
Turing Machine:
Input
alphabet
Tape
alphabet
States
Transition
function
Final
states
Initial
state
blank
Instantaneous description:
Time 4
Time 5
A Move:
Time 4
Time 5
Time 6
Time 7
Equivalent notation:
Initial configuration:
Input string
For any Turing Machine
Initial state
Final state
The machine we described is the standard:
Computing FunctionswithTuring Machines
A function
has:
Result Region:
Domain:
A function may have many parameters:
Example:
Addition function
We prefer unary representation:
easier to manipulate with Turing machines
Integer Domain
Decimal:
5
Binary:
101
Unary:
11111
Definition:
A function is computable if
there is a Turing Machine such that:
Initial configuration
Final configuration
initial state
final state
For all
Domain
In other words:
A function is computable if
there is a Turing Machine such that:
Initial
Configuration
Final
Configuration
For all
Domain
is computable
The function
are integers
Turing Machine:
Input string:
unary
Output string:
unary
Start
initial state
The 0 is the delimiter that
separates the two numbers
Start
initial state
Finish
final state
The 0 helps when we use
the result for other operations
Finish
final state
Turing machine for function
Execution Example:
Time 0
(2)
(2)
Final Result
Time 0
Time 1
Time 2
Time 3
Time 4
Time 5
Time 6
Time 7
Time 8
Time 9
Time 10
Time 11
Time 12
HALT & accept
is computable
The function
is integer
Turing Machine:
Input string:
unary
Output string:
unary
Start
initial state
Finish
final state
Turing Machine Pseudocode for
Until no more $ remain
Turing Machine for
Example
Start
Finish
Block Diagram
Turing
Machine
input
output
Turing’s Thesis
Turing’s thesis:
Any computation carried out
by mechanical means
can be performed by a Turing Machine
(1930)
Computer 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
Definition of Algorithm:
An algorithm for function
is a
Turing Machine which computes
Algorithms are Turing Machines
When we say:
There exists an algorithm
We mean:
There exists a Turing Machine
that executes the algorithm
Yes, obviously.
Can one TM simulate every TM?
Input: < Description of some TM m, w >
Output: result of running m on w
Universal
Turing
Machine
m
Output Tape
for running
TM- m starting on tape w
w
U(“m”“w”) = “m(w)”
Thank you