Non Deterministic Automata

85
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

1

Non Deterministic Automata

Page 2: Non Deterministic Automata

2

1q 2q

3q

a

a

a

0q

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 3: Non Deterministic Automata

3

1q 2q

3q

a

a

a

0q

Two choices

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 4: Non Deterministic Automata

4

No transition

1q 2q

3q

a

a

a

0q

Two choices No transition

}{aAlphabet =

Nondeterministic Finite Accepter (NFA)

Page 5: Non Deterministic Automata

5

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 6: Non Deterministic Automata

6

a a

0q

1q 2q

3q

a

a

a

First Choice

Page 7: Non Deterministic Automata

7

a a

0q

1q 2q

3q

a

a

First Choice

a

Page 8: Non Deterministic Automata

8

a a

0q

1q 2q

3q

a

a

a “accept”

First Choice

All input is consumed

Page 9: Non Deterministic Automata

9

a a

0q

1q 2q

3q

a

a

Second Choice

a

Page 10: Non Deterministic Automata

10

a a

0q

1q 2qa

a

Second Choice

a

3q

Page 11: Non Deterministic Automata

11

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:the automaton hangs

Page 12: Non Deterministic Automata

12

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

Input cannot be consumed

Page 13: Non Deterministic Automata

13

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

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

Page 14: Non Deterministic Automata

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

15

a

0q

1q 2q

3q

a

a

Rejection example

a

Page 16: Non Deterministic Automata

16

a

0q

1q 2q

3q

a

a

a

First Choice

Page 17: Non Deterministic Automata

17

a

0q

1q 2q

3q

a

a

a

First Choice

“reject”

Page 18: Non Deterministic Automata

18

Second Choice

a

0q

1q 2q

3q

a

a

a

Page 19: Non Deterministic Automata

19

Second Choice

a

0q

1q 2qa

a

a

3q

Page 20: Non Deterministic Automata

20

Second Choice

a

0q

1q 2qa

a

a

3q “reject”

Page 21: Non Deterministic Automata

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

Page 22: Non Deterministic Automata

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

23

Rejection example

a a

0q

1q 2q

3q

a

a

a

a

Page 24: Non Deterministic Automata

24

a a

0q

1q 2q

3q

a

a

a

First Choice

a

Page 25: Non Deterministic Automata

25

a a

0q

1q 2q

3q

a

a

First Choice

a

a

No transition:the automaton hangs

Page 26: Non Deterministic Automata

26

a a

0q

1q 2q

3q

a

a

a “reject”

First Choice

a

Input cannot be consumed

Page 27: Non Deterministic Automata

27

a a

0q

1q 2q

3q

a

a

Second Choice

a

a

Page 28: Non Deterministic Automata

28

a a

0q

1q 2qa

a

Second Choice

a

3q

a

Page 29: Non Deterministic Automata

29

a a

0q

1q 2qa

a

a

3q

Second Choice

No transition:the automaton hangs

a

Page 30: Non Deterministic Automata

30

a a

0q

1q 2qa

a

a

3q

Second Choice

“reject”

a

Input cannot be consumed

Page 31: Non Deterministic Automata

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

32

1q 2q

3q

a

a

a

0q

Language accepted: }{aaL

Page 33: Non Deterministic Automata

33

Lambda Transitions

1q 3qa0q

2q a

Page 34: Non Deterministic Automata

34

a a

1q 3qa0q

2q a

Page 35: Non Deterministic Automata

35

a a

1q 3qa0q

2q a

Page 36: Non Deterministic Automata

36

a a

1q 3qa0q

2q a

(read head doesn’t move)

Page 37: Non Deterministic Automata

37

a a

1q 3qa0q

2q a

Page 38: Non Deterministic Automata

38

a a

1q 3qa0q

2q a

“accept”

String is acceptedaa

all input is consumed

Page 39: Non Deterministic Automata

39

a a

1q 3qa0q

2q a

Rejection Example

a

Page 40: Non Deterministic Automata

40

a a

1q 3qa0q

2q a

a

Page 41: Non Deterministic Automata

41

a a

1q 3qa0q

2q a

(read head doesn’t move)

a

Page 42: Non Deterministic Automata

42

a a

1q 3qa0q

2q a

a

No transition:the automaton hangs

Page 43: Non Deterministic Automata

43

a a

1q 3qa0q

2q a

“reject”

String is rejectedaaa

a

Input cannot be consumed

Page 44: Non Deterministic Automata

44

Language accepted: }{aaL

1q 3qa0q

2q a

Page 45: Non Deterministic Automata

45

Another NFA Example

0q 1q 2qa b

3q

Page 46: Non Deterministic Automata

46

a b

0q 1q 2qa b

3q

Page 47: Non Deterministic Automata

47

0q 2qa b

3q

a b

1q

Page 48: Non Deterministic Automata

48

a b

0q 1qa b

3q2q

Page 49: Non Deterministic Automata

49

a b

0q 1qa b

3q2q

“accept”

Page 50: Non Deterministic Automata

50

0qa b

a b

Another String

a b

1q 2q 3q

Page 51: Non Deterministic Automata

51

0qa b

a b a b

1q 2q 3q

Page 52: Non Deterministic Automata

52

0qa b

a b a b

1q 2q 3q

Page 53: Non Deterministic Automata

53

0qa b

a b a b

1q 2q 3q

Page 54: Non Deterministic Automata

54

0qa b

a b a b

1q 2q 3q

Page 55: Non Deterministic Automata

55

0qa b

a b a b

1q 2q 3q

Page 56: Non Deterministic Automata

56

0qa b

a b a b

1q 2q 3q

Page 57: Non Deterministic Automata

57

a b a b

0qa b

1q 2q 3q

“accept”

Page 58: Non Deterministic Automata

58

ab

ababababababL ...,,,

Language accepted

0q 1q 2qa b

3q

Page 59: Non Deterministic Automata

59

Another NFA Example

0q 1q 2q0

11,0

Page 60: Non Deterministic Automata

60

{ }{ }*10=

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

0q 1q 2q0

11,0

Language accepted

Page 61: Non Deterministic Automata

61

Remarks:

•The symbol never appears on the input tape

0q2M

0q1M

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

•Extreme automata:

Page 62: Non Deterministic Automata

62

0q

2q

1qa

a 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

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

64

10 1, qq

0

11,0

Transition Function

0q 1q 2q

Page 65: Non Deterministic Automata

65

0q

0

11,0

},{)0,( 201 qqq

1q 2q

Page 66: Non Deterministic Automata

66

0q

0

11,0

1q 2q

},{),( 200 qqq

Page 67: Non Deterministic Automata

67

0q

0

11,0

1q 2q

)1,( 2q

Page 68: Non Deterministic Automata

68

Extended Transition Function

*

0q

5q4q

3q2q1qa

aa

b

10 ,* qaq

Page 69: Non Deterministic Automata

69

540 ,,* qqaaq

0q

5q4q

3q2q1qa

aa

b

Page 70: Non Deterministic Automata

70

0320 ,,,* qqqabq

0q

5q4q

3q2q1qa

aa

b

Page 71: Non Deterministic Automata

71

Formally

wqq ij ,*It holds

if and only if

there is a walk from towith label

iq jqw

Page 72: Non Deterministic Automata

72

The Language of an NFA

0q

5q4q

3q2q1qa

aa

b

540 ,,* qqaaq

M

)(MLaa

50 ,qqF

Page 73: Non Deterministic Automata

73

0q

5q4q

3q2q1qa

aa

b

0320 ,,,* qqqabq MLab

50 ,qqF

Page 74: Non Deterministic Automata

74

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

540 ,,* qqabaaq )(MLaaba

Page 75: Non Deterministic Automata

75

0q

5q4q

3q2q1qa

aa

b

50 ,qqF

10 ,* qabaq MLaba

Page 76: Non Deterministic Automata

76

0q

5q4q

3q2q1qa

aa

b

aaababaaML *

Page 77: Non Deterministic Automata

77

FormallyThe language accepted by NFA is:

where

and there is some

M

,...,, 321 wwwML

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

Fqk (final state)

Page 78: Non Deterministic Automata

78

0q kq

w

w

w

),(* 0 wq MLw

Fqk

iq

jq

Page 79: Non Deterministic Automata

79

Equivalence of NFAs and DFAs

Page 80: Non Deterministic Automata

80

Equivalence of Machines

For DFAs or NFAs:

Machine is equivalent to machine

if

1M 2M

21 MLML

Page 81: Non Deterministic Automata

81

Example

0q 1q 2q

0

11,0

0q 1q 2q

0

11

0

1,0

NFA

DFA

*}10{1 ML

*}10{2 ML

1M

2M

Page 82: Non Deterministic Automata

82

Since

machines and are equivalent

*1021 MLML

1M 2M

0q 1q 2q

0

11,0

0q 1q 2q

0

11

0

1,0

DFA

NFA 1M

2M

Page 83: Non Deterministic Automata

83

Equivalence of NFAs and DFAs

Question: NFAs = DFAs ?

Same power?Accept the same languages?

Page 84: Non Deterministic Automata

84

Equivalence of NFAs and DFAs

Question: NFAs = DFAs ?

Same power?Accept the same languages?

YES!

Page 85: Non Deterministic Automata

85

Languages acceptedby NFAs

Languages acceptedby DFAs

Regular LanguagesRegular Languages

Thus, NFAs accept the regular languages