0% found this document useful (0 votes)
149 views23 pages

Formal Language and Automata Theory (CS21004) : Soumyajit Dey CSE, IIT Kharagpur

This document outlines the topics to be covered in a course on Formal Language and Automata Theory taught by Soumyajit Dey at IIT Kharagpur. The topics include announcements, deterministic finite automata, and nondeterministic finite automata. A table of contents lists these three topics that will each be covered in subsequent sections of the course material. Finite automata are introduced as mathematical models of systems with discrete inputs and outputs that can have a finite number of internal states.

Uploaded by

Manad Mishra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views23 pages

Formal Language and Automata Theory (CS21004) : Soumyajit Dey CSE, IIT Kharagpur

This document outlines the topics to be covered in a course on Formal Language and Automata Theory taught by Soumyajit Dey at IIT Kharagpur. The topics include announcements, deterministic finite automata, and nondeterministic finite automata. A table of contents lists these three topics that will each be covered in subsequent sections of the course material. Finite automata are introduced as mathematical models of systems with discrete inputs and outputs that can have a finite number of internal states.

Uploaded by

Manad Mishra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Formal Language and Automata Theory Announcements

Deterministic
(CS21004) Finite Automata
(Accepter)

Nondeterministic
Finite Automata

Soumyajit Dey
CSE, IIT Kharagpur

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Table of Contents and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

Deterministic
1 Announcements Finite Automata
(Accepter)

Nondeterministic
Finite Automata

2 Deterministic Finite Automata (Accepter)

3 Nondeterministic Finite Automata

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

Deterministic
The slide is just a short summary Finite Automata
(Accepter)

Follow the discussion and the boardwork Nondeterministic


Finite Automata
Solve problems (apart from those we dish out in class)

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Table of Contents and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

Deterministic
1 Announcements Finite Automata
(Accepter)

Nondeterministic
Finite Automata

2 Deterministic Finite Automata (Accepter)

3 Nondeterministic Finite Automata

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Finite Automata and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur
A finite automata is a mathematical model of a system
with discrete inputs and outputs Announcements

system can have finite no. of internal configs / states Deterministic


Finite Automata
(Accepter)
Simple Ex : Elevator controller : does not remember
Nondeterministic
requests that are already serviced. Remembers 1) Finite Automata

current floor, 2) current direction of motion, 3) set of


requests to be serviced
Complex Ex: a digital computer → infinite memory
version is the Turing machine
Day to day use by you : think of a text editor program
(modes of operation : save file, open file, update user
input with file in memory)

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Finite Automata and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

M = hQ, Σ, δ, q, F i Deterministic
Finite Automata
(Accepter)
Q : finite set of internal states
Nondeterministic
Σ : finite set of input alphabet Finite Automata

δ : Q × Σ → Q : is the transition function


q ∈ Q : initial state
F ⊆ Q is the set of final/accept states

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
FA example and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements
b b b a, b Deterministic
Finite Automata
a a a (Accepter)
1 2 3 4
Nondeterministic
Finite Automata
Figure: A sample FA

Σ = {a, b}, Q = {1, 2, 3, 4}, q = 1


δ(1, a) = 2, δ(1, b) = 1, δ(2, a) = 3, · · ·
i/p is processed left to right

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Acceptance by FA and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur
Given δ : Q × Σ → Q, define δ̂ : Q × Σ∗ → Q inductively as
Announcements
follows
Deterministic
δ̂(q, λ) = q Finite Automata
(Accepter)
For x ∈ Σ∗ , a ∈ Σ, δ̂(q, xa) = δ(δ̂(q, x), a) Nondeterministic
Finite Automata
δ̂ is nothing but the multistep version of δ
A string σ is accepted by M = hQ, Σ, δ, q0 , F i, if
δ̂(q, σ) ∈ F
L(M) = {σ ∈ Σ∗ | δ̂(q, σ) ∈ F }
A language A is regular iff it is accepted by some FA
Regular sets are closed under ∪, ∩, ¬, ◦,∗

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Product Machines and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Given M1 = hQ1 , Σ, δ1 , q1 , F1 i, M2 = hQ2 , Σ, δ2 , q2 , F2 i let Kharagpur
M3 = hQ3 , Σ, δ3 , q3 , F3 i be defined as follows.
Announcements
Q3 = Q1 × Q2 , Deterministic
Finite Automata
δ3 : Q3 × Σ → Q3 where (Accepter)

δ3 ((p, q), a) = (δ1 (p, a), δ2 (q, a)). Nondeterministic


Finite Automata
F3 = F1 × F2
q3 = (q1 , q2 )
L(M3 ) = L(M1 ) ∩ L(M2 ) : Prove that
∀σ ∈ Σ∗ , ∀(p, q) ∈ Q3 , δ̂3 ((p, q), σ) = (δ̂1 (p, σ), δ̂2 (q, σ)) by
induction on length of input string σ ∈ Σ∗ . Use δ̂3 to define
L(M3 ) as desired.
With F3 = (F1 × Q2 ) ∪ (Q1 × F2 ), we have an automata for

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Product Example and Automata
Theory (CS21004)
a b
Soumyajit Dey
CSE, IIT
s0 t0
Kharagpur

b b a Announcements
a
Deterministic
Finite Automata
s1
t2 t1 (Accepter)
a
Nondeterministic
a b b Finite Automata

b
s 0 t0 s 1 t0

a a
a a

s 0 t2 a s 0 t1 s 1 t2 a s 1 t1

b
b b
b

Figure: M1 : even no. of b, M2 : no of a is 3n. Technically they


are sensitive to different alphabets, self loops highlight that
Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
DFA for L = {awa | w ∈ {a, b}∗} and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

a Announcements

q0 a q3 Deterministic

q2 b Finite Automata
(Accepter)

Nondeterministic
Finite Automata

b b a

q1 a; b

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
DFA for L2 and Automata
Theory (CS21004)
With L = {awa | w ∈ {a, b}∗ }, Soumyajit Dey
L2 = {aw1 aaw2 a | w1 , w2 ∈ {a, b}∗ } CSE, IIT
Kharagpur

Announcements
a Deterministic
Finite Automata

q0 a q3
(Accepter)

q2 b Nondeterministic
Finite Automata

a
b b
a q4
b
q1 a; b q5 b
a

Ln = {(awi a)n | w1 , · · · , wn ∈ {a, b}∗ }


Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
DFA for L∗ and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

a Announcements

Deterministic

q0 a q3 Finite Automata

q2 b (Accepter)

Nondeterministic
Finite Automata

b b b a

q1 a; b q4

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Smaller DFA for L∗ and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur
a
q0 a q3
Announcements

q2 b Deterministic
Finite Automata
(Accepter)

b b a Nondeterministic
Finite Automata

q1 a; b

Why ? Note Ln ⊆ Ln−1 ⊆ · · · ⊆ L3 ⊆ L2 ⊆ L. So,


L∗ = L0 ∪ L1 ∪ L2 ∪ · · · = L0 ∪ L = {ǫ} ∪ L. Just make initial
state as accept state in machine for L

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Table of Contents and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

Deterministic
1 Announcements Finite Automata
(Accepter)

Nondeterministic
Finite Automata

2 Deterministic Finite Automata (Accepter)

3 Nondeterministic Finite Automata

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Announcements

DFA is deterministic by construction since δ is function, Deterministic


Finite Automata
(for all situations/states, how the machine will exactly (Accepter)

react is uniquely specified) Nondeterministic


Finite Automata
May be cumbersome to specify for complex systems
May even be unknown
NFA provides a nice way of ‘abstraction of information’
- a concept applied in so many aspects of computing

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA and Automata
Theory (CS21004)

Consider L = {x ∈ {0, 1}∗ | 2nd symbol from the right is 1} Soumyajit Dey
CSE, IIT
Kharagpur
0, 1
Announcements

Deterministic
s1 1 s2 0, 1 Finite Automata
f (Accepter)

Nondeterministic
Finite Automata
Figure: NFA for L

the movement from s1 when input is ‘1’ is


nondeterministic
For an input string, NFA will create a ‘computation tree’
rather than a ‘computation sequence’ in case of DFA
An NFA accepts a string if any one of the paths in the
tree leads to some accept state
Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
Computation tree for σ = 11010 and Automata
Theory (CS21004)

Soumyajit Dey
s1 CSE, IIT
1 1 Kharagpur

Announcements
s1 s2
Deterministic
Finite Automata
1 1 1 (Accepter)

Nondeterministic
Finite Automata
s2 s1 f

0 0
0
?
f s1
1 1
? s2

0
f

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA to DFA and Automata
Theory (CS21004)

Soumyajit Dey
Compute all possible subsets : CSE, IIT
Kharagpur
{{}, {s1 }, {s2 }, {f }, {s1 , s2 }, {s2 , f }, {s1 , f }, {s1 , s2 , f }}
compute single step reachability among subsets for i/p-s Announcements

Deterministic
0,1 with same initial state Finite Automata
(Accepter)
δ |0 1
Nondeterministic
{} |{} {} Finite Automata

{s1 } |{s1 } {s1 , s2 }


{s2 } |{f } {f }
{f } |{} {}
{s1 , s2 } |{s1 , f } {s1 , s2 , f }
{s1 , f } |{s1 } {s1 , s2 }
{s2 , f } |{f } {f }
{s1 , s2 , f } |{s1 , f } {s1 , s2 , f }
States {s2 , f }, {s2 }, {f }, {}, are unreachable

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA to DFA and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

Reduced transition table with unreachable states removed Announcements

Deterministic
δ |0 1 Finite Automata
(Accepter)
{s1 } |{s1 } {s1 , s2 } Nondeterministic
{s1 , s2 } |{s1 , f } {s1 , s2 , f } Finite Automata

{s1 , f } |{s1 } {s1 , s2 }


{s1 , s2 , f } |{s1 , f } {s1 , s2 , f }

DFA should have 4 states :


{a1 , a2 , a3 , a4 } = {{s1 }, {s1 , s2 }, {s1 , f }, {s1 , s2 , f }}
Initial state is same.

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA to DFA and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur
δ |0 1
Announcements
{s1 } |{s1 } {s1 , s2 }
Deterministic
{s1 , s2 } |{s1 , f } {s1 , s2 , f } Finite Automata
(Accepter)
{s1 , f } |{s1 } {s1 , s2 }
Nondeterministic
{s1 , s2 , f } |{s1 , f } {s1 , s2 , f } Finite Automata


δ 0 1
a1 |a1 a2
a2 |a3 a4
a3 |a1 a2
a4 |a3 a4

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA to DFA and Automata
Theory (CS21004)

Soumyajit Dey
δ 0 1 CSE, IIT
Kharagpur
a1 |a1 a2
a2 |a3 a4 Announcements

a3 |a1 a2 Deterministic
Finite Automata
a4 |a3 a4 (Accepter)

Nondeterministic
Finite Automata

a2
0 1 1
1
a1 a4
0 1

0 0

a3

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)
Announcements Deterministic Finite Automata (Accepter) Nondeterministic Finite Automata

Formal Language
NFA formal definition and Automata
Theory (CS21004)

Soumyajit Dey
CSE, IIT
Kharagpur

(Q, Σ, ∆, S, F ) Announcements

Q : set of states Deterministic


Finite Automata
Σ : Alphabet (Accepter)

Nondeterministic
∆ : transition relation (function) defined as Finite Automata

∆ : Q → 2Q

2Q = {A|A ⊆ Q} : captures multiple possible reactions


to an input
S ⊆ Q : set of initial states

Soumyajit Dey CSE, IIT Kharagpur Formal Language and Automata Theory (CS21004)

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy