nfas accept the regular languages

70
1 NFAs accept the Regular Languages

Upload: lajos

Post on 06-Feb-2016

38 views

Category:

Documents


0 download

DESCRIPTION

NFAs accept the Regular Languages. Equivalence of Machines. Definition: Machine is equivalent to machine if. Example of equivalent machines. NFA. FA. We will prove:. Languages accepted by NFAs. Regular Languages. Languages accepted by FAs. NFAs and FAs have the - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NFAs accept the Regular Languages

1

NFAs accept the Regular Languages

Page 2: NFAs accept the Regular Languages

2

Equivalence of Machines

Definition:

Machine is equivalent to machine

if

1M 2M

21 MLML

Page 3: NFAs accept the Regular Languages

3

Example of equivalent machines

0q 1q

0

1

0q 1q 2q

0

11

0

1,0

NFA

FA

*}10{1 ML

*}10{2 ML

1M

2M

Page 4: NFAs accept the Regular Languages

4

We will prove:

Languages acceptedby NFAs

RegularLanguages

NFAs and FAs have the same computation power

Languages acceptedby FAs

Page 5: NFAs accept the Regular Languages

5

Languages acceptedby NFAs

RegularLanguages

Languages acceptedby NFAs

RegularLanguages

We will show:

Page 6: NFAs accept the Regular Languages

6

Languages acceptedby NFAs

RegularLanguages

Proof-Step 1

Proof: Every FA is trivially an NFA

Any language accepted by a FAis also accepted by an NFA

L

Page 7: NFAs accept the Regular Languages

7

Languages acceptedby NFAs

RegularLanguages

Proof-Step 2

Proof: Any NFA can be converted to anequivalent FA

Any language accepted by an NFAis also accepted by a FA

L

Page 8: NFAs accept the Regular Languages

8

NFA to FA: Remarks

We are given an NFA

We want to convert it to an equivalent FA

With

M

M

)(MLML

Page 9: NFAs accept the Regular Languages

9

If the NFA has states

the FA has states in the powerset

,...,, 210 qqq

,....,,,,,,, 7432110 qqqqqqq

Page 10: NFAs accept the Regular Languages

10

Procedure NFA to FA

1. Initial state of NFA:

Initial state of FA:

0q

0q

Page 11: NFAs accept the Regular Languages

11

Example

a

b

a

0q 1q 2q

NFA

FA

0q

M

M

Page 12: NFAs accept the Regular Languages

12

Procedure NFA to FA

2. For every FA’s state

Compute in the NFA

Add transition to FA

},...,,{ mji qqq

...

,,*

,,*

aq

aq

j

i

},...,,{ mji qqq

},...,,{},,...,,{ mjimji qqqaqqq

Page 13: NFAs accept the Regular Languages

13

Example

a

b

a

0q 1q 2q

NFA

0q 21,qqa

FA

},{),(* 210 qqaq

210 ,, qqaq

M

M

Page 14: NFAs accept the Regular Languages

14

Procedure NFA to FA

Repeat Step 2 for all letters in alphabet,

untilno more transitions can be added.

Page 15: NFAs accept the Regular Languages

15

Convert NFA to FA

),(* 0 bq

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

M

M

Page 16: NFAs accept the Regular Languages

16

Example

)},({* 2,1 aqq

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

M

M

21,qq

)},({* 2,1 bqq 0q

Page 17: NFAs accept the Regular Languages

17

Example

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

Page 18: NFAs accept the Regular Languages

18

Procedure NFA to FA

3. For any FA state

If is accepting state in NFA

Then, is accepting state in FA

},...,,{ mji qqq

jq

},...,,{ mji qqq

Page 19: NFAs accept the Regular Languages

19

Example

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

M

M

Page 20: NFAs accept the Regular Languages

20

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q

M

M

Page 21: NFAs accept the Regular Languages

21

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

M

M

Page 22: NFAs accept the Regular Languages

22

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

M

M

Page 23: NFAs accept the Regular Languages

23

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

a

M

M

Page 24: NFAs accept the Regular Languages

24

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

M

M

Page 25: NFAs accept the Regular Languages

25

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

Page 26: NFAs accept the Regular Languages

26

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

)(MLML

Page 27: NFAs accept the Regular Languages

27

Theorem Take NFA M

Apply procedure to obtain FA M

Then and are equivalent :M M

MLML

Page 28: NFAs accept the Regular Languages

28

Proof

MLML

MLML MLML AND

Page 29: NFAs accept the Regular Languages

29

MLML First we show:

)(MLwTake arbitrary:

We will prove: )(MLw

Page 30: NFAs accept the Regular Languages

30

)(MLw

w

kw 21

0q fq:M

:M 0q fq1 2 k

Page 31: NFAs accept the Regular Languages

31

i

i

denotes

iq jq

iq jq

Page 32: NFAs accept the Regular Languages

32

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

We will show that if

then

Page 33: NFAs accept the Regular Languages

33

0q mq

naaav 211a 2a na:M

}{ 0q

1a 2a na:M },{ iq

iq jq lq

},{ jq },{ lq },{ mq

More generally, we will show that if in :M

(arbitrary string)

then

Page 34: NFAs accept the Regular Languages

34

0q 1a:M

}{ 0q

1a:M },{ iq

iq

Proof by induction on

Induction Basis: 1av

|| v

Is true by construction of :M

Page 35: NFAs accept the Regular Languages

35

Induction hypothesis: kv ||1

0q dq1a 2a ka:M iq jq cq

}{ 0q

1a 2a ka:M },{ iq },{ jq },{ cq },{ dq

kaaav 21

Page 36: NFAs accept the Regular Languages

36

Induction Step: 1|| kv

0q dq1a 2a ka:M iq jq cq

}{ 0q

1a 2a ka:M },{ iq },{ jq },{ cq },{ dq

1121

kk

v

k avaaaav

v

v

Page 37: NFAs accept the Regular Languages

37

Induction Step: 1|| kv

0q dq1a 2a ka:M iq jq cq

}{ 0q

1a 2a ka:M },{ iq },{ jq },{ cq },{ dq

1121

kk

v

k avaaaav

v

v

1ka

},{ eq

eq1ka

Page 38: NFAs accept the Regular Languages

38

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

Therefore if

then

Page 39: NFAs accept the Regular Languages

39

We have shown: MLML

We also need to show: MLML

(proof is similar)

Page 40: NFAs accept the Regular Languages

40

Single Accepting State for NFAs

Page 41: NFAs accept the Regular Languages

41

Any NFA can be converted

to an equivalent NFA

with a single accepting state

Page 42: NFAs accept the Regular Languages

42

a

b

b

aNFA

Equivalent NFA

a

b

b

a

Example

Page 43: NFAs accept the Regular Languages

43

NFAIn General

Equivalent NFA

Singleacceptingstate

Page 44: NFAs accept the Regular Languages

44

Extreme Case

NFA without accepting state

Add an accepting statewithout transitions

Page 45: NFAs accept the Regular Languages

45

Properties of Regular Languages

Page 46: NFAs accept the Regular Languages

46

1L 2L

21LLConcatenation:

*1LStar:

21 LL Union:

Are regularLanguages

For regular languages and we will prove that:

1L

21 LL

Complement:

Intersection:

RL1Reversal:

Page 47: NFAs accept the Regular Languages

47

We say: Regular languages are closed under

21LLConcatenation:

*1LStar:

21 LL Union:

1L

21 LL

Complement:

Intersection:

RL1Reversal:

Page 48: NFAs accept the Regular Languages

48

1LRegular language

11 LML

1M

Single accepting state

NFA 2M

2L

Single accepting state

22 LML

Regular language

NFA

Page 49: NFAs accept the Regular Languages

49

Example

baL 2ab

2M

}{1 baL na

b

1M0n

Page 50: NFAs accept the Regular Languages

50

UnionNFA for

1M

2M

21 LL

Page 51: NFAs accept the Regular Languages

51

Example

a

b

ab

}{1 baL n

}{2 baL

}{}{21 babaLL n NFA for

Page 52: NFAs accept the Regular Languages

52

Concatenation

NFA for 21LL

1M 2M

Page 53: NFAs accept the Regular Languages

53

Example NFA for

a

b ab

}{1 baL n}{2 baL

}{}}{{21 bbaababaLL nn

Page 54: NFAs accept the Regular Languages

54

Star OperationNFA for *1L

1M

*1L

Page 55: NFAs accept the Regular Languages

55

Example

NFA for *}{*1 baL n

a

b

}{1 baL n

1

21

Lw

wwww

i

k

Page 56: NFAs accept the Regular Languages

56

Reverse

1M

RL1NFA for

1M

1. Reverse all transitions

2. Make initial state accepting state and vice versa

1L

Page 57: NFAs accept the Regular Languages

57

Example

}{1 baL na

b

1M

1M

}{1nR baL

a

b

Page 58: NFAs accept the Regular Languages

58

Complement

1. Take the FA that accepts 1L

1M1L

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

1M1L

Page 59: NFAs accept the Regular Languages

59

Example

}{1 baL n

a

b

1M

ba,

ba,

}{*},{1 babaL n a

b

1M

ba,

ba,

Page 60: NFAs accept the Regular Languages

60

Intersection

1L regular

2L regular

We show 21 LL

regular

Page 61: NFAs accept the Regular Languages

61

DeMorgan’s Law: 2121 LLLL

21 , LL regular

21 , LL regular

21 LL regular

21 LL regular

21 LL regular

Page 62: NFAs accept the Regular Languages

62

Example

}{1 baL n

},{2 baabL

regular

regular

}{21 abLL

regular

Page 63: NFAs accept the Regular Languages

63

1Lfor for 2LFA

1M

FA

2M

Construct a new FA that accepts

Machine Machine

M 21 LL

Msimulates in parallel and 1M 2M

Another Proof for Intersection Closure

Page 64: NFAs accept the Regular Languages

64

States in M

ji pq ,

1M 2MState in State in

Page 65: NFAs accept the Regular Languages

65

1M 2M

1q 2qa

transition

1p 2pa

transition

FA FA

11, pq a

transition

MFA

22 , pq

Page 66: NFAs accept the Regular Languages

66

0q

initial state

0p

initial state

Initial state

00 , pq

1M 2MFA FA

MFA

Page 67: NFAs accept the Regular Languages

67

iq

accept state

jp

accept states

accept states

ji pq ,

kp

ki pq ,

1M 2MFA FA

MFA

Both constituents must be accepting states

Page 68: NFAs accept the Regular Languages

68

Example:

}{1 baL n

a

b

1M

0n

}{2mabL

b

b

2M

0q 1q 0p 1p

0m

2q 2pa

a

ba, ba,

ba,

Page 69: NFAs accept the Regular Languages

69

00, pq

Automaton for intersection

}{}{}{ ababbaL nn

10, pqa

21, pq

b

ab 11, pq

20, pq

a

12, pq

22, pq

b

ba,

a

b

ba,

b

a

Page 70: NFAs accept the Regular Languages

70

M simulates in parallel and 1M 2M

M accepts string w if and only if

accepts string and w1M

accepts string w2M

)()()( 21 MLMLML