Non Deterministic Automata

115
Courtesy Costas Busch - R PI 1 Non Deterministic Automata

description

Non Deterministic Automata. Nondeterministic Finite Accepter (NFA). Alphabet =. Nondeterministic Finite Accepter (NFA). Alphabet =. Two choices. Nondeterministic Finite Accepter (NFA). Alphabet =. Two choices. No transition. No transition. First Choice. First Choice. First Choice. - PowerPoint PPT Presentation

Transcript of Non Deterministic Automata

Page 1: Non Deterministic Automata

Courtesy Costas Busch - RPI 1

Non Deterministic Automata

Page 2: Non Deterministic Automata

Courtesy Costas Busch - RPI 2

1q 2q

3q

a

a

a

0q

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 3: Non Deterministic Automata

Courtesy Costas Busch - RPI 3

1q 2q

3q

a

a

a

0q

Two choices

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 4: Non Deterministic Automata

Courtesy Costas Busch - RPI 4

No transition

1q 2q

3q

a

a

a

0q

Two choices No transition

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 5: Non Deterministic Automata

Courtesy Costas Busch - RPI 5

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 6: Non Deterministic Automata

Courtesy Costas Busch - RPI 6

a a

0q

1q 2q

3q

a

a

a

First Choice

Page 7: Non Deterministic Automata

Courtesy Costas Busch - RPI 7

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 8: Non Deterministic Automata

Courtesy Costas Busch - RPI 8

a a

0q

1q 2q

3q

a

a

a “accept”

First Choice

All input is consumed

Page 9: Non Deterministic Automata

Courtesy Costas Busch - RPI 9

a a

0q

1q 2q

3q

a

a

Second Choice

a

Page 10: Non Deterministic Automata

Courtesy Costas Busch - RPI 10

a a

0q

1q 2qa

a

Second Choice

a

3q

Page 11: Non Deterministic Automata

Courtesy Costas Busch - RPI 11

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:the automaton hangs

Page 12: Non Deterministic Automata

Courtesy Costas Busch - RPI 12

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

Input cannot be consumed

Page 13: Non Deterministic Automata

Courtesy Costas Busch - RPI 13

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

all the input is consumed and the automatonis in a final state

AND

Page 14: Non Deterministic Automata

Courtesy Costas Busch - RPI 14

Example

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

Page 15: Non Deterministic Automata

Courtesy Costas Busch - RPI 15

a

0q

1q 2q

3q

a

a

Rejection example

a

Page 16: Non Deterministic Automata

Courtesy Costas Busch - RPI 16

a

0q

1q 2q

3q

a

a

a

First Choice

Page 17: Non Deterministic Automata

Courtesy Costas Busch - RPI 17

a

0q

1q 2q

3q

a

a

a

First Choice

“reject”

Page 18: Non Deterministic Automata

Courtesy Costas Busch - RPI 18

Second Choice

a

0q

1q 2q

3q

a

a

a

Page 19: Non Deterministic Automata

Courtesy Costas Busch - RPI 19

Second Choice

a

0q

1q 2qa

a

a

3q

Page 20: Non Deterministic Automata

Courtesy Costas Busch - RPI 20

Second Choice

a

0q

1q 2qa

a

a

3q “reject”

Page 21: Non Deterministic Automata

Courtesy Costas Busch - RPI 21

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

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

• The input cannot be consumed

OR

Page 22: Non Deterministic Automata

Courtesy Costas Busch - RPI 22

Example

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

Page 23: Non Deterministic Automata

Courtesy Costas Busch - RPI 23

Rejection example

a a

0q

1q 2q

3q

a

a

a

a

Page 24: Non Deterministic Automata

Courtesy Costas Busch - RPI 24

a a

0q

1q 2q

3q

a

a

a

First Choice

a

Page 25: Non Deterministic Automata

Courtesy Costas Busch - RPI 25

a a

0q

1q 2q

3q

a

a

First Choice

a

a

No transition:the automaton hangs

Page 26: Non Deterministic Automata

Courtesy Costas Busch - RPI 26

a a

0q

1q 2q

3q

a

a

a “reject”

First Choice

a

Input cannot be consumed

Page 27: Non Deterministic Automata

Courtesy Costas Busch - RPI 27

a a

0q

1q 2q

3q

a

a

Second Choice

a

a

Page 28: Non Deterministic Automata

Courtesy Costas Busch - RPI 28

a a

0q

1q 2qa

a

Second Choice

a

3q

a

Page 29: Non Deterministic Automata

Courtesy Costas Busch - RPI 29

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:the automaton hangs

a

Page 30: Non Deterministic Automata

Courtesy Costas Busch - RPI 30

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

a

Input cannot be consumed

Page 31: Non Deterministic Automata

Courtesy Costas Busch - RPI 31

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

Page 32: Non Deterministic Automata

Courtesy Costas Busch - RPI 32

1q 2q

3q

a

a

a

0q

Language accepted: }{aaL

Page 33: Non Deterministic Automata

Courtesy Costas Busch - RPI 33

Lambda Transitions

1q 3qa0q

2q a

Page 34: Non Deterministic Automata

Courtesy Costas Busch - RPI 34

a a

1q 3qa0q

2q a

Page 35: Non Deterministic Automata

Courtesy Costas Busch - RPI 35

a a

1q 3qa0q

2q a

Page 36: Non Deterministic Automata

Courtesy Costas Busch - RPI 36

a a

1q 3qa0q

2q a

(read head does not move)

Page 37: Non Deterministic Automata

Courtesy Costas Busch - RPI 37

a a

1q 3qa0q

2q a

Page 38: Non Deterministic Automata

Courtesy Costas Busch - RPI 38

a a

1q 3qa0q

2q a

“accept”

String is acceptedaa

all input is consumed

Page 39: Non Deterministic Automata

Courtesy Costas Busch - RPI 39

a a

1q 3qa0q

2q a

Rejection Example

a

Page 40: Non Deterministic Automata

Courtesy Costas Busch - RPI 40

a a

1q 3qa0q

2q a

a

Page 41: Non Deterministic Automata

Courtesy Costas Busch - RPI 41

a a

1q 3qa0q

2q a

(read head doesn’t move)

a

Page 42: Non Deterministic Automata

Courtesy Costas Busch - RPI 42

a a

1q 3qa0q

2q a

a

No transition:the automaton hangs

Page 43: Non Deterministic Automata

Courtesy Costas Busch - RPI 43

a a

1q 3qa0q

2q a

“reject”

String is rejectedaaa

a

Input cannot be consumed

Page 44: Non Deterministic Automata

Courtesy Costas Busch - RPI 44

Language accepted: }{aaL

1q 3qa0q

2q a

Page 45: Non Deterministic Automata

Courtesy Costas Busch - RPI 45

Another NFA Example

0q 1q 2qa b

3q

Page 46: Non Deterministic Automata

Courtesy Costas Busch - RPI 46

a b

0q 1q 2qa b

3q

Page 47: Non Deterministic Automata

Courtesy Costas Busch - RPI 47

0q 2qa b

3q

a b

1q

Page 48: Non Deterministic Automata

Courtesy Costas Busch - RPI 48

a b

0q 1qa b

3q2q

Page 49: Non Deterministic Automata

Courtesy Costas Busch - RPI 49

a b

0q 1qa b

3q2q

“accept”

Page 50: Non Deterministic Automata

Courtesy Costas Busch - RPI 50

0qa b

a b

Another String

a b

1q 2q 3q

Page 51: Non Deterministic Automata

Courtesy Costas Busch - RPI 51

0qa b

a b a b

1q 2q 3q

Page 52: Non Deterministic Automata

Courtesy Costas Busch - RPI 52

0qa b

a b a b

1q 2q 3q

Page 53: Non Deterministic Automata

Courtesy Costas Busch - RPI 53

0qa b

a b a b

1q 2q 3q

Page 54: Non Deterministic Automata

Courtesy Costas Busch - RPI 54

0qa b

a b a b

1q 2q 3q

Page 55: Non Deterministic Automata

Courtesy Costas Busch - RPI 55

0qa b

a b a b

1q 2q 3q

Page 56: Non Deterministic Automata

Courtesy Costas Busch - RPI 56

0qa b

a b a b

1q 2q 3q

Page 57: Non Deterministic Automata

Courtesy Costas Busch - RPI 57

a b a b

0qa b

1q 2q 3q

“accept”

Page 58: Non Deterministic Automata

Courtesy Costas Busch - RPI 58

ab

ababababababL ...,,,

Language accepted

0q 1q 2qa b

3q

Page 59: Non Deterministic Automata

Courtesy Costas Busch - RPI 59

Another NFA Example

0q 1q 2q0

11,0

Page 60: Non Deterministic Automata

Courtesy Costas Busch - RPI 60

{ }{ } *10=

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

0q 1q 2q0

11,0

Language accepted

(redundant state)

Page 61: Non Deterministic Automata

Courtesy Costas Busch - RPI 61

Remarks:

•The symbol never appears on the input tape

0q2M

0q1M

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

•Simple automata:

Page 62: Non Deterministic Automata

Courtesy Costas Busch - RPI 62

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

Page 63: Non Deterministic Automata

Courtesy Costas Busch - RPI 63

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

Final states

Page 64: Non Deterministic Automata

Courtesy Costas Busch - RPI 64

10 1, qq

0

11,0

Transition Function

0q 1q 2q

Page 65: Non Deterministic Automata

Courtesy Costas Busch - RPI 65

0q

0

11,0

},{)0,( 201 qqq

1q 2q

Page 66: Non Deterministic Automata

Courtesy Costas Busch - RPI 66

0q

0

11,0

1q 2q

},{),( 200 qqq

Page 67: Non Deterministic Automata

Courtesy Costas Busch - RPI 67

0q

0

11,0

1q 2q

)1,( 2q

Page 68: Non Deterministic Automata

Courtesy Costas Busch - RPI 68

Extended Transition Function

*

0q

5q4q

3q2q1qa

aa

b

10 ,* qaq

Page 69: Non Deterministic Automata

Courtesy Costas Busch - RPI 69

540 ,,* qqaaq

0q

5q4q

3q2q1qa

aa

b

Page 70: Non Deterministic Automata

Courtesy Costas Busch - RPI 70

0320 ,,,* qqqabq

0q

5q4q

3q2q1qa

aa

b

Page 71: Non Deterministic Automata

Courtesy Costas Busch - RPI 71

Formally

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

iq jqw

iq jq

w

kw 211 2 k

iq jq

Page 72: Non Deterministic Automata

Courtesy Costas Busch - RPI 72

0q kq

w

w

w

),(* 0 wq

iq

jq

wqq ij ,*

Page 73: Non Deterministic Automata

Courtesy Costas Busch - RPI 73

Inductive Definition

},,,{,* 21 kpppxq

}{),(* qq Basis:

Induction: Suppose w = x a.

Also

Let

Then

k

imi rrrap

121 },,,{,

},,,{,* 21 mrrrwq

Page 74: Non Deterministic Automata

Courtesy Costas Busch - RPI 74

The Language of an NFA

0q

5q4q

3q2q1qa

aa

b

540 ,,* qqaaq

M

)(MLaa

50 ,qqF

F

Page 75: Non Deterministic Automata

Courtesy Costas Busch - RPI 75

0q

5q4q

3q2q1qa

aa

b

0320 ,,,* qqqabq MLab

50 ,qqF

F

Page 76: Non Deterministic Automata

Courtesy Costas Busch - RPI 76

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

540 ,,* qqabaaq )(MLaabaF

Page 77: Non Deterministic Automata

Courtesy Costas Busch - RPI 77

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

10 ,* qabaq MLabaF

Page 78: Non Deterministic Automata

Courtesy Costas Busch - RPI 78

0q

5q4q

3q2q1qa

aa

b

}{* aaabML

Page 79: Non Deterministic Automata

Courtesy Costas Busch - RPI 79

FormallyThe language accepted by NFA is:

where

and there is some

M

,...,, 321 wwwML

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

Fqk (final state)

Page 80: Non Deterministic Automata

Courtesy Costas Busch - RPI 80

0q kq

w

w

w

),(* 0 wq MLw

Fqk

iq

jq

Page 81: Non Deterministic Automata

Courtesy Costas Busch - RPI 81

NFAs accept the Regular Languages

Page 82: Non Deterministic Automata

Courtesy Costas Busch - RPI 82

Equivalence of Machines

Definition for Automata:

Machine is equivalent to machine

if

1M 2M

21 MLML

Page 83: Non Deterministic Automata

Courtesy Costas Busch - RPI 83

Example of equivalent machines

0q 1q

0

1

0q 1q 2q

0

11

0

1,0

NFA

DFA

*}10{1 ML

*}10{2 ML

1M

2M

Page 84: Non Deterministic Automata

Courtesy Costas Busch - RPI 84

We will prove:

Languages acceptedby NFAs

RegularLanguages

NFAs and DFAs have the same computation power

Languages acceptedby DFAs

Page 85: Non Deterministic Automata

Courtesy Costas Busch - RPI 85

Languages acceptedby NFAs

RegularLanguages

Step 1

Proof: Every DFA is trivially an NFA

Any language accepted by a DFAis also accepted by an NFA

L

Page 86: Non Deterministic Automata

Courtesy Costas Busch - RPI 86

Languages acceptedby NFAs

RegularLanguages

Step 2

Proof: Any NFA can be converted to anequivalent DFA

Any language accepted by an NFAis also accepted by a DFA

L

Page 87: Non Deterministic Automata

Courtesy Costas Busch - RPI 87

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Page 88: Non Deterministic Automata

Courtesy Costas Busch - RPI 88

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

M

M

Page 89: Non Deterministic Automata

Courtesy Costas Busch - RPI 89

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

M

M

Page 90: Non Deterministic Automata

Courtesy Costas Busch - RPI 90

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

a

M

M

Page 91: Non Deterministic Automata

Courtesy Costas Busch - RPI 91

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

M

M

Page 92: Non Deterministic Automata

Courtesy Costas Busch - RPI 92

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

Page 93: Non Deterministic Automata

Courtesy Costas Busch - RPI 93

Convert NFA to DFA

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

)(MLML

Page 94: Non Deterministic Automata

Courtesy Costas Busch - RPI 94

NFA to DFA: Remarks

We are given an NFA

We want to convert it to an equivalent DFA

With

),,,,( 0 NNN FqQM

)(MLML

)},{,,,( 0 DDD FqQM

Page 95: Non Deterministic Automata

Courtesy Costas Busch - RPI 95

If the NFA has n states

the DFA has 2n states in the power set of QN

i.e.

},...,,,{ 210 nN qqqqQ

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

Page 96: Non Deterministic Automata

Courtesy Costas Busch - RPI 96

Procedure NFA to DFA

1. Initial state of NFA:

Initial state of DFA:

0q

0q

Page 97: Non Deterministic Automata

Courtesy Costas Busch - RPI 97

Example

a

b

a

0q 1q 2q

NFA

DFA

0q

M

M

Page 98: Non Deterministic Automata

Courtesy Costas Busch - RPI 98

Procedure NFA to DFA

2. For every DFA’s state

Compute in the NFA

Add transition to DFA

},...,,{ mji qqq

...

,,*

,,*

aq

aq

j

i

},...,,{ mji qqq

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

Page 99: Non Deterministic Automata

Courtesy Costas Busch - RPI 99

Exampe

a

b

a

0q 1q 2q

NFA

0q 21,qqa

DFA

},{),(* 210 qqaq

210 ,, qqaq

M

M

Page 100: Non Deterministic Automata

Courtesy Costas Busch - RPI 100

Procedure NFA to DFA

Repeat Step 2 for all letters in alphabet,

untilno more transitions can be added.

Page 101: Non Deterministic Automata

Courtesy Costas Busch - RPI 101

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

M

M

Page 102: Non Deterministic Automata

Courtesy Costas Busch - RPI 102

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

Page 103: Non Deterministic Automata

Courtesy Costas Busch - RPI 103

Example

a

b

a

0q 1q 2q

NFA

DFA

0q 21,qqa

b

ab

ba,

Fq 1

Fqq 21,

M

M

Page 104: Non Deterministic Automata

Courtesy Costas Busch - RPI 104

Theorem Take NFA M

Apply procedure to obtain DFA M

Then and are equivalent :M M

MLML

Page 105: Non Deterministic Automata

Courtesy Costas Busch - RPI 105

Proof

MLML

MLML MLML AND

Page 106: Non Deterministic Automata

Courtesy Costas Busch - RPI 106

MLML First we show:

)(MLwTake arbitrary:

We will prove: )(MLw

Page 107: Non Deterministic Automata

Courtesy Costas Busch - RPI 107

)(MLw

0q fq

w

kw 211 2 k

0q fq:M

:M

Page 108: Non Deterministic Automata

Courtesy Costas Busch - RPI 108

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

We will show that if

Page 109: Non Deterministic Automata

Courtesy Costas Busch - RPI 109

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)

Page 110: Non Deterministic Automata

Courtesy Costas Busch - RPI 110

0q 1a:M

}{ 0q

1a:M },{ iq

iq

Proof by induction on

Induction Basis: 1av

|| v

Page 111: Non Deterministic Automata

Courtesy Costas Busch - RPI 111

Induction hypothesis: kv ||1

0q dq1a 2a ka:M iq jq cq

}{ 0q

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

kaaav 21

Page 112: Non Deterministic Automata

Courtesy Costas Busch - RPI 112

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 113: Non Deterministic Automata

Courtesy Costas Busch - RPI 113

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 114: Non Deterministic Automata

Courtesy Costas Busch - RPI 114

0q fq

kw 211 2 k

:M

}{ 0q

1 2 k:M

},{ fq

)(MLw

)(MLw

Therefore if

Page 115: Non Deterministic Automata

Courtesy Costas Busch - RPI 115

We have shown: MLML

We also need to show: MLML

(proof is similar)