SlideShare a Scribd company logo
1 of 51
Download to read offline
.6cm.
Introduction to Formal Languages,
Automata and Computability
Finite State Automata
K. Krithivasan and R. Rama
Introduction to Formal Languages, Automata and Computability – p.1/51
Introduction
As another example consider a binary serial adder. At
any time it gets two binary inputs x1 and x2. The
adder can be in any one of the states ‘carry’ or ‘no
carry’ . The four possibilities for the inputs x1x2 are
00, 01, 10, 11. Initially the adder is in the ‘no carry’
state. The working of the serial adder can be
represented by the following diagram.
no carry
carry
00/1
11/0
10/1
01/1
00/0 01/0
11/1
10/0
Introduction to Formal Languages, Automata and Computability – p.2/51
contd.
p q
x x /x1 2 3
denotes that when the adder is in
state p and gets input x1x2, it goes to state q and
outputs x3. The input and output on a transition from
p to q is denoted by i/o. It can be seen that suppose the
two binary numbers to be added are 100101 and
100111.
Time 6 5 4 3 2 1
1 0 0 1 0 1
1 0 0 1 1 1
The input at time t = 1 is 11 and the output is 0 and
the
Introduction to Formal Languages, Automata and Computability – p.3/51
contd
machine goes to ‘carry’ state. The output is 0. Here at time t = 2, the
input is 01; the output is 0 and the machine remains in ‘carry’ state. At
time t = 3, it gets 11 and output 1 and remains in
‘carry’ state. At time t = 4, the input is 00; the machine outputs 1 and
goes to ‘no carry’ state. At time t = 5, the input is 00; the output is 0
and the machine remains in ‘no carry’ state. At time t = 6, the input is
11; the machine outputs 0 and goes to ‘carry’ state. The input stops
here. At time t = 7, no input is there (and this is taken as 00) and the
output is 1.
It should be noted that at time t = 1, 3, 6 input is 11, but the output is 0
at t = 1, 6 and is 1 at time t = 3. At time t = 4, 5, the input is 00, but
the output is 1 at time t = 4 and 0 at t = 5.
Introduction to Formal Languages, Automata and Computability – p.4/51
contd.
So it is seen that the output depends both on the input
and the state.
The diagrams we have seen are called state diagrams.
q p
i/o
The above diagram indicates that in state q when the
machine gets input i, it goes to state p and outputs 0.
Let us consider one more example of a state diagram
given in
Introduction to Formal Languages, Automata and Computability – p.5/51
contd
q q
0/1
1/0
10
1/1
0/0
The input and output alphabet are {0, 1}. For the
input 011010011, the output is 00110100 and
machine is in state q1. It can be seen that the first is 0
and afterwards, the output is the symbol read at the
previous instant. It can also be noted that the machine
goes to q1 after reading a 1 and goes to q0 after
reading a 0.
Introduction to Formal Languages, Automata and Computability – p.6/51
contd
It should also be noted that when it goes from state q0
it outputs a 0 and when it goes from state q1, it out-
puts a 1. This machine is called a one moment delay
machine.
Introduction to Formal Languages, Automata and Computability – p.7/51
Deterministic Finite State Automa-
ton
Definition A Deterministic Finite State Automaton
(DFSA) is a 5-tuple
M = (K, Σ, δ, q0, F) where
K is a finite set of states
Σ is a finite set of input symbols
q0 in K is the start state or initial state
F ⊆ K is set of final states
δ, the transition function is a mapping from
K × Σ → K.
δ(q, a) = p means, if the automaton is in state q and
reading a symbol a, it goes to state p in the next
Introduction to Formal Languages, Automata and Computability – p.8/51
contd
instant, moving the pointer one cell to the right.
ˆδ is an extension of δ and ˆδ : K × Σ∗
→ K as follows:
ˆδ(q, ) = q for all q in K
ˆδ(q, xa) = δ(ˆδ(q, x), a) x ∈ Σ∗
, q ∈ K, a ∈ Σ.
Since ˆδ(q, a) = δ(q, a), without any confusion we can
use δ for ˆδ also. The language accepted by the
automaton is defined as
T(M) = {w/w ∈ T∗
, δ(q0, w) ∈ F}.
Introduction to Formal Languages, Automata and Computability – p.9/51
contd
Example Let a DFSA have state set {q0, q1, q2, D}; q0
is the initial state; q2 is the only final state. The state
diagram of the DFSA is given in the following figure.
q
1 q
2
b
a
a
a
b
b
q
0
D
a,b
Introduction to Formal Languages, Automata and Computability – p.10/51
contd
a a a b
↑
q0
a a a b
↑
q1
a a a b
↑
q1
a a a b
↑
q1
a a a b
↑
q2
Introduction to Formal Languages, Automata and Computability – p.11/51
contd
After reading aaabb, the automaton reaches a final
state. It is easy to see that
T(M) = {an
bm
/n, m ≥ 1}
There is a reason for naming the fourth state as D.
Once the control goes to D, it cannot accept the string,
as from D the automaton cannot go to a final state.
On further reading any symbol the state remains as D.
Such a state is called a dead state or a sink state.
Introduction to Formal Languages, Automata and Computability – p.12/51
Nondeterministic Finite State Au-
tomaton
Consider the following state diagram of a
nondeterministic FSA.
q
1
q
2
a bq
0
a b
On a string aaabb the transition can be looked at as
follows.
q
0
q
0
q
0
q
0
q
1
q
1 q
1
q
1
q
2
q
2
q
1
a a a b b
Introduction to Formal Languages, Automata and Computability – p.13/51
contd
Definition A Nondeterministic Finite State
Automaton (NFSA) is a 5-tuple M = (K, Σ, δ, qo, F)
where K, Σ, δ, q0, F are as given for DFSA and δ, the
transition function is a mapping from K × Σ into
finite subsets of K.
The mappings are of the form δ(q, a) = {p1, . . . , pr}
which means if the automaton is in state q and reads
‘a’ then it can go to any one of the states p1, . . . , pr. δ
is extended as ˆδ to K × Σ∗
as follows:
ˆδ(q, ) = {q} for all q in K.
Introduction to Formal Languages, Automata and Computability – p.14/51
contd
If P is a subset of K
δ(P, a) =
p∈P
δ(p, a)
ˆδ(q, xa) = δ(ˆδ(q, x), a)
ˆδ(P, x) =
p∈P
ˆδ(p, x)
Since δ(q, a) and ˆδ(q, a) are equal for a ∈ Σ, we can
use the same symbol δ for ˆδ also.
The set of strings accepted by the automaton is denoted
by T(M). Introduction to Formal Languages, Automata and Computability – p.15/51
contd
T(M) = {w/w ∈ T∗
, δ(q0, w) contains a state from F}
The automaton can be represented by a state table
also. For example the state diagram given in the figure
can be represented as the state table given below
q
2
a
{q ,q }
0 1
φ
b
φ
φ
{q ,q }
0 1
φ
q
q
1
0
Introduction to Formal Languages, Automata and Computability – p.16/51
contd
Example The state diagram of an NFSA which
accepts binary strings which have at least one pair
‘00’ or one pair ‘11’ is
q
1
q
2
0 0q
0
0,1 0,1
q
q
3
4
1
1
0,1
Introduction to Formal Languages, Automata and Computability – p.17/51
contd
Theorem If L is accepted by a NFSA then L is accepted by a DFSA.
Let L be accepted by a NFSA M = (K, Σ, δ, q0, F). Then we
construct a DFSA M = (K , Σ , δ , q0, F ) as follows: K = P(K),
power set of K. Corresponding to each subset of K, we have a state in
K . q0 corresponds to the subset containing q0 alone. F consists of
states corresponding to subsets having at least one state from F. We
define δ as follows:
δ ([q1, . . . , qk], a) = [r1, r2, . . . , rs] if and only if
δ({q1, . . . , qk}, a) = {r1, r2, . . . , rs}.
We show that T(M) = T(M ).
Introduction to Formal Languages, Automata and Computability – p.18/51
contd
We prove this by induction on the length of the string.
We show that
δ (q0, x) = [p1, . . . , pr]
if and only if δ(q0, x) = {p1, . . . , pr}
Basis
|x| = 0 i.e., x =
δ (q0, ) = q0 = [q0]
δ(q0, ) = {q0}
Induction
Assume that the result is true for strings x of length
upto m. We have to prove for string of length m + 1.
By induction hypothesis
Introduction to Formal Languages, Automata and Computability – p.19/51
contd
δ (q0, x) = [p1, . . . , pr]
if and only if δ(q0, x) = {p1, . . . , pr}.
δ (q0, xa) = δ ([p1, . . . , pr], a),
δ(q0, xa) =
p∈P
δ(p, a),
where P = {p1, . . . , pr}.
Suppose
p∈P
δ(p, a) = {s1, . . . , sm}
δ({p1, . . . , pr}, a) = {s1, . . . , sm}.
By our construction
δ ([p1, . . . , pr], a) = [s1, . . . , sm] and hence
δ (q0, xa) = δ ([p1, . . . , pr], a) = [s1, . . . , sm].
Introduction to Formal Languages, Automata and Computability – p.20/51
contd
In M , any state representing a subset having a state
from F is in F .
So if a string w is accepted in M, there is a sequence
of states which takes M to a final state f and M sim-
ulating M will be in a state representing a subset con-
taining f. Thus L(M) = L(M ).
Introduction to Formal Languages, Automata and Computability – p.21/51
contd
Example Let us construct the DFSA for the NFSA
given by the table in previous figure. We construct the
table for DFSA.
a b
→ [q0] [q0, q1] [φ]
[q0, q1] [q0, q1] [q1, q2]
[q1, q2] [φ] [q1, q2]
[φ] [φ] [φ]
δ ([q0, q1], a) = [δ(q0, a) ∪ δ(q1, a)] (1)
= [{q0, q1} ∪ φ] (2)
= [q0, q1] (3)
Introduction to Formal Languages, Automata and Computability – p.22/51
contd
δ ([q0, q1], b) = [δ(q0, b) ∪ δ(q1, b)] (4)
= [φ ∪ {q1, q2}] (5)
= [q1, q2] (6)
The state diagram is given
[q ]0 [q ,q ]
1 2
[q ,q ]
0 1
[φ]
a b
a,b
ab
a b
Introduction to Formal Languages, Automata and Computability – p.23/51
Nondeterministic Finite State Au-
tomaton with -transitions
q qq
a b
0 1 2
q3
b
c d
Definition An NFSA with -transition is a 5-tuple
M = (K, Σ, δ, q0, F). where K, Σ, δ, q0, F are as
defined for NFSA and δ is a mapping from
K × (Σ ∪ { }) into finite subsets of K. δ can be
extended as ˆδ to K × Σ∗
as follows. First we define
the -closure of a state q. It is the set of states which
can be reached from q by reading only. Of course,
-closure of a state includes itself.
ˆδ(q, ) = -closure(q).
Introduction to Formal Languages, Automata and Computability – p.24/51
contd
For w in Σ∗
and a in Σ, ˆδ(q, wa) = -closure(P), where
P = {p| for some r in ˆδ(q, w), p is in δ(r, a)}
Extending δ and ˆδ to a set of states, we get
δ(Q, a) = q in Q δ(q, a)
δ(Q, w) = q in Q δ(q, w)
The language accepted is defined as
T(M) = {w|ˆδ(q, w) contains a state in F}.
Theorem Let L be accepted by a NFSA with -moves. Then L can be
accepted by a NFSA without -moves.
Let L be accepted by a NFSA with -moves
M = (K, Σ, δ, q0, F). Then we construct a NFSA
Introduction to Formal Languages, Automata and Computability – p.25/51
contd
M = (K, Σ, δ , q0, F ) without -moves for accepting L as follows.
F = F ∪ {q0} if -closure of q0 contains a state from F.
= F otherwise.
δ (q, a) = ˆδ(q, a).
We should show T(M) = T(M ).
We wish to show by induction on the length of the string x accepted
that δ (q0, x) = ˆδ(q0, x). We start the basis with |x| = 1 because for
|x| = 0, i.e., x = this may not hold. We may have δ (q0, ) = {q0}
and ˆδ(q0, ) = -closure of q0 which may include other states.
Introduction to Formal Languages, Automata and Computability – p.26/51
contd
Basis
|x| = 1. Then x is a symbol of Σ say a, and
δ (q0, a) = ˆδ(q0, a) by our definition of δ .
Induction
|x| > 1. Then x = ya for some y ∈ Σ∗
and a ∈ Σ.
Then δ (q0, ya) = δ (δ (q0, y), a).
By the inductive hypothesis δ (q0, y) = ˆδ(q0, y).
Let ˆδ(q0, y) = P.
Introduction to Formal Languages, Automata and Computability – p.27/51
contd
δ (P, a) = ∪
p∈P
δ (p, a) = ∪
p∈P
ˆδ(p, a)
∪
p∈P
ˆδ(p, a) = ˆδ(q0, ya)
Therefore δ (q0, ya) = ˆδ(q0, ya)
It should be noted that δ (q0, x) contains a state in F if
and only if ˆδ(q0, x) contains a state in F.
Introduction to Formal Languages, Automata and Computability – p.28/51
Example
Consider the -NFSA of previous example. By our
construction we get the NFSA without -moves given
in the following figure
q qq
a b
0 1 2
q3
c d
a b c
b
b
b
d
b
Introduction to Formal Languages, Automata and Computability – p.29/51
contd
-closure of (q0) = {q0, q1}
-closure of (q1) = {q1}
-closure of (q2) = {q2, q3}
-closure of (q3) = {q3}
It is not difficult to see that the language accepted by
the above NFSA = {an
bm
cp
dq
/m ≥ 1, n, p, q ≥ 0}.
Introduction to Formal Languages, Automata and Computability – p.30/51
Regular Expressions
Definition Let Σ be an alphabet. For each a in Σ, a is
a regular expression representing the regular set {a}.
φ is a regular expression representing the empty set.
is a regular expression representing the set { }. If r1
and r2 are regular expressions representing the regular
sets R1 and R2 respectively, then r1 + r2 is a regular
expression representing R1 ∪ R2. r1r2 is a regular
expression representing R1R2. r∗
1 is a regular
expression representing R∗
1. Any expression obtained
from φ, , a(a ∈ Σ) using the above operations and
parentheses where required is a regular expression.
Example (ab)∗
abcd represent the regular set
{(ab)n
cd/n ≥ 1}Introduction to Formal Languages, Automata and Computability – p.31/51
contd
Theorem If r is a regular expression representing a
regular set, we can construct an NFSA with -moves
to accept r.
r is obtained from a, (a ∈ Σ), , φ by finite number of
applications of +, . and ∗ (. is usually left out).
For , φ, a we can construct NFSA with -moves are.
is acceptedq0 {ε}
q
0
q
0
qf
qf is accepted
a is accepted
φ
a
Introduction to Formal Languages, Automata and Computability – p.32/51
contd
Let r1 represent the regular set R1 and R1 is accepted
by the NFSA M1 with -transitions.
M1 q
01
q
f1
Without loss of generality we can assume that each
such NFSA with -moves has only one final state.
R2 is similarly accepted by an NFSA M2 with
-transition.
M2 q
02
q
f2
Introduction to Formal Languages, Automata and Computability – p.33/51
contd
Now we can easily see that R1 ∪ R2 (represented by
r1 + r2) is accepted by the NFSA given in next figure
M1
q
02
q
f2
q
01
qf1
qf
q
0
Introduction to Formal Languages, Automata and Computability – p.34/51
contd
For this NFSA q0 is the start state and qf is the final
state.
R1R2 represented by r1r2 is accepted by the NFSA
with -moves given as
1M M2
q
01
q
f1
q
02
q
f2
For this NFSA with -moves q01 is the initial state and
qf2is the final state.
R∗
1 = R0
1 ∪ R1
1 ∪ R2
1 ∪ · · · ∪ Rk
1 ∪ . . .
R0
1 = { } and R1 = R1. Introduction to Formal Languages, Automata and Computability – p.35/51
contd
R∗
1 represented by r∗
1 is accepted by the NFSA with -moves given as
q
0
q
01
qf1 qf
For this NFSA with -moves q0 is the initial state and qf is the final
state. It can be seen that R∗
1 contains strings of the form x1, x2, . . . , xk
each xi ∈ R1. To accept
Introduction to Formal Languages, Automata and Computability – p.36/51
contd
this string, the control goes from q0 to q01 and then
after reading x1 and reaching qf1, it goes to q01, by an
-transition. From q01, it again reads x2 and goes to
qf1. This can be repeated a number (k) of times and
finally the control goes to qf from qf1 by an
-transition. R0
1 = { } is accepted by going to qf from
q0 by an -transition.
Thus we have seen that given a regular expression one
can construct an equivalent NFSA with -transitions.
Regular
expression
DFSANFSA with
−transitions
NFSA without
−transitions
Introduction to Formal Languages, Automata and Computability – p.37/51
Example
Consider a regular expression aa∗
bb∗
.
a and b are accepted by NFSA with -moves given in
the following figure
q q
43 b
q q21 a
Introduction to Formal Languages, Automata and Computability – p.38/51
contd
aa∗
bb∗
will be accepted by NFSA with -moves given
in next figure.
q
6
q q
4
q
73
q
2 5
qq
1
q
11
q
21
q
31
q
41
q
8a
a
b
b
But we have already seen that a simple NFSA can be
drawn easily for this as in next figure.
q qq
a b
0 1 2ba
Introduction to Formal Languages, Automata and Computability – p.39/51
contd
Definition Let L ⊆ Σ∗
be a language and x be a string
in Σ∗
. Then the derivative of L with respect to x is
defined as
Lx = {y ∈ Σ∗
/xy ∈ L}.
It is some times denoted as ∂xL.
Theorem If L is a regular set Lx is regular for any x.
Consider a DFSA accepting L. Let this FSA be
M = (K, Σ, δ, q0, F). Start from q0 and read x to go
to state qx ∈ K.
Then M = (K, Σ, δ, qx, F) accepts Lx . This can be
seen easily as below.
Introduction to Formal Languages, Automata and Computability – p.40/51
contd
δ(q0, x) = qx,
δ(q0, xy) ∈ F ⇔ xy ∈ L,
δ(q0, xy) = δ(qx, y),
δ(qx, y) ∈ F ⇔ y ∈ Lx,
∴ M accepts Lx.
lemma Let Σ be an alphabet. The equation X = AX ∪
B where A, B ⊆ Σ∗
has a unique solution A∗
B if /∈
A.
Introduction to Formal Languages, Automata and Computability – p.41/51
contd
Let
X = AX ∪ B
= A(AX ∪ B) ∪ B
= A2
X ∪ AB ∪ B
= A2
(AX ∪ B) ∪ AB ∪ B
= A3
X ∪ A2
B ∪ AB ∪ B
...
= An+1
X ∪ An
B ∪ An−1
B ∪ · · · ∪ AB ∪ B(7)
Since /∈ A, any string in Ak
will have minimum
length k.
To show X = A∗
B. Introduction to Formal Languages, Automata and Computability – p.42/51
contd
Let w ∈ X and |w| = n. We have
X = An+1
X ∪ An
B ∪ · · · ∪ AB ∪ B (8)
Since any string in An+1
X will have minimum length
n + 1, w will belong to one of Ak
B, k ≤ n. Hence
w ∈ A∗
B. On the other hand let w ∈ A∗
B. To prove
w ∈ X. Since |w| = n, w ∈ Ak
B for some k ≤ n.
Therefore from (8) w ∈ X.
Hence we find that the unique solution for
X = AX + B is X = A∗
B.
Note If ∈ A, the solution will not be unique. Any
A∗
C, where C ⊇ B, will be a solution.
Introduction to Formal Languages, Automata and Computability – p.43/51
contd
Next we give an algorithm to find the regular
expression corresponding to a DFSA.
Algorithm
Let M = (K, Σ, δ, q0, F) be the DFSA.
Σ = {a1, a2, . . . , ak}, K = {q0, q1, . . . , qn−1}.
Step 1 Write an equation for each state in K.
q = a1qi1 + a2qi2 + · · · + akqik
if q is not a final state and δ(q, aj) = qij 1 ≤ j ≤ k.
q = a1qi1 + a2qi2 + · · · + akqik + λ
if q is a final state and δ(q, aj) = qij 1 ≤ j ≤ k.
Step 2 Take the n equations with n variables qi,
1 ≤ i ≤ n, and solve for q0 using the above lemma
and substitution.
Introduction to Formal Languages, Automata and Computability – p.44/51
contd
Step 3 Solution for q0 gives the desired regular
expression. Let us execute this algorithm for the
following DFSA given in the figure.
q
1
q
2
b
a
a
a
b
b
q
0
D
a,b
Introduction to Formal Languages, Automata and Computability – p.45/51
contd
Step 1
q0 = aq1 + bD (9)
q1 = aq1 + bq2 (10)
q2 = aD + bq2 + λ (11)
D = aD + bD (12)
Step 2
Solve for q0. From (12)
D = (a + b)D + φ
Introduction to Formal Languages, Automata and Computability – p.46/51
contd
Using previouus lemma
D = (a + b)∗
φ = φ. (13)
Using them we get
q0 = aq1 (14)
q1 = aq1 + bq2 (15)
q2 = bq2 + λ (16)
Note that we have got rid of one equation and one vari-
able. Introduction to Formal Languages, Automata and Computability – p.47/51
contd
In 16 using the lemma we get
q2 = b∗
(17)
Now using 17 and 15
q1 = aq1 + bb∗
(18)
We now have 14 and 18. Again we eliminated one
equation and one variable.
Using the above lemma in (18)
q1 = a∗
bb∗
(19)
Introduction to Formal Languages, Automata and Computability – p.48/51
contd
Using 19 in 14
q0 = aa∗
bb∗
(20)
This is the regular expression corresponding to the
given FSA.
Next, we see, how we are justified in writing the
equations.
Let q be the state of the DFSA for which we are
writing the equation,
q = a1qi1 + a2qi2 + · · · + akqik + Y. (21)
Y = λ or φ.
Introduction to Formal Languages, Automata and Computability – p.49/51
contd
Let L be the regular set accepted by the given DFSA.
Let x be a string such that starting from q0, after
reading x, state q is reached. Therefore q represents
Lx, the derivative of L with respect to x. From q after
reading aj, the state qij is reached.
Lx = q = a1Lxa1
+ a2Lxa2
+ · · · + akLxak
+ Y. (22)
ajLxaj
represents the set of strings in Lx beginning
with aj. Hence equation (22) represents the partition
of Lx into strings beginning with a1, beginning with
a2 and so on. If Lx contains , then Y = otherwise
Y = φ.
Introduction to Formal Languages, Automata and Computability – p.50/51
contd
It should be noted that when Lx contains , q is a final
state and so x ∈ L. It should also be noted that
considering each state as a variable qj, we have n
equation in n variables. Using the above lemma, and
substitution, each time one equation is removed while
one variable is eliminated. The solution for q0 is
L = L. This gives the required regular expression.
Introduction to Formal Languages, Automata and Computability – p.51/51

More Related Content

What's hot

NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automatadeepinderbedi
 
NFA DFA Equivalence theorem
NFA DFA Equivalence theorem NFA DFA Equivalence theorem
NFA DFA Equivalence theorem niveditJain
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Akila Krishnamoorthy
 
Formal Languages and Automata Theory unit 5
Formal Languages and Automata Theory unit 5Formal Languages and Automata Theory unit 5
Formal Languages and Automata Theory unit 5Srimatre K
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Abhimanyu Mishra
 
Finite Automata
Finite AutomataFinite Automata
Finite Automataparmeet834
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)Naman Joshi
 
NFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramNFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramAbdullah Jan
 
Thoery of Computaion and Chomsky's Classification
Thoery of Computaion and Chomsky's ClassificationThoery of Computaion and Chomsky's Classification
Thoery of Computaion and Chomsky's ClassificationPrafullMisra
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonkanikkk
 
Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Srimatre K
 
Lec 3 ---- dfa
Lec 3  ---- dfaLec 3  ---- dfa
Lec 3 ---- dfaAbdul Aziz
 

What's hot (19)

Automata Theory - Turing machine
Automata Theory - Turing machineAutomata Theory - Turing machine
Automata Theory - Turing machine
 
NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automata
 
NFA DFA Equivalence theorem
NFA DFA Equivalence theorem NFA DFA Equivalence theorem
NFA DFA Equivalence theorem
 
Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)Automata theory - Push Down Automata (PDA)
Automata theory - Push Down Automata (PDA)
 
Formal Languages and Automata Theory unit 5
Formal Languages and Automata Theory unit 5Formal Languages and Automata Theory unit 5
Formal Languages and Automata Theory unit 5
 
Automaton
AutomatonAutomaton
Automaton
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Ch2 finite automaton
Ch2 finite automatonCh2 finite automaton
Ch2 finite automaton
 
Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2Theory of Automata and formal languages unit 2
Theory of Automata and formal languages unit 2
 
Finite Automata
Finite AutomataFinite Automata
Finite Automata
 
Nfa to-dfa
Nfa to-dfaNfa to-dfa
Nfa to-dfa
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)
 
Finite automata
Finite automataFinite automata
Finite automata
 
NFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition DiagramNFA Converted to DFA , Minimization of DFA , Transition Diagram
NFA Converted to DFA , Minimization of DFA , Transition Diagram
 
Tsp is NP-Complete
Tsp is NP-CompleteTsp is NP-Complete
Tsp is NP-Complete
 
Thoery of Computaion and Chomsky's Classification
Thoery of Computaion and Chomsky's ClassificationThoery of Computaion and Chomsky's Classification
Thoery of Computaion and Chomsky's Classification
 
simple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilonsimple problem to convert NFA with epsilon to without epsilon
simple problem to convert NFA with epsilon to without epsilon
 
Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3Formal Languages and Automata Theory unit 3
Formal Languages and Automata Theory unit 3
 
Lec 3 ---- dfa
Lec 3  ---- dfaLec 3  ---- dfa
Lec 3 ---- dfa
 

Viewers also liked

Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsPersistent Systems Ltd.
 
Class 37: Computability in Theory and Practice
Class 37: Computability in Theory and PracticeClass 37: Computability in Theory and Practice
Class 37: Computability in Theory and PracticeDavid Evans
 
Computability, turing machines and lambda calculus
Computability, turing machines and lambda calculusComputability, turing machines and lambda calculus
Computability, turing machines and lambda calculusEdward Blurock
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfadeepinderbedi
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of AutomataFarooq Mian
 

Viewers also liked (7)

Finite Automata
Finite AutomataFinite Automata
Finite Automata
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
Class 37: Computability in Theory and Practice
Class 37: Computability in Theory and PracticeClass 37: Computability in Theory and Practice
Class 37: Computability in Theory and Practice
 
Computability, turing machines and lambda calculus
Computability, turing machines and lambda calculusComputability, turing machines and lambda calculus
Computability, turing machines and lambda calculus
 
Dfa 2 ppt
Dfa 2 pptDfa 2 ppt
Dfa 2 ppt
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfa
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of Automata
 

Similar to Fsa

@vtucode.in-module-1-21CS51-5th-semester (1).pdf
@vtucode.in-module-1-21CS51-5th-semester (1).pdf@vtucode.in-module-1-21CS51-5th-semester (1).pdf
@vtucode.in-module-1-21CS51-5th-semester (1).pdfFariyaTasneem1
 
Deterministic finite automata
Deterministic finite automata Deterministic finite automata
Deterministic finite automata Muhammad Love Kian
 
Theory of automata
Theory of automataTheory of automata
Theory of automataArslan905905
 
0227 regularlanguages
 0227 regularlanguages 0227 regularlanguages
0227 regularlanguagesissbp
 
Nondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfNondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfSergioUlisesRojasAla
 
In the automata theory, a nondeterministic finite.pdf
                     In the automata theory, a nondeterministic finite.pdf                     In the automata theory, a nondeterministic finite.pdf
In the automata theory, a nondeterministic finite.pdfannesmkt
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Theory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsTheory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsRushabh2428
 
Graph representation of DFA’s Da
Graph representation of DFA’s DaGraph representation of DFA’s Da
Graph representation of DFA’s Daparmeet834
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsRushabh2428
 
FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).pptssuser47f7f2
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.pptRohitPaul71
 
1.3.1 deterministic finite automaton
1.3.1 deterministic finite automaton1.3.1 deterministic finite automaton
1.3.1 deterministic finite automatonSampath Kumar S
 

Similar to Fsa (20)

Dfa
DfaDfa
Dfa
 
@vtucode.in-module-1-21CS51-5th-semester (1).pdf
@vtucode.in-module-1-21CS51-5th-semester (1).pdf@vtucode.in-module-1-21CS51-5th-semester (1).pdf
@vtucode.in-module-1-21CS51-5th-semester (1).pdf
 
Deterministic finite automata
Deterministic finite automata Deterministic finite automata
Deterministic finite automata
 
Theory of automata
Theory of automataTheory of automata
Theory of automata
 
Chapter7
Chapter7Chapter7
Chapter7
 
0227 regularlanguages
 0227 regularlanguages 0227 regularlanguages
0227 regularlanguages
 
Nondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdfNondeterministic Finite Automata AFN.pdf
Nondeterministic Finite Automata AFN.pdf
 
Automata Theory
Automata TheoryAutomata Theory
Automata Theory
 
In the automata theory, a nondeterministic finite.pdf
                     In the automata theory, a nondeterministic finite.pdf                     In the automata theory, a nondeterministic finite.pdf
In the automata theory, a nondeterministic finite.pdf
 
Teori automata lengkap
Teori automata lengkapTeori automata lengkap
Teori automata lengkap
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
NFA and DFA
NFA and DFANFA and DFA
NFA and DFA
 
Theory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsTheory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite Acceptors
 
Graph representation of DFA’s Da
Graph representation of DFA’s DaGraph representation of DFA’s Da
Graph representation of DFA’s Da
 
Nfa to-dfa
Nfa to-dfaNfa to-dfa
Nfa to-dfa
 
O2
O2O2
O2
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and Problems
 
FiniteAutomata (1).ppt
FiniteAutomata (1).pptFiniteAutomata (1).ppt
FiniteAutomata (1).ppt
 
FiniteAutomata.ppt
FiniteAutomata.pptFiniteAutomata.ppt
FiniteAutomata.ppt
 
1.3.1 deterministic finite automaton
1.3.1 deterministic finite automaton1.3.1 deterministic finite automaton
1.3.1 deterministic finite automaton
 

Recently uploaded

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 

Recently uploaded (20)

Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 

Fsa

  • 1. .6cm. Introduction to Formal Languages, Automata and Computability Finite State Automata K. Krithivasan and R. Rama Introduction to Formal Languages, Automata and Computability – p.1/51
  • 2. Introduction As another example consider a binary serial adder. At any time it gets two binary inputs x1 and x2. The adder can be in any one of the states ‘carry’ or ‘no carry’ . The four possibilities for the inputs x1x2 are 00, 01, 10, 11. Initially the adder is in the ‘no carry’ state. The working of the serial adder can be represented by the following diagram. no carry carry 00/1 11/0 10/1 01/1 00/0 01/0 11/1 10/0 Introduction to Formal Languages, Automata and Computability – p.2/51
  • 3. contd. p q x x /x1 2 3 denotes that when the adder is in state p and gets input x1x2, it goes to state q and outputs x3. The input and output on a transition from p to q is denoted by i/o. It can be seen that suppose the two binary numbers to be added are 100101 and 100111. Time 6 5 4 3 2 1 1 0 0 1 0 1 1 0 0 1 1 1 The input at time t = 1 is 11 and the output is 0 and the Introduction to Formal Languages, Automata and Computability – p.3/51
  • 4. contd machine goes to ‘carry’ state. The output is 0. Here at time t = 2, the input is 01; the output is 0 and the machine remains in ‘carry’ state. At time t = 3, it gets 11 and output 1 and remains in ‘carry’ state. At time t = 4, the input is 00; the machine outputs 1 and goes to ‘no carry’ state. At time t = 5, the input is 00; the output is 0 and the machine remains in ‘no carry’ state. At time t = 6, the input is 11; the machine outputs 0 and goes to ‘carry’ state. The input stops here. At time t = 7, no input is there (and this is taken as 00) and the output is 1. It should be noted that at time t = 1, 3, 6 input is 11, but the output is 0 at t = 1, 6 and is 1 at time t = 3. At time t = 4, 5, the input is 00, but the output is 1 at time t = 4 and 0 at t = 5. Introduction to Formal Languages, Automata and Computability – p.4/51
  • 5. contd. So it is seen that the output depends both on the input and the state. The diagrams we have seen are called state diagrams. q p i/o The above diagram indicates that in state q when the machine gets input i, it goes to state p and outputs 0. Let us consider one more example of a state diagram given in Introduction to Formal Languages, Automata and Computability – p.5/51
  • 6. contd q q 0/1 1/0 10 1/1 0/0 The input and output alphabet are {0, 1}. For the input 011010011, the output is 00110100 and machine is in state q1. It can be seen that the first is 0 and afterwards, the output is the symbol read at the previous instant. It can also be noted that the machine goes to q1 after reading a 1 and goes to q0 after reading a 0. Introduction to Formal Languages, Automata and Computability – p.6/51
  • 7. contd It should also be noted that when it goes from state q0 it outputs a 0 and when it goes from state q1, it out- puts a 1. This machine is called a one moment delay machine. Introduction to Formal Languages, Automata and Computability – p.7/51
  • 8. Deterministic Finite State Automa- ton Definition A Deterministic Finite State Automaton (DFSA) is a 5-tuple M = (K, Σ, δ, q0, F) where K is a finite set of states Σ is a finite set of input symbols q0 in K is the start state or initial state F ⊆ K is set of final states δ, the transition function is a mapping from K × Σ → K. δ(q, a) = p means, if the automaton is in state q and reading a symbol a, it goes to state p in the next Introduction to Formal Languages, Automata and Computability – p.8/51
  • 9. contd instant, moving the pointer one cell to the right. ˆδ is an extension of δ and ˆδ : K × Σ∗ → K as follows: ˆδ(q, ) = q for all q in K ˆδ(q, xa) = δ(ˆδ(q, x), a) x ∈ Σ∗ , q ∈ K, a ∈ Σ. Since ˆδ(q, a) = δ(q, a), without any confusion we can use δ for ˆδ also. The language accepted by the automaton is defined as T(M) = {w/w ∈ T∗ , δ(q0, w) ∈ F}. Introduction to Formal Languages, Automata and Computability – p.9/51
  • 10. contd Example Let a DFSA have state set {q0, q1, q2, D}; q0 is the initial state; q2 is the only final state. The state diagram of the DFSA is given in the following figure. q 1 q 2 b a a a b b q 0 D a,b Introduction to Formal Languages, Automata and Computability – p.10/51
  • 11. contd a a a b ↑ q0 a a a b ↑ q1 a a a b ↑ q1 a a a b ↑ q1 a a a b ↑ q2 Introduction to Formal Languages, Automata and Computability – p.11/51
  • 12. contd After reading aaabb, the automaton reaches a final state. It is easy to see that T(M) = {an bm /n, m ≥ 1} There is a reason for naming the fourth state as D. Once the control goes to D, it cannot accept the string, as from D the automaton cannot go to a final state. On further reading any symbol the state remains as D. Such a state is called a dead state or a sink state. Introduction to Formal Languages, Automata and Computability – p.12/51
  • 13. Nondeterministic Finite State Au- tomaton Consider the following state diagram of a nondeterministic FSA. q 1 q 2 a bq 0 a b On a string aaabb the transition can be looked at as follows. q 0 q 0 q 0 q 0 q 1 q 1 q 1 q 1 q 2 q 2 q 1 a a a b b Introduction to Formal Languages, Automata and Computability – p.13/51
  • 14. contd Definition A Nondeterministic Finite State Automaton (NFSA) is a 5-tuple M = (K, Σ, δ, qo, F) where K, Σ, δ, q0, F are as given for DFSA and δ, the transition function is a mapping from K × Σ into finite subsets of K. The mappings are of the form δ(q, a) = {p1, . . . , pr} which means if the automaton is in state q and reads ‘a’ then it can go to any one of the states p1, . . . , pr. δ is extended as ˆδ to K × Σ∗ as follows: ˆδ(q, ) = {q} for all q in K. Introduction to Formal Languages, Automata and Computability – p.14/51
  • 15. contd If P is a subset of K δ(P, a) = p∈P δ(p, a) ˆδ(q, xa) = δ(ˆδ(q, x), a) ˆδ(P, x) = p∈P ˆδ(p, x) Since δ(q, a) and ˆδ(q, a) are equal for a ∈ Σ, we can use the same symbol δ for ˆδ also. The set of strings accepted by the automaton is denoted by T(M). Introduction to Formal Languages, Automata and Computability – p.15/51
  • 16. contd T(M) = {w/w ∈ T∗ , δ(q0, w) contains a state from F} The automaton can be represented by a state table also. For example the state diagram given in the figure can be represented as the state table given below q 2 a {q ,q } 0 1 φ b φ φ {q ,q } 0 1 φ q q 1 0 Introduction to Formal Languages, Automata and Computability – p.16/51
  • 17. contd Example The state diagram of an NFSA which accepts binary strings which have at least one pair ‘00’ or one pair ‘11’ is q 1 q 2 0 0q 0 0,1 0,1 q q 3 4 1 1 0,1 Introduction to Formal Languages, Automata and Computability – p.17/51
  • 18. contd Theorem If L is accepted by a NFSA then L is accepted by a DFSA. Let L be accepted by a NFSA M = (K, Σ, δ, q0, F). Then we construct a DFSA M = (K , Σ , δ , q0, F ) as follows: K = P(K), power set of K. Corresponding to each subset of K, we have a state in K . q0 corresponds to the subset containing q0 alone. F consists of states corresponding to subsets having at least one state from F. We define δ as follows: δ ([q1, . . . , qk], a) = [r1, r2, . . . , rs] if and only if δ({q1, . . . , qk}, a) = {r1, r2, . . . , rs}. We show that T(M) = T(M ). Introduction to Formal Languages, Automata and Computability – p.18/51
  • 19. contd We prove this by induction on the length of the string. We show that δ (q0, x) = [p1, . . . , pr] if and only if δ(q0, x) = {p1, . . . , pr} Basis |x| = 0 i.e., x = δ (q0, ) = q0 = [q0] δ(q0, ) = {q0} Induction Assume that the result is true for strings x of length upto m. We have to prove for string of length m + 1. By induction hypothesis Introduction to Formal Languages, Automata and Computability – p.19/51
  • 20. contd δ (q0, x) = [p1, . . . , pr] if and only if δ(q0, x) = {p1, . . . , pr}. δ (q0, xa) = δ ([p1, . . . , pr], a), δ(q0, xa) = p∈P δ(p, a), where P = {p1, . . . , pr}. Suppose p∈P δ(p, a) = {s1, . . . , sm} δ({p1, . . . , pr}, a) = {s1, . . . , sm}. By our construction δ ([p1, . . . , pr], a) = [s1, . . . , sm] and hence δ (q0, xa) = δ ([p1, . . . , pr], a) = [s1, . . . , sm]. Introduction to Formal Languages, Automata and Computability – p.20/51
  • 21. contd In M , any state representing a subset having a state from F is in F . So if a string w is accepted in M, there is a sequence of states which takes M to a final state f and M sim- ulating M will be in a state representing a subset con- taining f. Thus L(M) = L(M ). Introduction to Formal Languages, Automata and Computability – p.21/51
  • 22. contd Example Let us construct the DFSA for the NFSA given by the table in previous figure. We construct the table for DFSA. a b → [q0] [q0, q1] [φ] [q0, q1] [q0, q1] [q1, q2] [q1, q2] [φ] [q1, q2] [φ] [φ] [φ] δ ([q0, q1], a) = [δ(q0, a) ∪ δ(q1, a)] (1) = [{q0, q1} ∪ φ] (2) = [q0, q1] (3) Introduction to Formal Languages, Automata and Computability – p.22/51
  • 23. contd δ ([q0, q1], b) = [δ(q0, b) ∪ δ(q1, b)] (4) = [φ ∪ {q1, q2}] (5) = [q1, q2] (6) The state diagram is given [q ]0 [q ,q ] 1 2 [q ,q ] 0 1 [φ] a b a,b ab a b Introduction to Formal Languages, Automata and Computability – p.23/51
  • 24. Nondeterministic Finite State Au- tomaton with -transitions q qq a b 0 1 2 q3 b c d Definition An NFSA with -transition is a 5-tuple M = (K, Σ, δ, q0, F). where K, Σ, δ, q0, F are as defined for NFSA and δ is a mapping from K × (Σ ∪ { }) into finite subsets of K. δ can be extended as ˆδ to K × Σ∗ as follows. First we define the -closure of a state q. It is the set of states which can be reached from q by reading only. Of course, -closure of a state includes itself. ˆδ(q, ) = -closure(q). Introduction to Formal Languages, Automata and Computability – p.24/51
  • 25. contd For w in Σ∗ and a in Σ, ˆδ(q, wa) = -closure(P), where P = {p| for some r in ˆδ(q, w), p is in δ(r, a)} Extending δ and ˆδ to a set of states, we get δ(Q, a) = q in Q δ(q, a) δ(Q, w) = q in Q δ(q, w) The language accepted is defined as T(M) = {w|ˆδ(q, w) contains a state in F}. Theorem Let L be accepted by a NFSA with -moves. Then L can be accepted by a NFSA without -moves. Let L be accepted by a NFSA with -moves M = (K, Σ, δ, q0, F). Then we construct a NFSA Introduction to Formal Languages, Automata and Computability – p.25/51
  • 26. contd M = (K, Σ, δ , q0, F ) without -moves for accepting L as follows. F = F ∪ {q0} if -closure of q0 contains a state from F. = F otherwise. δ (q, a) = ˆδ(q, a). We should show T(M) = T(M ). We wish to show by induction on the length of the string x accepted that δ (q0, x) = ˆδ(q0, x). We start the basis with |x| = 1 because for |x| = 0, i.e., x = this may not hold. We may have δ (q0, ) = {q0} and ˆδ(q0, ) = -closure of q0 which may include other states. Introduction to Formal Languages, Automata and Computability – p.26/51
  • 27. contd Basis |x| = 1. Then x is a symbol of Σ say a, and δ (q0, a) = ˆδ(q0, a) by our definition of δ . Induction |x| > 1. Then x = ya for some y ∈ Σ∗ and a ∈ Σ. Then δ (q0, ya) = δ (δ (q0, y), a). By the inductive hypothesis δ (q0, y) = ˆδ(q0, y). Let ˆδ(q0, y) = P. Introduction to Formal Languages, Automata and Computability – p.27/51
  • 28. contd δ (P, a) = ∪ p∈P δ (p, a) = ∪ p∈P ˆδ(p, a) ∪ p∈P ˆδ(p, a) = ˆδ(q0, ya) Therefore δ (q0, ya) = ˆδ(q0, ya) It should be noted that δ (q0, x) contains a state in F if and only if ˆδ(q0, x) contains a state in F. Introduction to Formal Languages, Automata and Computability – p.28/51
  • 29. Example Consider the -NFSA of previous example. By our construction we get the NFSA without -moves given in the following figure q qq a b 0 1 2 q3 c d a b c b b b d b Introduction to Formal Languages, Automata and Computability – p.29/51
  • 30. contd -closure of (q0) = {q0, q1} -closure of (q1) = {q1} -closure of (q2) = {q2, q3} -closure of (q3) = {q3} It is not difficult to see that the language accepted by the above NFSA = {an bm cp dq /m ≥ 1, n, p, q ≥ 0}. Introduction to Formal Languages, Automata and Computability – p.30/51
  • 31. Regular Expressions Definition Let Σ be an alphabet. For each a in Σ, a is a regular expression representing the regular set {a}. φ is a regular expression representing the empty set. is a regular expression representing the set { }. If r1 and r2 are regular expressions representing the regular sets R1 and R2 respectively, then r1 + r2 is a regular expression representing R1 ∪ R2. r1r2 is a regular expression representing R1R2. r∗ 1 is a regular expression representing R∗ 1. Any expression obtained from φ, , a(a ∈ Σ) using the above operations and parentheses where required is a regular expression. Example (ab)∗ abcd represent the regular set {(ab)n cd/n ≥ 1}Introduction to Formal Languages, Automata and Computability – p.31/51
  • 32. contd Theorem If r is a regular expression representing a regular set, we can construct an NFSA with -moves to accept r. r is obtained from a, (a ∈ Σ), , φ by finite number of applications of +, . and ∗ (. is usually left out). For , φ, a we can construct NFSA with -moves are. is acceptedq0 {ε} q 0 q 0 qf qf is accepted a is accepted φ a Introduction to Formal Languages, Automata and Computability – p.32/51
  • 33. contd Let r1 represent the regular set R1 and R1 is accepted by the NFSA M1 with -transitions. M1 q 01 q f1 Without loss of generality we can assume that each such NFSA with -moves has only one final state. R2 is similarly accepted by an NFSA M2 with -transition. M2 q 02 q f2 Introduction to Formal Languages, Automata and Computability – p.33/51
  • 34. contd Now we can easily see that R1 ∪ R2 (represented by r1 + r2) is accepted by the NFSA given in next figure M1 q 02 q f2 q 01 qf1 qf q 0 Introduction to Formal Languages, Automata and Computability – p.34/51
  • 35. contd For this NFSA q0 is the start state and qf is the final state. R1R2 represented by r1r2 is accepted by the NFSA with -moves given as 1M M2 q 01 q f1 q 02 q f2 For this NFSA with -moves q01 is the initial state and qf2is the final state. R∗ 1 = R0 1 ∪ R1 1 ∪ R2 1 ∪ · · · ∪ Rk 1 ∪ . . . R0 1 = { } and R1 = R1. Introduction to Formal Languages, Automata and Computability – p.35/51
  • 36. contd R∗ 1 represented by r∗ 1 is accepted by the NFSA with -moves given as q 0 q 01 qf1 qf For this NFSA with -moves q0 is the initial state and qf is the final state. It can be seen that R∗ 1 contains strings of the form x1, x2, . . . , xk each xi ∈ R1. To accept Introduction to Formal Languages, Automata and Computability – p.36/51
  • 37. contd this string, the control goes from q0 to q01 and then after reading x1 and reaching qf1, it goes to q01, by an -transition. From q01, it again reads x2 and goes to qf1. This can be repeated a number (k) of times and finally the control goes to qf from qf1 by an -transition. R0 1 = { } is accepted by going to qf from q0 by an -transition. Thus we have seen that given a regular expression one can construct an equivalent NFSA with -transitions. Regular expression DFSANFSA with −transitions NFSA without −transitions Introduction to Formal Languages, Automata and Computability – p.37/51
  • 38. Example Consider a regular expression aa∗ bb∗ . a and b are accepted by NFSA with -moves given in the following figure q q 43 b q q21 a Introduction to Formal Languages, Automata and Computability – p.38/51
  • 39. contd aa∗ bb∗ will be accepted by NFSA with -moves given in next figure. q 6 q q 4 q 73 q 2 5 qq 1 q 11 q 21 q 31 q 41 q 8a a b b But we have already seen that a simple NFSA can be drawn easily for this as in next figure. q qq a b 0 1 2ba Introduction to Formal Languages, Automata and Computability – p.39/51
  • 40. contd Definition Let L ⊆ Σ∗ be a language and x be a string in Σ∗ . Then the derivative of L with respect to x is defined as Lx = {y ∈ Σ∗ /xy ∈ L}. It is some times denoted as ∂xL. Theorem If L is a regular set Lx is regular for any x. Consider a DFSA accepting L. Let this FSA be M = (K, Σ, δ, q0, F). Start from q0 and read x to go to state qx ∈ K. Then M = (K, Σ, δ, qx, F) accepts Lx . This can be seen easily as below. Introduction to Formal Languages, Automata and Computability – p.40/51
  • 41. contd δ(q0, x) = qx, δ(q0, xy) ∈ F ⇔ xy ∈ L, δ(q0, xy) = δ(qx, y), δ(qx, y) ∈ F ⇔ y ∈ Lx, ∴ M accepts Lx. lemma Let Σ be an alphabet. The equation X = AX ∪ B where A, B ⊆ Σ∗ has a unique solution A∗ B if /∈ A. Introduction to Formal Languages, Automata and Computability – p.41/51
  • 42. contd Let X = AX ∪ B = A(AX ∪ B) ∪ B = A2 X ∪ AB ∪ B = A2 (AX ∪ B) ∪ AB ∪ B = A3 X ∪ A2 B ∪ AB ∪ B ... = An+1 X ∪ An B ∪ An−1 B ∪ · · · ∪ AB ∪ B(7) Since /∈ A, any string in Ak will have minimum length k. To show X = A∗ B. Introduction to Formal Languages, Automata and Computability – p.42/51
  • 43. contd Let w ∈ X and |w| = n. We have X = An+1 X ∪ An B ∪ · · · ∪ AB ∪ B (8) Since any string in An+1 X will have minimum length n + 1, w will belong to one of Ak B, k ≤ n. Hence w ∈ A∗ B. On the other hand let w ∈ A∗ B. To prove w ∈ X. Since |w| = n, w ∈ Ak B for some k ≤ n. Therefore from (8) w ∈ X. Hence we find that the unique solution for X = AX + B is X = A∗ B. Note If ∈ A, the solution will not be unique. Any A∗ C, where C ⊇ B, will be a solution. Introduction to Formal Languages, Automata and Computability – p.43/51
  • 44. contd Next we give an algorithm to find the regular expression corresponding to a DFSA. Algorithm Let M = (K, Σ, δ, q0, F) be the DFSA. Σ = {a1, a2, . . . , ak}, K = {q0, q1, . . . , qn−1}. Step 1 Write an equation for each state in K. q = a1qi1 + a2qi2 + · · · + akqik if q is not a final state and δ(q, aj) = qij 1 ≤ j ≤ k. q = a1qi1 + a2qi2 + · · · + akqik + λ if q is a final state and δ(q, aj) = qij 1 ≤ j ≤ k. Step 2 Take the n equations with n variables qi, 1 ≤ i ≤ n, and solve for q0 using the above lemma and substitution. Introduction to Formal Languages, Automata and Computability – p.44/51
  • 45. contd Step 3 Solution for q0 gives the desired regular expression. Let us execute this algorithm for the following DFSA given in the figure. q 1 q 2 b a a a b b q 0 D a,b Introduction to Formal Languages, Automata and Computability – p.45/51
  • 46. contd Step 1 q0 = aq1 + bD (9) q1 = aq1 + bq2 (10) q2 = aD + bq2 + λ (11) D = aD + bD (12) Step 2 Solve for q0. From (12) D = (a + b)D + φ Introduction to Formal Languages, Automata and Computability – p.46/51
  • 47. contd Using previouus lemma D = (a + b)∗ φ = φ. (13) Using them we get q0 = aq1 (14) q1 = aq1 + bq2 (15) q2 = bq2 + λ (16) Note that we have got rid of one equation and one vari- able. Introduction to Formal Languages, Automata and Computability – p.47/51
  • 48. contd In 16 using the lemma we get q2 = b∗ (17) Now using 17 and 15 q1 = aq1 + bb∗ (18) We now have 14 and 18. Again we eliminated one equation and one variable. Using the above lemma in (18) q1 = a∗ bb∗ (19) Introduction to Formal Languages, Automata and Computability – p.48/51
  • 49. contd Using 19 in 14 q0 = aa∗ bb∗ (20) This is the regular expression corresponding to the given FSA. Next, we see, how we are justified in writing the equations. Let q be the state of the DFSA for which we are writing the equation, q = a1qi1 + a2qi2 + · · · + akqik + Y. (21) Y = λ or φ. Introduction to Formal Languages, Automata and Computability – p.49/51
  • 50. contd Let L be the regular set accepted by the given DFSA. Let x be a string such that starting from q0, after reading x, state q is reached. Therefore q represents Lx, the derivative of L with respect to x. From q after reading aj, the state qij is reached. Lx = q = a1Lxa1 + a2Lxa2 + · · · + akLxak + Y. (22) ajLxaj represents the set of strings in Lx beginning with aj. Hence equation (22) represents the partition of Lx into strings beginning with a1, beginning with a2 and so on. If Lx contains , then Y = otherwise Y = φ. Introduction to Formal Languages, Automata and Computability – p.50/51
  • 51. contd It should be noted that when Lx contains , q is a final state and so x ∈ L. It should also be noted that considering each state as a variable qj, we have n equation in n variables. Using the above lemma, and substitution, each time one equation is removed while one variable is eliminated. The solution for q0 is L = L. This gives the required regular expression. Introduction to Formal Languages, Automata and Computability – p.51/51