Вы находитесь на странице: 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)

Вам также может понравиться