1 nfas accept the regular languages. 2 equivalence of machines definition: machine is equivalent to...

68
1 NFAs accept the Regular Languages

Post on 20-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

1

NFAs accept the Regular Languages

Page 2: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

2

Equivalence of Machines

Definition:

Machine is equivalent to machine

if

1M 2M

21 MLML

Page 3: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

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: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

4

We will prove:

Languages acceptedby NFAs

RegularLanguages

NFAs and FAs have the same computation power

Languages acceptedby FAs

Page 5: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

5

Languages acceptedby NFAs

RegularLanguages

Languages acceptedby NFAs

RegularLanguages

We will show:

Page 6: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

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: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

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: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

8

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q

M

M

Page 9: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

9

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

M

M

Page 10: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

10

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

M

M

Page 11: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

11

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

a

M

M

Page 12: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

12

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

M

M

Page 13: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

13

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

Page 14: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

14

Convert NFA to FA

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

)(MLML

Page 15: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

15

NFA to FA: Remarks

We are given an NFA

We want to convert it to an equivalent FA

With

M

M

)(MLML

Page 16: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

16

If the NFA has states

the FA has states in the powerset

,...,, 210 qqq

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

Page 17: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

17

Procedure NFA to FA

1. Initial state of NFA:

Initial state of FA:

0q

0q

Page 18: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

18

Example

a

b

a

0q 1q 2q

NFA

FA

0q

M

M

Page 19: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

19

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 20: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

20

Exampe

a

b

a

0q 1q 2q

NFA

0q 21,qqa

FA

},{),(* 210 qqaq

210 ,, qqaq

M

M

Page 21: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

21

Procedure NFA to FA

Repeat Step 2 for all letters in alphabet,

untilno more transitions can be added.

Page 22: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

22

Example

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

M

M

Page 23: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

23

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 24: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

24

Example

a

b

a

0q 1q 2q

NFA

FA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

M

M

Page 25: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

25

Theorem Take NFA M

Apply procedure to obtain FA M

Then and are equivalent :M M

MLML

Page 26: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

26

Proof

MLML

MLML MLML AND

Page 27: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

27

MLML First we show:

)(MLwTake arbitrary:

We will prove: )(MLw

Page 28: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

28

)(MLw

w

kw 21

0q fq:M

:M 0q fq1 2 k

Page 29: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

29

i

i

denotes

iq jq

iq jq

Page 30: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

30

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

We will show that if

then

Page 31: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

31

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 32: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

32

0q 1a:M

}{ 0q

1a:M },{ iq

iq

Proof by induction on

Induction Basis: 1av

|| v

Is true by construction of :M

Page 33: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

33

Induction hypothesis: kv ||1

0q dq1a 2a ka:M iq jq cq

}{ 0q

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

kaaav 21

Page 34: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

34

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 35: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

35

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

eq1ka

1ka

},{ eq

Page 36: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

36

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

Therefore if

then

Page 37: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

37

We have shown: MLML

We also need to show: MLML

(proof is similar)

Page 38: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

38

Single Accepting State for NFAs

Page 39: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

39

Any NFA can be converted

to an equivalent NFA

with a single accepting state

Page 40: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

40

a

b

b

aNFA

Equivalent NFA

a

b

b

a

Example

Page 41: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

41

NFAIn General

Equivalent NFA

Singleacceptingstate

Page 42: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

42

Extreme Case

NFA without accepting state

Add an accepting statewithout transitions

Page 43: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

43

Properties of Regular Languages

Page 44: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

44

1L 2L

21LLConcatenation:

*1LStar:

21 LL Union:

Are regularLanguages

For regular languages and we will prove that:

1L

21 LL

Complement:

Intersection:

RL1Reversal:

Page 45: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

45

We say: Regular languages are closed under

21LLConcatenation:

*1LStar:

21 LL Union:

1L

21 LL

Complement:

Intersection:

RL1Reversal:

Page 46: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

46

1LRegular language

11 LML

1M

Single accepting state

NFA 2M

2L

Single aceepting state

22 LML

Regular language

NFA

Page 47: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

47

Example

}{1 baL na

b

1M

baL 2ab

2M

0n

Page 48: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

48

UnionNFA for

1M

2M

21 LL

Page 49: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

49

Example

a

b

ab

}{1 baL n

}{2 baL

}{}{21 babaLL n NFA for

Page 50: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

50

Concatenation

NFA for 21LL

1M 2M

Page 51: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

51

Example NFA for

a

b ab

}{1 baL n}{2 baL

}{}}{{21 bbaababaLL nn

Page 52: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

52

Star OperationNFA for *1L

1M

*1L

Page 53: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

53

Example

NFA for *}{*1 baL n

a

b

}{1 baL n

1

21

Lw

wwww

i

k

Page 54: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

54

Reverse

RL1

1M

NFA for

1M

1. Reverse all transitions

2. Make initial state accepting state and vice versa

1L

Page 55: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

55

Example

}{1 baL na

b

1M

}{1nR baL

a

b

1M

Page 56: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

56

Complement

1. Take the FA that accepts 1L

1M1L1M1L

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

Page 57: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

57

Example

}{1 baL n

a

b

1M

ba,

ba,

}{*},{1 babaL n a

b

1M

ba,

ba,

Page 58: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

58

Intersection

1L regular

2L regular

We show 21 LL

regular

Page 59: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

59

DeMorgan’s Law: 2121 LLLL

21 , LL regular

21 , LL regular

21 LL regular

21 LL regular

21 LL regular

Page 60: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

60

Example

}{1 baL n

},{2 baabL

regular

regular

}{21 abLL

regular

Page 61: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

61

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 62: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

62

States in M

ji pq ,

1M 2MState in State in

Page 63: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

63

1M 2M

1q 2qa

transition

1p 2pa

transition

FA FA

11, pq a

transition

MFA

22 , pq

Page 64: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

64

0q

initial state

0p

initial state

Initial state

00 , pq

1M 2MFA FA

MFA

Page 65: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

65

iq

accept state

jp

accept states

accept states

ji pq ,

kp

ki pq ,

1M 2MFA FA

MFA

Both constituents must be accepting states

Page 66: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

66

Example:

}{1 baL n

a

b

1M

0n

}{2mabL

b

b

2M

0q 1q 0p 1p

0m

2q 2pa

a

ba, ba,

ba,

Page 67: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

67

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 68: 1 NFAs accept the Regular Languages. 2 Equivalence of Machines Definition: Machine is equivalent to machine if

68

M simulates in parallel and 1M 2M

M accepts string w if and only if

accepts string and w1M

accepts string w2M

)()()( 21 MLMLML