costas busch - lsu1 non-deterministic finite automata

102
Costas Busch - LSU 1 Non-Deterministic Finite Automata

Upload: brett-allen

Post on 22-Dec-2015

256 views

Category:

Documents


5 download

TRANSCRIPT

Costas Busch - LSU 1

Non-Deterministic Finite Automata

Costas Busch - LSU 2

1q 2q

3q

a

a

a

0q

}{aAlphabet =

Nondeterministic Finite Automaton (NFA)

Costas Busch - LSU 3

No transition

1q 2q

3q

a

a

a

0q

Two choices No transition

}{aAlphabet =

Costas Busch - LSU 4

a a

0q

1q 2q

3q

a

a

First Choice

a

Costas Busch - LSU 5

a a

0q

1q 2q

3q

a

a

a

First Choice

Costas Busch - LSU 6

a a

0q

1q 2q

3q

a

a

a “accept”

First Choice

All input is consumed

Costas Busch - LSU 7

a a

0q

1q 2q

3q

a

a

Second Choice

a

Costas Busch - LSU 8

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

Input cannot be consumed

Automaton Halts

Costas Busch - LSU 9

An NFA accepts a string:if there is a computation of the NFAthat accepts the string

i.e., all the input string is processed and the automaton is in an accepting state

Costas Busch - LSU 10

aa is accepted by the NFA:

0q

1q 2q

3q

a

a

a

“accept”

0q

1q 2qa

a

a

3q “reject”because this computationaccepts aa

this computationis ignored

Costas Busch - LSU 11

a

0q

1q 2q

3q

a

a

Rejection example

a

Costas Busch - LSU 12

a

0q

1q 2q

3q

a

a

a

First Choice

“reject”

Costas Busch - LSU 13

Second Choice

a

0q

1q 2q

3q

a

a

a

Costas Busch - LSU 14

Second Choice

a

0q

1q 2qa

a

a

3q “reject”

Costas Busch - LSU 15

Another Rejection example

a a

0q

1q 2q

3q

a

a

a

a

Costas Busch - LSU 16

a a

0q

1q 2q

3q

a

a

a

First Choice

a

Costas Busch - LSU 17

a a

0q

1q 2q

3q

a

a

a “reject”

First Choice

a

Input cannot be consumed

Automaton halts

Costas Busch - LSU 18

a a

0q

1q 2q

3q

a

a

Second Choice

a

a

Costas Busch - LSU 19

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

a

Input cannot be consumed

Automaton halts

Costas Busch - LSU 20

An NFA rejects a string:if there is no computation of the NFAthat accepts the string.

• All the input is consumed and the automaton is in a non accepting state

• The input cannot be consumed

OR

For each computation:

Costas Busch - LSU 21

a is rejected by the NFA:

0q

1q 2qa

a

a

3q “reject”

0q

1q 2qa

a

a

3q

“reject”

All possible computations lead to rejection

Costas Busch - LSU 22

aaais rejected by the NFA:

0q

1q 2q

3q

a

a

a

“reject”

0q

1q 2qa

a

a

3q “reject”

All possible computations lead to rejection

Costas Busch - LSU 23

1q 2q

3q

a

a

a

0q

Language accepted: }{aaL

Costas Busch - LSU 24

Lambda Transitions

1q 3qa0q

2q a

Costas Busch - LSU 25

a a

1q 3qa0q

2q a

Costas Busch - LSU 26

a a

1q 3qa0q

2q a

Costas Busch - LSU 27

a a

1q 3qa0q

2q a

input tape head does not move

Automaton changes state

Costas Busch - LSU 28

a a

1q 3qa0q

2q a

“accept”

String is acceptedaa

all input is consumed

Costas Busch - LSU 29

a a

1q 3qa0q

2q a

Rejection Example

a

Costas Busch - LSU 30

a a

1q 3qa0q

2q a

a

Costas Busch - LSU 31

a a

1q 3qa0q

2q a

(read head doesn’t move)

a

Costas Busch - LSU 32

a a

1q 3qa0q

2q a

“reject”

String is rejectedaaa

a

Input cannot be consumed

Automaton halts

Costas Busch - LSU 33

Language accepted: }{aaL

1q 3qa0q

2q a

Costas Busch - LSU 34

Another NFA Example

0q 1q 2qa b

3q

Costas Busch - LSU 35

a b

0q 1q 2qa b

3q

Costas Busch - LSU 36

0q 2qa b

3q

a b

1q

Costas Busch - LSU 37

a b

0q 1qa b

3q2q

“accept”

Costas Busch - LSU 38

0qa b

a b

Another String

a b

1q 2q 3q

Costas Busch - LSU 39

0qa b

a b a b

1q 2q 3q

Costas Busch - LSU 40

0qa b

a b a b

1q 2q 3q

Costas Busch - LSU 41

0qa b

a b a b

1q 2q 3q

Costas Busch - LSU 42

0qa b

a b a b

1q 2q 3q

Costas Busch - LSU 43

0qa b

a b a b

1q 2q 3q

Costas Busch - LSU 44

a b a b

0qa b

1q 2q 3q

“accept”

Costas Busch - LSU 45

ab

ababababababL ...,,,

Language accepted

0q 1q 2qa b

3q

Costas Busch - LSU 46

Another NFA Example

0q 1q 2q0

11,0

Costas Busch - LSU 47

*10

...,101010,1010,10,)(

ML

0q 1q 2q0

11,0

Language accepted

(redundant state)

Costas Busch - LSU 48

Remarks:

•The symbol never appears on the input tape

0q2M

0q1M

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

•Simple automata:

Costas Busch - LSU 49

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

Costas Busch - LSU 50

Formal Definition of NFAs FqQM ,,,, 0

:Q

::0q

:F

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

: Input aplhabet, i.e. ba,

Transition function

Initial state

Accepting states

Costas Busch - LSU 51

kqqqxq ,,,, 21

Transition Function

q

1q

2q

kq

x

x

x

resulting states with following one transition with symbol x

Costas Busch - LSU 52

10 1, qq

0

11,0

0q 1q 2q

States reachable from scanning 0q 1

Costas Busch - LSU 53

0q

0

11,0

},{)0,( 201 qqq

1q 2q

States reachable from scanning 1q 0

Costas Busch - LSU 54

0q

0

11,0

1q 2q

},{),( 200 qqq

States reachable from scanning nothing 0q

Costas Busch - LSU 55

0q

0

11,0

1q 2q

)1,( 2q

States reachable from scanning 2q 1

Costas Busch - LSU 56

Extended Transition Function

*

0q

5q4q

3q2q1qa

aa

b

10* , qaq

Same with but applied on strings

Costas Busch - LSU 57

540* ,, qqaaq

0q

5q4q

3q2q1qa

aa

b

States reachable from scanning 0q aa

Costas Busch - LSU 58

0320* ,,, qqqabq

0q

5q4q

3q2q1qa

aa

b

States reachable from scanning 0q ab

Costas Busch - LSU 59

Special case:

,* qq

for any state q

Costas Busch - LSU 60

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

iq jqw

iq jq

w

kw 211 2 k

iq jq

In general

Costas Busch - LSU 61

The Language of an NFAMThe language accepted by is:

Where for each

and there is some

M nwwwML ,...,, 21

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

jkim qqqwq

Fqk (accepting state)

mw

Costas Busch - LSU 62

0q kqmw

),( 0*

mwq MLwm

Fqk

iq

jq

mw

mw

Costas Busch - LSU 63

0q

5q4q

3q2q1qa

aa

b

540* ,, qqaaq )(MLaa

50 ,qqF

F

Costas Busch - LSU 64

0q

5q4q

3q2q1qa

aa

b

0320* ,,, qqqabq MLab

50 ,qqF

F

Costas Busch - LSU 65

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

540* ,, qqabaaq )(MLabaa

F

Costas Busch - LSU 66

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

10* , qabaq MLaba

F

Costas Busch - LSU 67

0q

5q4q

3q2q1qa

aa

b

}{** aaababML

Costas Busch - LSU 68

NFAs accept the Regular Languages

Costas Busch - LSU 69

Equivalence of Machines

Definition:

Machine is equivalent to machine

if

1M 2M

21 MLML

Costas Busch - LSU 70

0q 1q

0

1

0q 1q 2q

0

11

0

1,0

NFA

DFA

*}10{1 ML

*}10{2 ML

1M

2M

Example of equivalent machines

Costas Busch - LSU 71

Theorem:

Languages acceptedby NFAs

RegularLanguages

NFAs and DFAs have the same computation power,namely, they accept the same set of languages

Languages acceptedby DFAs

Costas Busch - LSU 72

Languages acceptedby NFAs

RegularLanguages

Languages acceptedby NFAs

RegularLanguages

we need to showProof:

AND

Costas Busch - LSU 73

Languages acceptedby NFAs

RegularLanguages

Proof-Step 1

Every DFA is trivially a NFA

Any language accepted by a DFAis also accepted by a NFA

L

Costas Busch - LSU 74

Languages acceptedby NFAs

RegularLanguages

Proof-Step 2

Any NFA can be converted to anequivalent DFA

Any language accepted by a NFAis also accepted by a DFA

L

Costas Busch - LSU 75

Conversion of NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Costas Busch - LSU 76

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

M

M

},{),( 210* qqaq

Costas Busch - LSU 77

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

M

M

),( 0* bq empty set

trap state

Costas Busch - LSU 78

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

a

M

M

},{),( 211* qqaq

),( 2* aq

21,qq

union

Costas Busch - LSU 79

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

M

M

}{),( 01* qbq

}{),( 02* qbq

0q

union

Costas Busch - LSU 80

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

trap state

Costas Busch - LSU 81

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

END OF CONSTRUCTION

Fq 1

Fqq 21,

Costas Busch - LSU 82

General Conversion Procedure

Input: an NFA

Output: an equivalent DFAwith

M

M )(MLML

Costas Busch - LSU 83

The NFA has states

The DFA has states from the power set

,...,, 210 qqq

....,,,,,,,, 3211010 qqqqqqq

Costas Busch - LSU 84

1. Initial state of NFA:

Initial state of DFA:

0q

,, 00* qq

Conversion Procedure Steps

step

,0q

Costas Busch - LSU 85

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Example 00* , qq

Costas Busch - LSU 86

2. For every DFA’s state

compute in the NFA

add transition to DFA

},...,,{ mji qqq

aq

aq

aq

m

j

i

,*

...

,*

,*

},...,,{ nlk qqq

},...,,{},,...,,{ nlkmji qqqaqqq

Union

step

Costas Busch - LSU 87

a

b

a

0q 1q 2q

NFA

0q 21,qqa

DFA

},{),(* 210 qqaq

210 ,, qqaq

M

M

Example

Costas Busch - LSU 88

3. Repeat Step 2 for every state in DFA and symbols in alphabet until no more states can be added in the DFA

step

Costas Busch - LSU 89

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

Example

Costas Busch - LSU 90

4. For any DFA state

if some is accepting state in NFA

Then, is accepting state in DFA

},...,,{ mji qqq

jq

},...,,{ mji qqq

step

Costas Busch - LSU 91

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

M

M

Example

Costas Busch - LSU 92

If we convert NFA to DFAthen the two automata are equivalent:

M

MLML

M Lemma:

Proof:

MLML

MLML AND

We need to show:

Costas Busch - LSU 93

MLML First we show:

)(MLw

We only need to prove:

)(MLw

Costas Busch - LSU 94

)(MLw

w

kw 21

0q fq

0q fq1 2 k

symbols

Consider

NFA

Costas Busch - LSU 95

i

i

denotes a possible sub-path like

iq jq

iq jq

symbol

symbol

Costas Busch - LSU 96

0q fq

kw 211 2 k

:M

},{ 0 q

1 2 k:M

},{ fq

)(MLw

)(MLw

We will show that if

then

NFA

DFA

state label

state label

Costas Busch - LSU 97

0q mq

naaav 211a 2a na:M

1a 2a na:M },{ iq

iq jq lq

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

More generally, we will show that if in :M

(arbitrary string)

then

NFA

DFA},{ 0 q

Costas Busch - LSU 98

0q 1a:M

1a:M },{ iq

iq

Proof by induction on

Induction Basis: 1av

|| v

is true by construction of M

NFA

DFA

1|| v

},{ 0 q

Costas Busch - LSU 99

Induction hypothesis: kv ||1

0q dq1a 2a ka:M iq jq cq

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

kaaav 21

NFA

DFA

Suppose that the following hold

},{ 0 q

Costas Busch - LSU 100

Induction Step: 1|| kv

0q dq1a 2a ka:M iq jq cq

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

1121

kk

v

k avaaaav

v

v

eq1ka

1ka

},{ eq

NFA

DFA

Then this is true by construction ofM

},{ 0 q

Costas Busch - LSU 101

0q fq

kw 211 2 k

:M

1 2 k:M

},{ fq

)(MLw

)(MLw

Therefore if

NFA

DFA

then

},{ 0 q

Costas Busch - LSU 102

We have shown: MLML

With a similar proof we can show: MLML

END OF PROOF

MLML Therefore: