Anda di halaman 1dari 56

Finite Automata

1
Finite Automaton

Input
String
Output
“Accept”
Finite
or
Automaton
“Reject”

2
Transition Graph
a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

initial accepting
state state
transition
state
3
Initial Configuration
Input String
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

4
Reading the Input

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

5
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

6
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

7
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

8
Input finished

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

accept
9
Rejection

a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

10
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

11
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

12
a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

13
Input finished

a b a

a, b

reject
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

14
Another Rejection

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

15
λ

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

reject
16
Another Example

a a b

a a, b

q0 b q1 a, b q2

17
a a b

a a, b

q0 b q1 a, b q2

18
a a b

a a, b

q0 b q1 a, b q2

19
a a b

a a, b

q0 b q1 a, b q2

20
Input finished

a a b

a a, b
accept

q0 b q1 a, b q2

21
Rejection Example

b a b

a a, b

q0 b q1 a, b q2

22
b a b

a a, b

q0 b q1 a, b q2

23
b a b

a a, b

q0 b q1 a, b q2

24
b a b

a a, b

q0 b q1 a, b q2

25
Input finished

b a b

a a, b

q0 b q1 a, b q2

reject

26
Languages Accepted by FAs
FA M

Definition:
The language L( M ) contains
all input strings accepted by M

L( M ) = { strings that bring


M
to an accepting state}

27
Example
L( M ) = { abba} M

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept

28
Example
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

29
Example

L( M ) = {a b : n ≥ 0}
n

a a, b

q0 b q1 a, b q2

accept trap state

30
Formal Definition
Finite Automaton (FA)

M = ( Q, Σ, δ , q0 , F )
Q : set of states
Σ : input alphabet
δ : transition function
q0 : initial state
F : set of accepting states
31
Input Alphabet Σ

Σ = { a, b}

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

32
Set of States Q
Q = { q0 , q1, q2 , q3 , q4 , q5 }

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

33
Initial State q0

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

34
Set of Accepting States F

F = { q4 }

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

35
Transition Function δ

δ :Q×Σ → Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

36
δ ( q0 , a ) = q1

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

37
δ ( q0 , b ) = q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

38
δ ( q2 , b ) = q3

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

39
Transition Function δ
δ a b
q0 q1 q5
q1 q5 q2
q2 q5 q3
q3 q4 q5 a, b
q4 q5 q5
q5 q5 q5 q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

40
Extended Transition Function δ *

δ * : Q × Σ* → Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

41
δ * ( q0 , ab ) = q2

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

42
δ * ( q0 , abba ) = q4

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

43
δ * ( q0 , abbbaa ) = q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

44
Observation: if there is a walk from q to q′
with label w then

δ * ( q , w ) = q′

q w q′

w = σ 1σ 2 σ k
σ1 σ2 σk
q q′

45
Example: There is a walk from q0 to q5
with label abbbaa

δ * ( q0 , abbbaa ) = q5
a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

46
Recursive Definition
δ * ( q, λ ) = q
δ * ( q, wσ ) = δ (δ * (q, w),σ )

q w q1 σ q′

δ * ( q , w σ ) = q′
δ * ( q, wσ ) = δ (q1,σ )
δ (q1,σ ) = q′
δ * ( q, wσ ) = δ (δ * ( q, w),σ )
δ * ( q, w) = q1

47
δ * ( q0 , ab ) =
δ ( δ * (q0 , a ), b ) =
δ ( δ ( δ * ( q0 , λ ), a ), b ) =
δ ( δ ( q0 , a ), b ) =
δ ( q1 , b ) =
q2 a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
48
Language Accepted by FAs
For a FA M = ( Q, Σ, δ , q0 , F )

Language accepted by M :

L( M ) = { w ∈ Σ* : δ * ( q0 , w) ∈ F }

q0 w q′ q′ ∈ F

49
Observation
Language rejected by M :

L( M ) = { w ∈ Σ* : δ * ( q0 , w) ∉ F }

q0 w q′ q′ ∉ F

50
Example
L( M ) = { all strings with prefix ab }
a, b

q0 a q1 b q2

b a accept

q3 a, b

51
Example
L ( M ) = { all strings without
substring 001 }

1 0 0,1
1

λ 0 1
0 00 001

0
52
Example

L( M ) = { awa : w ∈ { a, b} *}
a
b
b
q0 a q2 q3

b a
q4

a, b
53
Regular Languages
Definition:
A language L is regular if there is
FA M such that L = L( M )

Observation:
All languages accepted by FAs
form the family of regular languages

54
Examples of regular languages:

{ abba} { λ , ab, abba}


{ awa : w ∈ { a, b} *} {a nb : n ≥ 0}
{ all strings with prefix ab }
{ all strings without substring 001 }

There exist automata that accept these


Languages (see previous slides).
55
There exist languages which are not Regular:

n n
Example: L= {a b : n ≥ 0}

There is no FA that accepts such a language

(we will prove this later in the class)

56