SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

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
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 

Último (20)

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...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 

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