cdt314 faber formal languages, automata and models of computation lecture 5

122
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012

Upload: hinda

Post on 24-Feb-2016

57 views

Category:

Documents


2 download

DESCRIPTION

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012. Content - More Properties of Regular Languages (RL) - Standard Representations of RL - Elementary Questions about RL - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

1

CDT314

FABER

Formal Languages, Automata and Models of Computation

Lecture 5

School of Innovation, Design and Engineering Mälardalen University

2012

Page 2: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

2

Content

- More Properties of Regular Languages (RL)- Standard Representations of RL- Elementary Questions about RL- Non-Regular Languages- The Pigeonhole Principle- The Pumping Lemma- Applications of the Pumping Lemma- NFA-DFA repetition

Page 3: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

3

More Properties of

Regular Languages

Based on C Busch, RPI, Models of Computation

Page 4: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

4

We have shown

Regular languages are closed under

Union

Concatenation

Star operation

Reverse

Page 5: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

5

Namely, for regular languages and :1L 2L

21 LL

21LL

1L

Union

Concatenation

Star operation

Reverse RL1

RegularLanguages

Page 6: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

6

We will show that

Regular languages are also closed under

Complement

Intersection

Page 7: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

7

Namely, for regular languages and :1L 2L

1L

21 LL

Complement

Intersection

RegularLanguages

Page 8: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

8

Complement

Theorem For regular language the complement is regular. L

L

ProofTake DFA that accepts and exchange:L

non-accepting states accepting states

LResulting DFA accepts

Page 9: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

9

Examplea

b ba,

ba,

0q 1q 2q

)*( baLL

a

b ba,

ba,

0q 1q 2q

)))((( bababaaLL

Page 10: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

10

Intersection

Theorem For regular languages and the intersection is regular. 21 LL

1L 2L

Proof Apply DeMorgan’s Law:

2121 LLLL

Page 11: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

11

21 , LL regular

21 , LL regular

21 LL regular

21 LL regular

21 LL regular

Page 12: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

12

Standard Representations of

Regular Languages

Page 13: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

13

Regular Language Representations

DFA

NFA

RegularExpression

RegularGrammar

Regular Language

Page 14: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

14

Elementary Questionsabout

Regular Languages

Page 15: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

15

Membership Question

Question: Given regular languageand string how can we check if ?

L

Lw w

Answer: Take the DFA that acceptsand check if is accepted.

Lw

Page 16: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

16

Lw

DFAw

Lw

DFAw

Page 17: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

17

Take the DFA that accepts . Check if there is a path from the initial state to a final state.

L

Given regular languagehow can we checkif is empty: ?

L

L )( L

Question:

Answer:

Empty Language Question

Page 18: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

18

DFA

L

L

DFA

Page 19: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

19

Given regular languagehow can we checkif is finite?

L

L

Take the DFA that accepts .

Check if there is a walk with a cyclefrom the initial state to a final state.

L

Question:

Answer:

Finiteness Question

Page 20: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

20

DFA

L is infinite

DFA

L is finite

Page 21: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

21

Given regular languages and how can we check if ?

1L 2L21 LL

Question:

)()( 2121 LLLLFind ifAnswer:

Equality Question

Page 22: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

22

)()( 2121 LLLL

21 LL 21 LLand

21 LL

1L2L 1L2L

21 LL 12 LL 2L 1L

Page 23: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

23

)()( 2121 LLLL

21 LL 21 LLor

1L2L 1L2L

21 LL 12 LL

21 LL

Page 24: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

24

Non-Regular Languages

Page 25: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

25

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages???

Page 26: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

26

How can we prove that a languageis not regular?

L

Prove that there is no DFA that accepts L

Problem: this is not easy to prove.

Solution: the Pumping Lemma !

a

b

b

a a

b

}0:{ nbaL nn

Page 27: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

27

The Pigeonhole Principle

Page 28: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

28

The Pigeonhole Principle

Page 29: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

29

pigeons

pigeonholes

4

3

Page 30: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

30

A pigeonhole mustcontain at least two pigeons

Page 31: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

31

...........

...........

pigeonsn

pigeonholesm mn

Page 32: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

32

The Pigeonhole Principle

...........

pigeons

pigeonholes

n

mmn

There is a pigeonhole with at least 2 pigeons

Page 33: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

33

The Pigeonhole Principleand DFAs

Page 34: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

34

DFA with states 4

1q 2q 3qa

b

4q

b

b b

b

a a

Page 35: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

35

1q 2q 3qa

b

4q

b

b

b

a a

a

In walks of strings:

aabaaa

no stateis repeated

Page 36: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

36

In walks of strings:

1q 2q 3qa

b

4q

b

b

b

a a

a

...abbbabbabbabbabbbbaaaabb a state

is repeated

Page 37: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

37

If the walk of string has length

1q 2q 3qa

b

4q

b

b

b

a a

a

w 4|| wthen a state is repeated

Page 38: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

38

If in a walk of a string transitions states of DFAthen a state is repeated

Pigeonhole principle for any DFA:

w

Page 39: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

39

In other words for a string transitions are pigeons

states are pigeonholesq

a

w

Page 40: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

40

A string has length number of states w

A state must be repeated in the walk of wq

In general

...... ......

walk of w

q

Page 41: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

41

The Pumping Lemmafor Regular Languages

see alsohttp://www.math.uu.se/~salling/Movies/Nonregularity.mov

Page 42: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

42

Take an infinite regular language L

DFA that accepts L

nstates

Page 43: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

43

Take string with w Lw

There is a walk with label w

.........

walk w

Page 44: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

44

If string has length w1|| nmw

then, from the pigeonhole principle: a state is repeated in the walkq w

...... ......

walk w

( number of states)

q

n

Page 45: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

45

Write zyxw

...... ......

x

y

z

q

Page 46: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

46

myx ||Lengths:

1|| y

...... ......

x

y

z

q

(from pigeon principle, as q is the first repetition in sequence)

(there is a walk in the graph)

Page 47: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

47

The string is accepted zxObservation:

...... ......

x

y

z

q

Page 48: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

48

The string is accepted

zyyxObservation:

...... ......

x

y

z

q

Page 49: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

49

The string is accepted

zyyyxObservation:

...... ......

x

y

z

q

Page 50: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

50

The string

zyx iGenerally:

...,2,1,0i

...... ......

x

y

z

q

is accepted

Page 51: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

51

The Pumping Lemma

Given an infinite regular language L there exists an integer such that m for any string with length Lw mw ||

we can write zyxw

with andmyx || 1|| y

such that: Lzyx i ...,2,1,0i

Page 52: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

52

Applications of

the Pumping Lemma

Page 53: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

53

Theorem

The language}0:{ nbaL nn

is not regular.

Proof

Use the Pumping Lemma!

Page 54: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

54

Assume to the contrary,that is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ nbaL nn

Page 55: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

55

Let be the integer in the Pumping Lemma

Pick a string such that: w Lw

mw ||with length

mmbaw e.g. pick

m

}0:{ nbaL nn

Page 56: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

56

Write: zyxba mm

it must be that length

From the Pumping Lemma

1||,|| ymyx

Therefore:

1, kay k

babaaaaba mm ............

x y z

m m

Page 57: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

57

From the Pumping Lemma: Lzyx i ...,2,1,0i

We can choose

mmbazyx

0i

We have:

1, kay k

Lbaw mkm

CONTRADICTION!

Page 58: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

58

Therefore: Our assumption thatis a regular language is not true.

L

Conclusion

L is not a regular language.

END OF PROOF

Page 59: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

59

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages

}0:{ nba nn

Page 60: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

60

Theorem The language

Proof

Use the Pumping Lemma!

is not regular.

*}:{ wwwL R },{ ba

Page 61: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

61

*}:{ wwwL R

Assume to the contrary,that is a regular language.

Since is infinitewe can apply the Pumping Lemma.

L

L

Page 62: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

62

mmmm abbaw pick

Pick a string such that: w Lw

mw ||length

Let be the integer in the Pumping Lemma.m

*}:{ wwwL R

Page 63: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

63

Write zyxabba mmmm

it must be that lengthFrom the Pumping Lemma

ababbabaaaaabba mmmm ..................

x y z

m m m m

1||,|| ymyx

1, kay k

Page 64: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

64

ababbabaaaaabba mmmm ..................

x y z

m m m m

1, kay k

We can choose 0i

CONTRADICTION!

So we get a’s on the left, while is on the right:

km m

Page 65: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

65

Conclusion

L is not a regular language.

Our assumption thatis a regular language is not true.

Therefore:

END OF PROOF

L

Page 66: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

66

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages

}0:{ nba nn *}:{ wwwR

Page 67: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

67

Theorem The language

is not regular.

Proof

Use the Pumping Lemma.

}0,:{ lncbaL lnln

Page 68: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

68

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0,:{ lncbaL lnln

Page 69: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

69

mmm cbaw 2Pick

Let be the integer in the Pumping Lemma.

Pick a string such that: w Lw

mw ||length

m

}0,:{ lncbaL lnln

Page 70: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

70

Write zyxcba mmm 2

cccbcabaaaaacba mmm ..................2

x y z

m m m2

it must be that length

From the Pumping Lemma 1||,|| ymyx

1, kay k

Page 71: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

71

From the Pumping Lemma

Lzyx i ...,2,1,0i

Thus:

Lcbazxzyx mmkm 20

Lzyx 0

mmm cbazyx 2We have:

1, kay k

Page 72: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

72

Lcba mmkm 2Therefore:

Lcba mmkm 2

BUT:

CONTRADICTION!

}0,:{ lncbaL lnln

Page 73: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

73

Conclusion

L is not a regular language.

LTherefore: Our assumption thatis a regular language is not true.

END OF PROOF

Page 74: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

74

Regular languages

Non-regular languages

}0,:{ lncba lnln

*}:{ wwwR}0:{ nba nn

Page 75: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

75

Theorem

The language

is not regular.

ProofUse the Pumping Lemma.

}0:{ ! naL n

nnn )1(21!

Factorial of n, (n!) is the product of all positive integers less than or equal to n. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120 The value of 0! is 1.

Page 76: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

76

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ ! naL n

Page 77: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

77

!maw Pick

Pick a string such that: w

Lw mw ||length

Let be the integer in the Pumping Lemma.m

}0:{ ! naL n

Page 78: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

78

Write zyxam !

From the Pumping Lemma

aaaaaaaaaaam ...............!

x y z

m mm !

it must be that length 1||,|| ymyx

mkay k 1,

Page 79: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

79

From the Pumping Lemma:

Lzyx i ...,2,1,0i

Thus:

!mazyx

Lazyyxzyx km !2

Lzyx 2

We have:

mkay k 1,

Page 80: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

80

La km !Therefore:

!! pkm

}0:{ ! naL nSince:

mk 1

mk 1There is p

Page 81: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

81

However

)!1( m)1(! mm!! < mmm!! mm! mmkm !

for 1m

! ! ( 1)!m m k m< <

!! pkm for any p

Page 82: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

82

La km !

Therefore: La km !

BUT:

CONTRADICTION!

}0:{ ! naL n mk 1and

Page 83: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

83

ConclusionL is not a regular language.

Our assumption thatis a regular language is not true.

LTherefore:

END OF PROOF

Page 84: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

84

Regular languages

Non-regular languages

}0:{ ! nan}0,:{ lncba lnln

*}:{ wwwR }0:{ nba nn

Page 85: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

85

Theorem

The language

is not regular.

ProofUse the Pumping Lemma.

}:{ primeiaL i

Page 86: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

86

Assume to the contrary,that is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}:{ primeiaL i

Page 87: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

87

it must be that length 1||,|| ymyx

Lw mw ||length

From the Pumping Lemma:

Lzyx i ...,2,1,0i

The length of zxyw k 1

must be prime for each string of .

mk

L

Page 88: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

88

Thus:

But, choosing

which is not prime!

CONTRADICTION!

))(1())((

)()(

)()( 1

ylengthkylengthkk

ylengthxyzlength

zxyylengthzxylengthk

kk

)( mk

Lw

( )length xyz k

Page 89: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

89

ConclusionL is not a regular language.

Our assumption thatis a regular language is not true.

LTherefore:

END OF PROOF

Page 90: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

90

Regular languages

Non-regular languages

}0:{ ! nan}0,:{ lncba lnln

*}:{ wwwR }0:{ nba nn

}:{ primeiaL i

Page 91: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

91

Theorem

The language}0:{ nbaL nn

is not regular.

Proof

Use the Pumping Lemma!

For your exercise:An alternative variant of proof from slide 53.

Page 92: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

92

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ nbaL nn

Page 93: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

93

Pick a string such that: w Lw

mw ||length

mmbaw Pick

Let be the integer in the Pumping Lemma.m

}0:{ nbaL nn

Page 94: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

94

Write: zyxba mm

it must be that: length

From the Pumping Lemma

1||,|| ymyx

Therefore: babaaaaba mm ............

1, kay kx y z

m m

Page 95: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

95

From the Pumping Lemma: Lzyx i

...,2,1,0i

Thus:

mmbazyx

Lbazyyxzyx mkm 2

Lzyx 2

We have: 1, kay k

Page 96: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

96

Lba mkm Therefore:

}0:{ nbaL nnBUT:

Lba mkm

CONTRADICTION

Page 97: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

97

Our assumption thatis a regular language is not true.

L

Conclusion: L is not a regular language.

Therefore:

END OF PROOF

Page 98: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

98

Pumping Lemma, in short

Page 99: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

99

Observation:Every language of finite size has to be regular.

(We can easily construct an NFA that accepts every string in the language, or a union of regular expressions)

Therefore, every non-regular languagehas to be of infinite size. (contains an infinite number of strings)

Page 100: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

100

Suppose you want to prove thatAn infinite language is not regular

1. Assume the opposite: is regular

2. The pumping lemma should hold for

3. Use the pumping lemma to obtain a contradiction

L

L

L

4. Therefore, is not regular L

Page 101: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

101

Explanation of Step 3: How to get a contradiction with pumping lemma

i. Find a particular string which satisfies the conditions of the pumping lemma

Lw

ii. Write xyzw

iii. Show that Lzxyw i for some 1i

iv. This gives a contradiction, since from pumping lemma Lzxyw i

Page 102: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

102

Note: It suffices to show that only one stringgives a contradiction

Lw

You don’t need to obtaincontradiction for every Lw

Page 103: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

103

Extra Examples on Regular Languages

Page 104: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

104

FA RE

Page 105: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

105

FA RE

or

Page 106: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

106

NFA DFA

Subset ConstructionDelmängdkonstruktion

Page 107: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

107

Convert an NFA to DFAusing the subset construction

Page 108: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

108

Each state of the DFA is a set of states of the NFA.

Start by the initial state of the DFA which is the -closure of the initial state of the NFA (all the states you reach by -transitions from the initial state) .

CLOSE{0}={0, 1, 3}=S0

Page 109: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

109

Determine the transition function of the DFA on all inputs. Begin with the initial state S0, and determine the transition on input a.

CLOSE{0} = {0, 1, 3} = S0

(S0, a) = CLOSE{1, 2}

Page 110: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

110

The -closure of the set {1, 2} is {1, 2, 3}This is a new state in the DFA, call it S1.

CLOSE{0} = {0, 1, 3} = S0

(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

Page 111: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

111

With the initial state S0, determine the transition on input b. CLOSE{0} = {0, 1, 3} = S0

(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

(S0, b) = CLOSE{3}

Page 112: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

112

The -closure of the set {3} is {1, 3}. This is a new state in the DFA, call it S2.

CLOSE{0} = {0, 1, 3} = S0

(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

(S0, b) = CLOSE{3} = {1, 3} = S2

Page 113: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

113

Determine the transition function of the DFA from state S1 oninputs a and b. On a there is no where to go in the NFA, so wecreate a “sink“(“trap”) state for DFA.(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

(S0, b) = CLOSE{3} = {1, 3} = S2

(S1, a) = CLOSE{} = = S3

Page 114: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

114

Determine the transition function of the DFA from state S1 oninputs a and b. On b there is a transition to an existing state S2.(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

(S0, b) = CLOSE{3} = {1, 3} = S2

(S1, a) = CLOSE{} = = S3

(S1, b) = CLOSE{3} = {1, 3} = S2

Page 115: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

115

Determine the transition from state S2 on inputs a and b. (S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1

(S0, b) = CLOSE{3} = {1, 3} = S2

(S1, a) = CLOSE{} = = S3

(S1, b) = CLOSE{3} = {1, 3} = S2

(S2, a) = CLOSE{} = = S3

(S2, b) = CLOSE{3} = {1, 3} = S2

Page 116: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

116

Determining the transition from state S2 on inputs a and b is easy;from the empty set of states there are no transitions in the NFA. Inthe DFA this is represented by a transition from the empty setback to itself.

Page 117: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

117

The final states of the DFA are determined from the final states of the NFA. State 3 was the only final state in the NFA. (Any set of NFA states containing a final state is a final state in the DFA.)

Page 118: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

118

NFA DFA RESULT

Page 119: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

State elimination

+10* 0*11

0*1

q0 q1 q2

01

q0 q2

01

(+10*)(0*1)*0*11

q0 q2

(+10*)(0*1)*0*11 + 01

Page 120: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

Example 7Convert the following NFA to DFA.

s

p

0

ε0 ε

0

1

1

ε

0

rsrp

0 qrp

1

s

q, r, p

0

10

1

q

Page 121: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

s

p

0

0

0

1

10

r

q0

q

1

q r p

0

1

0

1

Converting the NFA to DFA

p r sp r s

Page 122: CDT314  FABER Formal Languages, Automata  and Models of Computation Lecture 5

122

Application: Lex - lexical analyzer

Lex

RE NFA DFAMinimalDFA

The final states of the DFA are associated with actions.