121
1 Deterministic Finite Automata And Regular Languages

Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

1

Deterministic Finite Automata And

Regular Languages

Page 2: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 2

Deterministic Finite Automaton (DFA)

Input Tape

“Accept” or “Reject”

String

Finite Automaton

Output

Page 3: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 3

Transition Graph

initial state

accepting state

state transition

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

Page 4: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 4

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

},{ ba=Σ

For every state, there is a transition for every symbol in the alphabet

Alphabet

Page 5: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 5

Initial Configuration

1q 2q 3q 4qa b b a

5qa a bb

ba,Input String

a b b a

ba,

0q

Initial state

Input Tape head

Page 6: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 6

Scanning the Input

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 7: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 7

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 8: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 8

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b b a

ba,

Page 9: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 9

0q 1q 2q 3q 4qa b b a accept

5qa a bb

ba,

a b b a

ba,

Input finished

Last state determines the outcome

Page 10: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 10

1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

0q

A Rejection Case

Input String

Page 11: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 11

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

Page 12: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 12

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

a b a

ba,

Page 13: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 13

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

reject

a b a

ba,

Input finished

Last state determines the outcome

Page 14: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 14

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

)(λ

Another Rejection Case

Tape is empty

reject

Input Finished (no symbol read)

Page 15: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 15

Language Accepted: { }abbaL =

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

This automaton accepts only one string

Page 16: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 16

To accept a string: all the input string is scanned and the last state is accepting

To reject a string:

all the input string is scanned and the last state is non-accepting

Page 17: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 17

Another Example

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

{ }abbaabL ,,λ=

Accept state

Accept state

Accept state

Page 18: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 18

)(λEmpty Tape

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

accept

Input Finished

Page 19: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 19

Another Example

a

b ba,

ba,

0q 1q 2q

Accept state

trap state

Page 20: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 20

a

b ba,

ba,

0q 1q 2q

a baInput String

Page 21: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 21

a

b ba,

ba,

0q 1q 2q

a ba

Page 22: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 22

a

b ba,

ba,

0q 1q 2q

a ba

Page 23: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 23

a

b ba,

ba,

0q 1q 2q

a ba

accept

Input finished

Page 24: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 24

a

b ba,

ba,

0q 1q 2q

ab b

A rejection case

Input String

Page 25: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 25

a

b ba,

ba,

0q 1q 2q

ab b

Page 26: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 26

a

b ba,

ba,

0q 1q 2q

ab b

Page 27: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 27

a

b ba,

ba,

0q 1q 2q

ab b

reject

Input finished

Page 28: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 28

Language Accepted: }0:{ ≥= nbaL n

a

b ba,

ba,

0q 1q 2q

Page 29: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 29

Another Example

0q 1q

1

1

}1{=ΣAlphabet:

Language Accepted:

even} is and :{ * xxxEVEN Σ∈=

},111111,1111,11,{ …λ=

Page 30: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 30

Formal Definition Deterministic Finite Automaton (DFA)

( )FqQM ,,,, 0δΣ=

δ

0q

F

: set of states

: input alphabet

: transition function

: initial state

: set of accepting states

Σ∉λ

Page 31: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 31

Set of States

Q

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,{ }543210 ,,,,, qqqqqqQ =

ba,

Example

Page 32: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 32

Input Alphabet

Σ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,{ }ba,=Σ

ba,

:the input alphabet never contains λΣ∉λ

Example

Page 33: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 33

Initial State

0q

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Example

Page 34: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 34

Set of Accepting States

QF ⊆

0q 1q 2q 3qa b b a

5qa a bb

ba,{ }4qF =

ba,

4q

Example

Page 35: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 35

Transition Function

QQ →Σ×:δ

q q ʹ′x

qxq ʹ′=),(δ

Describes the result of a transition from state with symbol q x

Page 36: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 36

2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q 1q

( ) 10, qaq =δExample:

Page 37: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 37

( ) 50, qbq =δ

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Page 38: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 38

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

( ) 32, qbq =δ

Page 39: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 39

δ a b0q1q2q3q4q5q

1q 5q5q 2q5q 3q4q 5q

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,5q5q5q5q

Transition Table for st

ates

symbols

δ

Page 40: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 40

Extended Transition Function QQ →Σ× ** :δ

qwq ʹ′=),(*δ

Describes the resulting state after scanning string from state w q

Page 41: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 41

( ) 20* , qabq =δ

3q 4qa b b a

5qa a bb

ba,

ba,

0q 1q 2q

Example:

Page 42: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 42

( ) 50* , qabbbaaq =δ

1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

0q

Page 43: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 43

( ) 41* , qbbaq =δ

0q 1q 2q 3q 4qa b b a

5qa a bb

ba,

ba,

Page 44: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 44

Special case:

( ) qq =λδ ,*

for any state q

Page 45: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 45

( ) qwq ʹ′=,*δ

q qʹ′w

q qʹ′kw σσσ 21=

1σ 2σ kσ

states may be repeated

In general:

implies that there is a walk of transitions

Page 46: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 46

Language accepted by DFA :

Language Accepted by DFA

it is denoted as and contains all the strings accepted by

( )MLM

M

( )MLWe also say that recognizes M

Page 47: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 47

For a DFA Language accepted by :

( )FqQM ,,,, 0δΣ=

M( ) ( ){ }FwqwML ∈Σ∈= ,: 0

** δ

0q qʹ′w Fq ∈ʹ′

Page 48: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 48

Language rejected by :

( ) ( ){ }FwqwML ∉Σ∈= ,: 0** δ

M

0q qʹ′w Fq ∉ʹ′

Page 49: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 49

0q

More DFA Examples

ba,

},{ ba=Σ

*)( Σ=ML

0q

ba,

}{)( =MLEmpty language All strings

Page 50: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 50

0q

ba,

},{ ba=Σ

0q ba,

}{)( λ=MLLanguage of the empty string

Page 51: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 51

( )ML = { all strings with prefix } ab

a b

ba,

0q 1q 2q

accept

ba,3q

ab

},{ ba=Σ

Page 52: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 52

( )ML = { all binary strings containing substring } 001

λ 0 00 001

1

0

1

10

0 1,0

Page 53: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 53

( )ML = { all binary strings without substring } 001

λ 0 00 001

1

0

110

0 1,0

Page 54: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 54

{ }{ }*,:)( bawawaML ∈=

a

b

ba,

a

bb

a

0q 2q 3q

4q

Page 55: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 55

Regular Languages Definition: A language is regular if there is a DFA that accepts it ( )

The languages accepted by all DFAs form the family of regular languages

LM LML =)(

Page 56: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 56

{ }abba { }abbaab,,λ}0:{ ≥nban

{ all strings in {a,b}* with prefix } ab{ all binary strings without substring } 001

Example regular languages:

There exist DFAs that accept these languages (see previous slides).

{ }{ }*,: bawawa ∈

even} is and }1{:{ * xxx ∈

}{ }{λ *},{ ba

Page 57: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 57

There exist languages which are not Regular:

}0:{ ≥= nbaL nn

There are no DFAs that accept these languages

(we will prove this in a later class)

}n ,1z,1y,1x :{ mn

kmzyxADDITION k

=+

====+=

Page 58: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Properties of Regular Languages

Page 59: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 59

1L 2L

21LLConcatenation:

*1LStar:

21 LL ∪Union:

Are regular Languages

For regular languages and we will prove that:

1L

21 LL ∩

Complement:

Intersection:

RL1Reversal:

Page 60: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 60

We say: Regular languages are closed under

21LLConcatenation:

*1LStar:

21 LL ∪Union:

1L

21 LL ∩

Complement:

Intersection:

RL1Reversal:

Page 61: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 61

ab

ba

NFA

Equivalent NFA

λλ

ab

ba

A useful transformation: use one accept state

2 accept states

1 accept state

Page 62: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 62

NFA

Equivalent NFA

Single accepting state

λλλ

In General

Page 63: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 63

NFA without accepting state

Add an accepting state without transitions

Extreme case

Page 64: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 64

1LRegular language

( ) 11 LML =

1M

Single accepting state

NFA 2M

2L

Single accepting state

( ) 22 LML =

Regular language

NFA

Take two languages

Page 65: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 65

}{1 baL n=a

b

1M

{ }baL =2ab2M

0≥n

Example

Page 66: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 66

Union NFA for

1M

2M

21 LL ∪

λ

λ

Page 67: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 67

ab

ab

λ

λ

}{1 baL n=

}{2 baL =

}{}{21 babaLL n ∪=∪NFA for

Example

Page 68: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 68

Concatenation NFA for 21LL

1M 2Mλ

Page 69: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 69

NFA for

ab ab

}{1 baL n=}{2 baL =

}{}}{{21 bbaababaLL nn ==

λ

Example

Page 70: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 70

Star Operation NFA for *1L

1M

λ

λ

*1L∈λλ λ

1

21

Lwwwww

i

k

=

Page 71: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 71

NFA for *}{*1 baL n=

ab

}{1 baL n=

λ

λ

λ

λ

Example

Page 72: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 72

Reverse RL1

1MNFA for

ʹ′1M

1. Reverse all transitions

2. Make initial state accepting state and vice versa

1L

Page 73: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 73

}{1 baL n=a

b

1M

}{1nR baL =

ab

ʹ′1M

Example

Page 74: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 74

Complement

1. Take the DFA that accepts 1L

1M1L ʹ′1M1L

2. Make accepting states non-final, and vice-versa

Page 75: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 75

}{1 baL n=

ab

1M

ba,

ba,

}{*},{1 babaL n−= a

b

ʹ′1M

ba,

ba,

Example

Page 76: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 76

Intersection

1L regular

2L regular We show 21 LL ∩

regular

Page 77: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 77

DeMorgan’s Law: 2121 LLLL ∪=∩

21 , LL regular

21 , LL regular

21 LL ∪ regular

21 LL ∪ regular

21 LL ∩ regular

Page 78: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 78

Example

}{1 baL n=

},{2 baabL =

regular

regular }{21 abLL =∩

regular

Page 79: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 79

1Lfor for 2LDFA 1M

DFA

2M

Construct a new DFA that accepts

Machine Machine

M 21 LL ∩

M simulates in parallel and 1M 2M

Another Proof for Intersection Closure

Page 80: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 80

States in M

ji pq ,

1M 2MState in State in

Page 81: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 81

1M 2M

1q 2qa

transition 1p 2pa

transition

DFA DFA

11, pq a

New transition

MDFA

22, pq

Page 82: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 82

0q

initial state 0p

initial state

New initial state

00, pq

1M 2MDFA DFA

MDFA

Page 83: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 83

iq

accept state

jp

accept states

New accept states

ji pq ,

kp

ki pq ,

1M 2MDFA DFA

MDFA

Both constituents must be accepting states

Page 84: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 84

Example:

}{1 baL n=

ab

1M

0≥n

}{2mabL =

b

b

2M

0q 1q 0p 1p

0≥m

2q 2pa

a

ba, ba,

ba,

Page 85: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 85

00, pq

Automaton for intersection

}{}{}{ ababbaL mn =∩=

10, pqa

21, pq

b

ab 11, pq

20, pq

a

12, pq

22, pq

b

ba,

a

b

ba,

b

a

Page 86: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 86

M simulates in parallel and 1M 2M

M accepts string w if and only if:

accepts string w1Mand accepts string w2M

)()()( 21 MLMLML ∩=

Page 87: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Regular Expressions

Page 88: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 88

Regular Expressions Regular expressions describe regular languages Example: describes the language

*)( cba ⋅+

{ } { },...,,,,,*, bcaabcaabcabca λ=

Page 89: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 89

Recursive Definition αλ,,∅

( )11

21

21

*rrrrrr

+

Are regular expressions

Primitive regular expressions:

2r1rGiven regular expressions and

Page 90: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 90

Examples

( ) )(* ∅+⋅⋅+ ccbaA regular expression:

( )++ baNot a regular expression:

Page 91: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 91

Languages of Regular Expressions : language of regular expression Example

( )rL r

( ) { },...,,,,,*)( bcaabcaabcacbaL λ=⋅+

Page 92: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 92

Definition For primitive regular expressions:

( )

( ) { }

( ) { }aaL

L

L

=

=

∅=∅

λλ

Page 93: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 93

Definition (continued) For regular expressions and

1r 2r

( ) ( ) ( )2121 rLrLrrL ∪=+

( ) ( ) ( )2121 rLrLrrL =⋅

( ) ( )( )** 11 rLrL =

( )( ) ( )11 rLrL =

Page 94: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 94

Example Regular expression: ( ) *aba ⋅+

( )( )*abaL ⋅+ ( )( ) ( )*aLbaL +=

( ) ( )*aLbaL +=

( ) ( )( ) ( )( )*aLbLaL ∪=

{ } { }( ) { }( )*aba ∪=

{ }{ },...,,,, aaaaaaba λ=

{ },...,,,...,,, baababaaaaaa=

Page 95: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 95

Example Regular expression

( ) ( )bbabar ++= *

( ) { },...,,,,, bbbbaabbaabbarL =

Page 96: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 96

Example Regular expression ( ) ( ) bbbaar **=

( ) }0,:{ 22 ≥= mnbbarL mn

Page 97: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 97

Example Regular expression *)10(00*)10( ++=r

)(rL = { all strings containing substring 00 }

Page 98: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 98

Example Regular expression )0(*)011( λ++=r

)(rL = { all strings without substring 00 }

Page 99: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 99

Equivalent Regular Expressions Definition: Regular expressions and are equivalent if

1r 2r

)()( 21 rLrL =

Page 100: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 100

Example L = { all strings without substring 00 }

)0(*)011(1 λ++=r

)0(*1)0(**)011*1(2 λλ +++=r

LrLrL == )()( 211r 2rand

are equivalent regular expressions

Page 101: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Regular Expressions and

Regular Languages

Page 102: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 102

Theorem

Languages Generated by Regular Expressions

Regular Languages =

Page 103: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 103

Languages Generated by Regular Expressions

Regular Languages

Languages Generated by Regular Expressions

Regular Languages

Proof:

Page 104: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 104

Proof - Part 1

r)(rL

For any regular expression the language is regular

Languages Generated by Regular Expressions

Regular Languages

Proof by induction on the size of r

Page 105: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 105

Induction Basis Primitive Regular Expressions: αλ,,∅Corresponding NFAs

)()( 1 ∅=∅= LML

)(}{)( 2 λλ LML ==

)(}{)( 3 aLaML ==

regular languages

a

Page 106: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 106

Inductive Hypothesis Suppose that for regular expressions and , and are regular languages

1r 2r)( 1rL )( 2rL

Page 107: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 107

Inductive Step We will prove: ( )

( )

( )

( )( )1

1

21

21

*

rL

rL

rrL

rrL

+

Are regular Languages

Page 108: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 108

By definition of regular expressions: ( ) ( ) ( )

( ) ( ) ( )

( ) ( )( )

( )( ) ( )11

11

2121

2121

**

rLrL

rLrL

rLrLrrL

rLrLrrL

=

=

=⋅

∪=+

Page 109: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 109

)( 1rL )( 2rLBy inductive hypothesis we know: and are regular languages

Regular languages are closed under: ( ) ( )( ) ( )( )( )*1

21

21

rLrLrLrLrL ∪Union

Concatenation

Star

We also know:

Page 110: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 110

Therefore:

( ) ( ) ( )

( ) ( ) ( )

( ) ( )( )** 11

2121

2121

rLrL

rLrLrrL

rLrLrrL

=

=⋅

∪=+

Are regular languages

)())(( 11 rLrL = is trivially a regular language (by induction hypothesis)

End of Proof-Part 1

Page 111: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 111

Using the regular closure of these operations, we can construct recursively the NFA that accepts

M)()( rLML =

Example: 21 rrr +=)()( 11 rLML =

)()( 22 rLML =

)()( rLML =

λ

λ

Page 112: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 112

For any regular language there is a regular expression with

Proof - Part 2

Languages Generated by Regular Expressions

Regular Languages

Lr LrL =)(

We will convert an NFA that accepts to a regular expression

L

Page 113: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 113

Since is regular, there is a NFA that accepts it

LM

LML =)(

Take it with a single accept state

Page 114: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 114

From construct the equivalent Generalized Transition Graph in which transition labels are regular expressions

M

Example:

aba,

cM

a

ba +

c

Corresponding Generalized transition graph

Page 115: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 115

Another Example:

ba +a

b

b0q 1q 2q

ba,a

b

b0q 1q 2q

b

bTransition labels are regular expressions

Page 116: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 116

Reducing the states: ba +

ab

b0q 1q 2q

b

0q 2q

babb*

)(* babb +

Transition labels are regular expressions

Page 117: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 117

Resulting Regular Expression:

0q 2q

babb*

)(* babb +

*)(**)*( bbabbabbr ⋅+⋅=

LMLrL == )()(

Page 118: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 118

In General Removing a state:

iq q jqa b

cde

iq jq

dae* bce*dce*

bae*

Page 119: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 119

0q fq

1r

2r

3r4r

*)*(* 213421 rrrrrrr +=

LMLrL == )()(

The resulting regular expression:

By repeating the process until two states are left, the resulting graph is

Initial graph Resulting graph

End of Proof-Part 2

Page 120: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 120

Standard Representations of Regular Languages

Regular Languages

DFAs

NFAs Regular Expressions

Page 121: Deterministic Finite Automata And Regular Languagesvganesh/TEACHING/S2014/ECE351/lectures/DFA... · Finite Automaton Output . Costa Busch - LSU 3 Transition Graph initial state accepting

Costa Busch - LSU 121

When we say: We are given a Regular Language

We mean:

L

Language is in a standard representation

L

(DFA, NFA, or Regular Expression)