Professional Documents
Culture Documents
Hello, everyone.
(00:02)
Welcome to the next lecture
in the courseant Theory of Automata.
(00:07)
Till now, in this course we have been
(00:09)
studying finite Automata
and pushdown automatic.
(00:13)
We have studied these two machines,
(00:15)
and we also studied the class
of languages they accept.
(00:18)
And now as we move one step ahead,
(00:21)
we are going to study about the next
topic, which is Turing machine.
(00:25)
So if you remember from very first lecture
(00:29)
where I told you what topics
I'll be covering in this course.
(00:33)
So we started from and studied about
(00:35)
finite state machines
and in finite state machines.
(00:39)
We saw that the class of languages they
accept are known as regular languages.
(00:44)
Then we studied about push down Automata
(00:47)
and the class of languages they
accept were context three languages.
(00:55)
So we saw the limitations of finite state
(00:58)
machines, and we studied how their
limitations were overcome by push down
(01:02)
Automata because it is more powerful
than finite state machines.
(01:07)
And now as we move ahead,
(01:09)
we are going to study about Turing
machines, which is more powerful than
(01:13)
finite state machines and also more
powerful than Porton Automata.
(01:18)
And the class of languages that is
(01:20)
accepted by the Turing machines are known
as recursively enumerable languages,
(01:25)
which we will be discussing as we proceed
further in this module of Turing machines.
(01:33)
Now let us see what were the data
(01:35)
structures in finite state
machines and push down Automata.
(01:40)
So if you remember in finite state machine
which accepted the regular languages,
(01:45)
the data structures that we had
were only the input string.
(01:50)
We just had an input string,
(01:52)
and we had a control which can move only
to one direction and that is forward.
(01:58)
Also, we saw that finite state machine has
a very limited power and limited memory.
(02:04)
And the class of languages they
accepted were only regular languages.
(02:08)
And we saw, what are the regular languages
(02:13)
now coming down to the pushdown Automata
in pushdown Automata,
(02:18)
the data structure that we had
was only was the input string.
(02:22)
And apart from the input
string, we had a stake.
(02:28)
So the presence of this stake makes
(02:31)
the push down Automata different
from finite state machine.
(02:34)
So because of the presence of stake
(02:36)
in pushdown Automata,
we saw that push down Automata was more
(02:40)
powerful than finite state machine,
and the class of languages that these
(02:45)
pushed on Automata except are
contextfree languages
(02:52)
now coming down, we have Turing machines,
(02:58)
which we are going to discuss in this
lecture and in Turing machine,
(03:02)
the data structure that we have
is something known as tape.
(03:08)
So tape is something that looks
like as shown in the diagram.
(03:12)
And this tape is a sequence
of infinite cells.
(03:15)
And above this tab we see a downward
arrow which is known as the tape head.
(03:22)
So the tape head is
positioned on the symbol
(03:27)
in the cell on which the current
control is present.
(03:31)
And this tab head can move either one step
(03:34)
to the left or one step to the right,
depending on the kind of our computation.
(03:40)
Also, the sales in this step is filled
(03:42)
with the input symbol, and it is
an infinite sequence of cells.
(03:46)
So the remaining cells are
filled with empty symbol.
(03:50)
So instead of leaving the remaining cells
(03:52)
blank, we fill them with a special
kind of symbol called blank symbol.
(03:59)
So here we have the tape alphabets
represented by Sigma.
(04:05)
And these tape alphabets can contain zero
(04:09)
one, A-B-X-Z, Naught,
or any kind of symbol like this.
(04:16)
And then, as I told you, the blank
symbol is a special kind of symbol.
(04:23)
Also, note that blank symbol does not
belong to Sigma, the set of input symbols.
(04:29)
So blank symbol is not part of the tape
Alphabet, but instead it is just a special
(04:36)
symbol that is used
to fill the infinite tape.
(04:42)
Now let us look at the initial
configuration of a Turing machine.
(04:49)
So the initial configuration of the tape
in Turing machine looks like this.
(04:54)
So here we have the input
strings, as I told you.
(04:59)
And then there are blank symbols which
have filled the rest of the tape cells.
(05:06)
So it is blank out to Infinity,
(05:10)
blanks out to Infinity.
(05:12)
And then we have the tape head,
(05:15)
which is positioned at the leftmost
cell or starting cell of the tape.
(05:21)
Now let us see what are the operations
that we can have on the tab.
(05:30)
These are the operations
that we can have on our table.
(05:34)
The first one is read or scan symbol
below the tape head.
(05:40)
So as we know that the tape head is
(05:43)
positioned above the cell,
so we can only scan or read the symbol
(05:48)
below the table head
in that particular cell.
(05:52)
The second operation is to update or
write a symbol below the table head.
(05:56)
So after reading or scanning a particular
(05:58)
symbol in the cell below
the tab head, we can write it.
(06:02)
The third operation option
(06:05)
that you can perform is move the tab head
one step left, and the fourth operation
(06:10)
that we can perform is to move the table
head one step right,
(06:13)
so you can either move the tab head one
step to the left or one step to the right.
(06:20)
So remember that you cannot move more
(06:23)
steps at a time, but one step
only to the left or to the right.
(06:28)
So these are the operations you can
perform on the tape of our Turing machine.
(06:34)
Now we come to the second
part of our introduction
(06:39)
to the Turing machine.
(06:41)
So here you see a diagram which shows
how a Turing machine looks like.
(06:45)
So we have the control portion and a tape
which we already discussed.
(06:52)
The control portion is similar to finite
state machine or pushdown Automata.
(06:56)
So this is the program or the control
portion of our Turing machine.
(07:01)
And remember that it is deterministic.
(07:06)
Now we will discuss some
rules of operations.
(07:09)
We have two sets of rules of operations.
(07:12)
So this is rules of operations.
(07:15)
One, it says that at each
step of computation.
(07:21)
What we have to do.
(07:24)
First, we can read the current symbol,
(07:27)
and then we can update the current
symbol that is right, the same cell.
(07:32)
And we can move exactly one cell
either to left or to the right.
(07:38)
And also remember that if you are
(07:41)
at the left end of the tab and trying
to move left, then do not move.
(07:46)
Stay at the left end.
(07:49)
Now, here we have the transition
diagram of our Turing machine.
(07:55)
The circles represent the States,
(07:57)
and the transition is
represented by some symbols.
(08:00)
Let us see what these symbols mean.
(08:03)
So we have A, then an arrow pointing to B,
and we have R over here.
(08:10)
So the leftmost symbol that is A is
(08:12)
a symbol which we read from the tab, the
symbol that follows the arrow that is B.
(08:18)
It represents the symbol that we write.
(08:20)
So we update the cell having A with B,
(08:25)
and the next step is to move exactly one
step either to the left or to the right.
(08:29)
So the symbol R over here gives us
the direction to move left or right.
(08:34)
So if it is L instead of R, then we
have to move one step to the left.
(08:40)
Now, if we don't want
to update, then we just
(08:44)
write the same symbol.
(08:49)
So this transition, one arrow, one
comma L represent the same situation.
(08:57)
Here we update one with one.
(08:59)
It means that one remain as one
and we move one step to the left.
(09:10)
Now, coming to the
second set of rules of operations.
(09:16)
The first point is
(09:20)
the control is with a sort
of finite state machine.
(09:24)
So as I already told you that the control
(09:27)
portion of a theorem machine is somehow
similar to finite state machine,
(09:33)
then we have our initial stat.
(09:36)
And if we talk about final state
and Turing machine,
(09:39)
we come to know that there are exactly
two final States in Turing machine,
(09:47)
the accept state and the reject state.
(09:50)
Another thing we need to know is when
does the computation of a Turing machine?