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

Preview:

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

Citation preview

1

CDT314

FABER

Formal Languages, Automata and Models of Computation

Lecture 5

School of Innovation, Design and Engineering Mälardalen University

2012

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

3

More Properties of

Regular Languages

Based on C Busch, RPI, Models of Computation

4

We have shown

Regular languages are closed under

Union

Concatenation

Star operation

Reverse

5

Namely, for regular languages and :1L 2L

21 LL

21LL

1L

Union

Concatenation

Star operation

Reverse RL1

RegularLanguages

6

We will show that

Regular languages are also closed under

Complement

Intersection

7

Namely, for regular languages and :1L 2L

1L

21 LL

Complement

Intersection

RegularLanguages

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

9

Examplea

b ba,

ba,

0q 1q 2q

)*( baLL

a

b ba,

ba,

0q 1q 2q

)))((( bababaaLL

10

Intersection

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

1L 2L

Proof Apply DeMorgan’s Law:

2121 LLLL

11

21 , LL regular

21 , LL regular

21 LL regular

21 LL regular

21 LL regular

12

Standard Representations of

Regular Languages

13

Regular Language Representations

DFA

NFA

RegularExpression

RegularGrammar

Regular Language

14

Elementary Questionsabout

Regular Languages

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

16

Lw

DFAw

Lw

DFAw

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

18

DFA

L

L

DFA

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

20

DFA

L is infinite

DFA

L is finite

21

Given regular languages and how can we check if ?

1L 2L21 LL

Question:

)()( 2121 LLLLFind ifAnswer:

Equality Question

22

)()( 2121 LLLL

21 LL 21 LLand

21 LL

1L2L 1L2L

21 LL 12 LL 2L 1L

23

)()( 2121 LLLL

21 LL 21 LLor

1L2L 1L2L

21 LL 12 LL

21 LL

24

Non-Regular Languages

25

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages???

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

27

The Pigeonhole Principle

28

The Pigeonhole Principle

29

pigeons

pigeonholes

4

3

30

A pigeonhole mustcontain at least two pigeons

31

...........

...........

pigeonsn

pigeonholesm mn

32

The Pigeonhole Principle

...........

pigeons

pigeonholes

n

mmn

There is a pigeonhole with at least 2 pigeons

33

The Pigeonhole Principleand DFAs

34

DFA with states 4

1q 2q 3qa

b

4q

b

b b

b

a a

35

1q 2q 3qa

b

4q

b

b

b

a a

a

In walks of strings:

aabaaa

no stateis repeated

36

In walks of strings:

1q 2q 3qa

b

4q

b

b

b

a a

a

...abbbabbabbabbabbbbaaaabb a state

is repeated

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

38

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

Pigeonhole principle for any DFA:

w

39

In other words for a string transitions are pigeons

states are pigeonholesq

a

w

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

41

The Pumping Lemmafor Regular Languages

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

42

Take an infinite regular language L

DFA that accepts L

nstates

43

Take string with w Lw

There is a walk with label w

.........

walk w

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

45

Write zyxw

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

x

y

z

q

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)

47

The string is accepted zxObservation:

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

x

y

z

q

48

The string is accepted

zyyxObservation:

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

x

y

z

q

49

The string is accepted

zyyyxObservation:

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

x

y

z

q

50

The string

zyx iGenerally:

...,2,1,0i

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

x

y

z

q

is accepted

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

52

Applications of

the Pumping Lemma

53

Theorem

The language}0:{ nbaL nn

is not regular.

Proof

Use the Pumping Lemma!

54

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

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ nbaL nn

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

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

57

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

We can choose

mmbazyx

0i

We have:

1, kay k

Lbaw mkm

CONTRADICTION!

58

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

L

Conclusion

L is not a regular language.

END OF PROOF

59

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages

}0:{ nba nn

60

Theorem The language

Proof

Use the Pumping Lemma!

is not regular.

*}:{ wwwL R },{ ba

61

*}:{ wwwL R

Assume to the contrary,that is a regular language.

Since is infinitewe can apply the Pumping Lemma.

L

L

62

mmmm abbaw pick

Pick a string such that: w Lw

mw ||length

Let be the integer in the Pumping Lemma.m

*}:{ wwwL R

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

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

65

Conclusion

L is not a regular language.

Our assumption thatis a regular language is not true.

Therefore:

END OF PROOF

L

66

Regular languages

ba * acb *

...etc

*)( bacb

Non-regular languages

}0:{ nba nn *}:{ wwwR

67

Theorem The language

is not regular.

Proof

Use the Pumping Lemma.

}0,:{ lncbaL lnln

68

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0,:{ lncbaL lnln

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

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

71

From the Pumping Lemma

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

Thus:

Lcbazxzyx mmkm 20

Lzyx 0

mmm cbazyx 2We have:

1, kay k

72

Lcba mmkm 2Therefore:

Lcba mmkm 2

BUT:

CONTRADICTION!

}0,:{ lncbaL lnln

73

Conclusion

L is not a regular language.

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

END OF PROOF

74

Regular languages

Non-regular languages

}0,:{ lncba lnln

*}:{ wwwR}0:{ nba nn

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.

76

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ ! naL n

77

!maw Pick

Pick a string such that: w

Lw mw ||length

Let be the integer in the Pumping Lemma.m

}0:{ ! naL n

78

Write zyxam !

From the Pumping Lemma

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

x y z

m mm !

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

mkay k 1,

79

From the Pumping Lemma:

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

Thus:

!mazyx

Lazyyxzyx km !2

Lzyx 2

We have:

mkay k 1,

80

La km !Therefore:

!! pkm

}0:{ ! naL nSince:

mk 1

mk 1There is p

81

However

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

for 1m

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

!! pkm for any p

82

La km !

Therefore: La km !

BUT:

CONTRADICTION!

}0:{ ! naL n mk 1and

83

ConclusionL is not a regular language.

Our assumption thatis a regular language is not true.

LTherefore:

END OF PROOF

84

Regular languages

Non-regular languages

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

*}:{ wwwR }0:{ nba nn

85

Theorem

The language

is not regular.

ProofUse the Pumping Lemma.

}:{ primeiaL i

86

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

Since is infinitewe can apply the Pumping Lemma.

L

}:{ primeiaL i

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

88

Thus:

But, choosing

which is not prime!

CONTRADICTION!

))(1())((

)()(

)()( 1

ylengthkylengthkk

ylengthxyzlength

zxyylengthzxylengthk

kk

)( mk

Lw

( )length xyz k

89

ConclusionL is not a regular language.

Our assumption thatis a regular language is not true.

LTherefore:

END OF PROOF

90

Regular languages

Non-regular languages

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

*}:{ wwwR }0:{ nba nn

}:{ primeiaL i

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.

92

Assume to the contrarythat is a regular language.L

Since is infinitewe can apply the Pumping Lemma.

L

}0:{ nbaL nn

93

Pick a string such that: w Lw

mw ||length

mmbaw Pick

Let be the integer in the Pumping Lemma.m

}0:{ nbaL nn

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

95

From the Pumping Lemma: Lzyx i

...,2,1,0i

Thus:

mmbazyx

Lbazyyxzyx mkm 2

Lzyx 2

We have: 1, kay k

96

Lba mkm Therefore:

}0:{ nbaL nnBUT:

Lba mkm

CONTRADICTION

97

Our assumption thatis a regular language is not true.

L

Conclusion: L is not a regular language.

Therefore:

END OF PROOF

98

Pumping Lemma, in short

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)

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

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

102

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

Lw

You don’t need to obtaincontradiction for every Lw

103

Extra Examples on Regular Languages

104

FA RE

105

FA RE

or

106

NFA DFA

Subset ConstructionDelmängdkonstruktion

107

Convert an NFA to DFAusing the subset construction

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

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}

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

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}

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

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

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

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

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.

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.)

118

NFA DFA RESULT

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

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

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

122

Application: Lex - lexical analyzer

Lex

RE NFA DFAMinimalDFA

The final states of the DFA are associated with actions.

Recommended