03a nondeterministic finite accepters

75
Non Deterministic Automata

Upload: soe-chit-kaung

Post on 21-Apr-2017

230 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 03a Nondeterministic Finite Accepters

Non Deterministic Automata

Page 2: 03a Nondeterministic Finite Accepters

2

{a}• Alphabet =

Nondeterministic Finite Accepter (NFA)

0q

1q

3q

2qa

a

a

Page 3: 03a Nondeterministic Finite Accepters

3

{a}• Alphabet =

Nondeterministic Finite Accepter (NFA)

0q

1q

3q

2qa

a

a

Two choices

Page 4: 03a Nondeterministic Finite Accepters

4

{a}• Alphabet =

Nondeterministic Finite Accepter (NFA)

0q

1q

3q

2qa

a

a

Two choices

No transition

No transition

Page 5: 03a Nondeterministic Finite Accepters

5

Nondeterministic Finite Accepter (NFA)

0q

1q

3q

2qa

a

a

Input Stringa a

Page 6: 03a Nondeterministic Finite Accepters

6

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a

Page 7: 03a Nondeterministic Finite Accepters

7

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a

Page 8: 03a Nondeterministic Finite Accepters

8

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a

All input is consumed

“accept"

Page 9: 03a Nondeterministic Finite Accepters

9

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a

Page 10: 03a Nondeterministic Finite Accepters

10

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a

Page 11: 03a Nondeterministic Finite Accepters

11

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a

No further transition:the automaton hangs

Page 12: 03a Nondeterministic Finite Accepters

12

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a

The input cannot be consumed

“reject"

Page 13: 03a Nondeterministic Finite Accepters

13

NFA: Acceptance• An NFA accepts a string:

when there is a computation of the NFA that accepts the string:

• all the input is consumed and 

• the automaton is in a final state.

Page 14: 03a Nondeterministic Finite Accepters

14

Example

0q

1q

3q

2qa

a

a

is accepted by the NFA

“accept"

aa

0q

1q

3q

2qa

a

a“reject"

because this computation accepts 

Page 15: 03a Nondeterministic Finite Accepters

15

Rejection Example

0q

1q

3q

2qa

a

a

Input Stringa

Page 16: 03a Nondeterministic Finite Accepters

16

First Choice

0q

1q

3q

2qa

a

a

Input Stringa

“reject"

Page 17: 03a Nondeterministic Finite Accepters

17

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa

Page 18: 03a Nondeterministic Finite Accepters

18

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa

“reject"

Page 19: 03a Nondeterministic Finite Accepters

19

NFA: RejectionAn NFA rejects a string:

when there  is no computation of the NFA that accepts the string:

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

• the input cannot be consumed

Page 20: 03a Nondeterministic Finite Accepters

20

Example

0q

1q

3q

2qa

a

a

is rejected by the NFA

“reject"

a

0q

1q

3q

2qa

a

a“reject"

All possible computations leads to rejection 

Page 21: 03a Nondeterministic Finite Accepters

21

Rejection Example

0q

1q

3q

2qa

a

a

Input Stringa a a

Page 22: 03a Nondeterministic Finite Accepters

22

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a a

Page 23: 03a Nondeterministic Finite Accepters

23

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a a

No transition; NFA hangs

Page 24: 03a Nondeterministic Finite Accepters

24

First Choice

0q

1q

3q

2qa

a

a

Input Stringa a a

Input cannot be consumed

“reject"

Page 25: 03a Nondeterministic Finite Accepters

25

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a a

No transition; NFA hangs

Page 26: 03a Nondeterministic Finite Accepters

26

Second Choice

0q

1q

3q

2qa

a

a

Input Stringa a a

Input cannot be consumed

“reject"

Page 27: 03a Nondeterministic Finite Accepters

27

Example

0q

1q

3q

2qa

a

a

is rejected by the NFA

“reject"

aaa

0q

1q

3q

2qa

a

a“reject"

All possible computations leads to rejection 

Page 28: 03a Nondeterministic Finite Accepters

28

Language

0q

1q

3q

2qa

a

a

• Language accepted by the NFA: L {aa}

Page 29: 03a Nondeterministic Finite Accepters

29

Lambda Transitions

0q 1q 2q 3qa a

Page 30: 03a Nondeterministic Finite Accepters

30

Lambda Transitions

0q 1q 2q 3qa a

Input Stringa a

Page 31: 03a Nondeterministic Finite Accepters

31

Lambda Transitions

0q 1q 2q 3qa a

Input Stringa a

Page 32: 03a Nondeterministic Finite Accepters

32

Lambda Transitions

0q 1q 2q 3qa a

Input Stringa a

Read head does not move

Page 33: 03a Nondeterministic Finite Accepters

33

Lambda Transitions

0q 1q 2q 3qa a

Input Stringa a

Page 34: 03a Nondeterministic Finite Accepters

34

Lambda Transitions

0q 1q 2q 3qa a

Input Stringa a

String       is acceptedaa

“accept”

Page 35: 03a Nondeterministic Finite Accepters

35

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

Page 36: 03a Nondeterministic Finite Accepters

36

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

Page 37: 03a Nondeterministic Finite Accepters

37

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

Read head does not move

Page 38: 03a Nondeterministic Finite Accepters

38

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

Page 39: 03a Nondeterministic Finite Accepters

39

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

No transition; NFA hangs

Page 40: 03a Nondeterministic Finite Accepters

40

Rejection Example

0q 1q 2q 3qa a

Input Stringa a a

String        is rejectedaaa

“reject”

Page 41: 03a Nondeterministic Finite Accepters

41

Language

0q 1q 2q 3qa a

Language accepted: L {aa}

Page 42: 03a Nondeterministic Finite Accepters

42

Another NFA Example

0q 1q 2q 3qa b

Input Stringa b

Page 43: 03a Nondeterministic Finite Accepters

43

Another NFA Example

0q 1q 2q 3qa b

Input Stringa b

Page 44: 03a Nondeterministic Finite Accepters

44

Another NFA Example

0q 1q 2q 3qa b

Input Stringa b

Page 45: 03a Nondeterministic Finite Accepters

45

Another NFA Example

0q 1q 2q 3qa b

Input Stringa b

“accept”

Page 46: 03a Nondeterministic Finite Accepters

46

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 47: 03a Nondeterministic Finite Accepters

47

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 48: 03a Nondeterministic Finite Accepters

48

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 49: 03a Nondeterministic Finite Accepters

49

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 50: 03a Nondeterministic Finite Accepters

50

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 51: 03a Nondeterministic Finite Accepters

51

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 52: 03a Nondeterministic Finite Accepters

52

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

Page 53: 03a Nondeterministic Finite Accepters

53

Another NFA Example

0q 1q 2q 3qa b

Another Input Stringa b a b

“accept”

Page 54: 03a Nondeterministic Finite Accepters

54

Language Accepted

0q 1q 2q 3qa b

L ab, abab, ababab, ... ab

Page 55: 03a Nondeterministic Finite Accepters

55

Another NFA Example

0q 1q 2q10,1

0

L(M) , 10, 1010, 101010, ... 10 *

Language accepted

Page 56: 03a Nondeterministic Finite Accepters

56

Remarks

0q1M

1L(M )

• The        symbol never appears on the input tape 

• Extreme automata:

0q2M

2L(M )

Page 57: 03a Nondeterministic Finite Accepters

57

Remarks

0q

1M

1L(M ) a

0q

2M

2L(M ) a

a0q 0q

a

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

aNFA DFA

Page 58: 03a Nondeterministic Finite Accepters

58

Formal Definition of NFAs

0M Q, , , q , F

Q :

:

0q :

F :

Set of states,  i.e. 0 1 2q , q , q

: Input aplhabet, i.e. a, b

Transition function

Initial state

Final states

Page 59: 03a Nondeterministic Finite Accepters

59

0 1q ,1 q

Transition Function 

0q 1q 2q10,1

0

Page 60: 03a Nondeterministic Finite Accepters

60

1 0 2q , 0 q ,q

Transition Function 

0q 1q 2q10,1

0

Page 61: 03a Nondeterministic Finite Accepters

61

1 0 2q , q ,q

Transition Function 

0q 1q 2q10,1

0

Page 62: 03a Nondeterministic Finite Accepters

62

2q ,1

Transition Function 

0q 1q 2q10,1

0

Page 63: 03a Nondeterministic Finite Accepters

63

Extended Transition Function 

0 1q ,a q

0q 1q 2q 3qa b

4q 5q

a a

Page 64: 03a Nondeterministic Finite Accepters

64

Extended Transition Function 

0 4 5q ,aa q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 65: 03a Nondeterministic Finite Accepters

65

Extended Transition Function 

0 0 2 3q ,ab q ,q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 66: 03a Nondeterministic Finite Accepters

66

Formally

j iq q ,w

It holds

if and only if

there is a walk from        towith label 

iq jqw

Page 67: 03a Nondeterministic Finite Accepters

67

The Language of an NFA

0 4 5q ,aa q ,q

M

aa L(M)

0 5F q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 68: 03a Nondeterministic Finite Accepters

68

The Language of an NFA

0 2 3 0q ,ab q ,q ,q

M

ab L(M)

0 5F q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 69: 03a Nondeterministic Finite Accepters

69

The Language of an NFA

0 4 5q ,abaa q ,q

M

abaa L(M)

0 5F q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 70: 03a Nondeterministic Finite Accepters

70

The Language of an NFA

0 1q ,aba q

M

aba L(M)

0 5F q ,q

0q 1q 2q 3qa b

4q 5q

a a

Page 71: 03a Nondeterministic Finite Accepters

71

The Language of an NFA

L(M) {aa} {ab} {ab} aa

M

0q 1q 2q 3qa b

4q 5q

a a

Page 72: 03a Nondeterministic Finite Accepters

72

FormallyThe language accepted by NFA        is:

where

and there is some               (final state)  

M

1 2 3L M w ,w ,w ,...

0 m i j(q ,w ) {q ,q ,...}

kq F

Page 73: 03a Nondeterministic Finite Accepters

73

0q kq

w

w

w

0(q ,w) w L M

kq F

iq

jq

Formally

Page 74: 03a Nondeterministic Finite Accepters

74

1. Design an NFA for the language 

2. Design an NFA for the language 

3. Design an NFA for the language 

4. Design an NFA no more than 5 states for the language 

Exercises

Page 75: 03a Nondeterministic Finite Accepters

75

5. Construct an NFA that accepts the language ∗

6. Construct an NFA with 3 states that accepts the language 

7. Find an NFA that accepts the language 

Exercises