Professional Documents
Culture Documents
Finite Automata
Simple Automaton
Input
String
Output
“Accept”
Finite
or
Automaton
“Reject”
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
initial final
state state
transition
state “accept”
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Output: “accept”
Courtesy Costas Busch - RPI 15
Rejection
a b a
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a b a
a, b
Output:
q5 “reject”
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Output:
“reject” Courtesy Costas Busch - RPI 22
Another Example
a a b
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a b
a a, b
Output: “accept”
q0 b q1 a, b q2
b a b
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
a a, b
q0 b q1 a, b q2
b a b
a a, b
q0 b q1 a, b q2
Output: “reject”
M = (Q, Σ, δ , q0 , F )
Q : finite set of states
Σ : finite set of input alphabet
δ : transition function
q0 : initial state q0 ∈ Q
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
F = {q4 } F ⊆Q
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
qfinal ∈ F
To reject a string:
all the input string is scanned
and the last state (qlast) is non-accepting
qlast ∉ F qlast ∈ (Q − F )
Courtesy Costas Busch - RPI 38
Transition Function δ :Q×Σ → Q
δ (q , x ) = q ′
q x q′
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
*
δ (q ,w ) = q ′
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
δ (q , λ ) = q
*
δ * ( q , w ) = q′
q w q′
w = σ 1σ 2 Lσ k
σ1 σ2 σk
q q′
δ * (q0 , abbbaa ) = q5
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
q w q1 σ q′
δ * ( q , wσ ) = q′
δ * (q, wσ ) = δ (q1,σ )
δ (q1,σ ) = q′
δ * (q, wσ ) = δ (δ * (q, w),σ )
δ * (q, w) = q1
Definition:
The language L( M ) contains
all input strings accepted by M
a, b
q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept
a, b
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4
Make it to accept two strings L = {λ , abba}
Courtesy Costas Busch - RPI 62
Example # 2
Alphabet: Σ = {1}
1
q0 q1
1
Language Accepted:
*
EVEN = {x : x ∈ Σ and | x | is even}
= { λ, 11, 1111, 111111, K}
Courtesy Costas Busch - RPI 63
Example # 3
L(M ) = {λ , ab, abba} M
a, b
q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept accept accept