Another NFA Example

Post on 15-Jan-2016

38 views 2 download

Tags:

description

Another NFA Example. Language accepted. (redundant state). Remarks:. The symbol never appears on the input tape. Simple automata:. NFAs are interesting because we can express languages easier than DFAs. NFA. DFA. Formal Definition of NFAs. Set of states, i.e. - PowerPoint PPT Presentation

transcript

Fall 2004 COMP 335 1

Another NFA Example

0q 1q 2q0

11,0

Fall 2004 COMP 335 2

{ }{ } *10=

...,101010,1010,10,λ=)(ML

0q 1q 2q0

11,0

Language accepted

(redundant state)

Fall 2004 COMP 335 3

Remarks:

•The symbol never appears on the input tape

0q2M

0q1M

{}=)M(L 1 }λ{=)M(L 2

•Simple automata:

Fall 2004 COMP 335 4

0q

2q

1qa

a

a

0q 1qa

}{=)( 1 aML

2M1M

}{=)( 2 aML

NFA DFA

•NFAs are interesting because we can express languages easier than DFAs

Fall 2004 COMP 335 5

Formal Definition of NFAs FqQM ,,,, 0

:Q

::0q

:F

Set of states, i.e. 210 ,, qqq

: Input aphabet, i.e. ba,

Transition function

Initial state

Final states

Fall 2004 COMP 335 6

10 1, qq

0

11,0

Transition Function

0q 1q 2q

Fall 2004 COMP 335 7

0q

0

11,0

},{)0,( 201 qqq

1q 2q

Fall 2004 COMP 335 8

0q

0

11,0

1q 2q

},{),( 200 qqq

Fall 2004 COMP 335 9

0q

0

11,0

1q 2q

)1,( 2q

Fall 2004 COMP 335 10

Extended Transition Function

*

0q

5q4q

3q2q1qa

aa

b

10 ,* qaq

Fall 2004 COMP 335 11

540 ,,* qqaaq

0q

5q4q

3q2q1qa

aa

b

Fall 2004 COMP 335 12

0320 ,,,* qqqabq

0q

5q4q

3q2q1qa

aa

b

Fall 2004 COMP 335 13

Formally

wqq ij ,* : there is a walk from to with label

iq jqw

iq jq

w

kw 211 2 k

iq jq

Fall 2004 COMP 335 14

The Language of an NFA

0q

5q4q

3q2q1qa

aa

b

540 ,,* qqaaq

M

)(MLaa

50 ,qqF

F

Fall 2004 COMP 335 15

0q

5q4q

3q2q1qa

aa

b

0320 ,,,* qqqabq MLab

50 ,qqF

F

Fall 2004 COMP 335 16

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

540 ,,* qqabaaq )(MLabaaF

Fall 2004 COMP 335 17

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

10 ,* qabaq MLabaF

Fall 2004 COMP 335 18

0q

5q4q

3q2q1qa

aa

b

}{*}{* aaababML

Fall 2004 COMP 335 19

FormallyThe language accepted by NFA is:

where

and there is some

M

,...,, 321 wwwML

},,...,,{),(* 0 kjim qqqwq

Fqk (final state)

Fall 2004 COMP 335 20

0q kq

w

w

w

),(* 0 wq MLw

Fqk

iq

jq

Fall 2004 COMP 335 21

NFA accept Regular Languages

Fall 2004 COMP 335 22

Equivalence of FA

Definition:

An FA is equivalent to FA

if that is if both accept the same language.

1M 2M

21 MLML

Fall 2004 COMP 335 23

Example of equivalent FA

0q 1q

0

1

0q 1q 2q

0

11

0

1,0

NFA

DFA

*}10{1 ML

*}10{2 ML

1M

2M

Fall 2004 COMP 335 24

We will prove:

Languages acceptedby NFA

RegularLanguages

That is, NFA and DFA have the same computation power

Languages acceptedby DFA

Fall 2004 COMP 335 25

Languages acceptedby NFA

RegularLanguages

Step 1

Proof: Every DFA is trivially an NFA

Any language accepted by a DFAis also accepted by an NFA

L

Fall 2004 COMP 335 26

Languages acceptedby NFA

RegularLanguages

Step 2

Proof: Any NFA can be converted into anequivalent DFA

Any language accepted by an NFAis also accepted by a DFA

Fall 2004 COMP 335 27

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Fall 2004 COMP 335 28

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

M

M

Fall 2004 COMP 335 29

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

M

M

Fall 2004 COMP 335 30

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

a

M

M

Fall 2004 COMP 335 31

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

M

M

Fall 2004 COMP 335 32

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

Fall 2004 COMP 335 33

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

)(MLML

Fall 2004 COMP 335 34

NFA to DFA: Remarks

We are given an NFA

We want to convert it into an equivalent DFA

That is,

M

M

)(MLML

Fall 2004 COMP 335 35

If the NFA has states

Then the DFA has states in the powerset

,...,, 210 qqq

,....,,,, 2110 qqqq

Fall 2004 COMP 335 36

Procedure NFA to DFA

1. Initial state of NFA:

Initial state of DFA:

0q

0q

Fall 2004 COMP 335 37

Example

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Fall 2004 COMP 335 38

Procedure NFA to DFA

2. For every DFA’s state

Compute in the NFA

Add the following transition to the DFA

},...,,{ mji qqq

...

,,*

,,*

aq

aq

j

i

},...,,{ mji qqq

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

Fall 2004 COMP 335 39

Example

a

b

a

0q 1q 2q

NFA

0q 21,qqa

DFA

},{),(* 210 qqaq

210 ,, qqaq

M

M

Fall 2004 COMP 335 40

Procedure NFA to DFA

Repeat step 2 for all symbols in the alphabet ∑, until no more transitions can be added.

Fall 2004 COMP 335 41

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

Fall 2004 COMP 335 42

Procedure NFA to DFA

3. For any DFA state:

If some is a final state in the NFA

Then, is a final state in the DFA

},...,,{ mji qqq

jq

},...,,{ mji qqq

Fall 2004 COMP 335 43

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

M

M

Fall 2004 COMP 335 44

Theorem Take NFA M

Apply the procedure to obtain DFA M

Then, and are equivalent:M M

MLML

Fall 2004 COMP 335 45

Proof

MLML

MLML MLML AND

Fall 2004 COMP 335 46

MLML First we show:

)(MLwTake arbitrary string :

We will prove: )(MLw

Fall 2004 COMP 335 47

)(MLw

0q fq

w

kw 211 2 k

0q fq:M

:M

Fall 2004 COMP 335 48

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

We will show that if

Fall 2004 COMP 335 49

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)

Fall 2004 COMP 335 50

0q 1a:M

}{ 0q

1a:M },{ iq

iq

Proof by induction on

The basis case: 1av

|| v

Fall 2004 COMP 335 51

Induction hypothesis: kv ||1

0q dq1a 2a ka:M iq jq cq

}{ 0q

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

kaaav 21

Fall 2004 COMP 335 52

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

Fall 2004 COMP 335 53

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

Fall 2004 COMP 335 54

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

Therefore if

Fall 2004 COMP 335 55

We have shown: MLML

We also need to show: MLML

(proof is similar)