NonDeterministic Finite Automata 1 Nondeterministic Finite Automaton NFA

  • Slides: 104
Download presentation
Non-Deterministic Finite Automata 1

Non-Deterministic Finite Automata 1

Nondeterministic Finite Automaton (NFA) Alphabet = 2

Nondeterministic Finite Automaton (NFA) Alphabet = 2

Alphabet = Two choices 3

Alphabet = Two choices 3

Alphabet = Two choices No transition 4

Alphabet = Two choices No transition 4

First Choice 5

First Choice 5

First Choice 6

First Choice 6

First Choice All input is consumed “accept” 7

First Choice All input is consumed “accept” 7

Second Choice 8

Second Choice 8

Second Choice Input cannot be consumed Automaton Halts “reject” 9

Second Choice Input cannot be consumed Automaton Halts “reject” 9

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

An NFA accepts a string: if there is a computation of the NFA that accepts the string i. e. , all the input string is processed and the automaton is in an accepting state 10

is accepted by the NFA: “accept” because this computation accepts “reject” this computation is

is accepted by the NFA: “accept” because this computation accepts “reject” this computation is ignored 11

Rejection example 12

Rejection example 12

First Choice “reject” 13

First Choice “reject” 13

Second Choice 14

Second Choice 14

Second Choice “reject” 15

Second Choice “reject” 15

Another Rejection example 16

Another Rejection example 16

First Choice 17

First Choice 17

First Choice Input cannot be consumed “reject” Automaton halts 18

First Choice Input cannot be consumed “reject” Automaton halts 18

Second Choice 19

Second Choice 19

Second Choice Input cannot be consumed Automaton halts “reject” 20

Second Choice Input cannot be consumed Automaton halts “reject” 20

An NFA rejects a string: if there is no computation of the NFA that

An NFA rejects a string: if there is no computation of the NFA that accepts the string. For each computation: • All the input is consumed and the automaton is in a non final state OR • The input cannot be consumed 21

is rejected by the NFA: “reject” All possible computations lead to rejection 22

is rejected by the NFA: “reject” All possible computations lead to rejection 22

is rejected by the NFA: “reject” All possible computations lead to rejection 23

is rejected by the NFA: “reject” All possible computations lead to rejection 23

Language accepted: 24

Language accepted: 24

Lambda Transitions 25

Lambda Transitions 25

26

26

27

27

input tape head does not move 28

input tape head does not move 28

all input is consumed “accept” String is accepted 29

all input is consumed “accept” String is accepted 29

Rejection Example 30

Rejection Example 30

31

31

(read head doesn’t move) 32

(read head doesn’t move) 32

Input cannot be consumed Automaton halts “reject” String is rejected 33

Input cannot be consumed Automaton halts “reject” String is rejected 33

Language accepted: 34

Language accepted: 34

Another NFA Example 35

Another NFA Example 35

36

36

37

37

“accept” 38

“accept” 38

Another String 39

Another String 39

40

40

41

41

42

42

43

43

44

44

“accept” 45

“accept” 45

Language accepted 46

Language accepted 46

Another NFA Example 47

Another NFA Example 47

Language accepted (redundant state) 48

Language accepted (redundant state) 48

Remarks: • The symbol never appears on the input tape • Simple automata: 49

Remarks: • The symbol never appears on the input tape • Simple automata: 49

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

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

Formal Definition of NFAs Set of states, i. e. Input aplhabet, i. e. Transition

Formal Definition of NFAs Set of states, i. e. Input aplhabet, i. e. Transition function Initial state Accepting states 51

Transition Function resulting states with following one transition with symbol 52

Transition Function resulting states with following one transition with symbol 52

53

53

54

54

55

55

56

56

Extended Transition Function Same with but applied on strings 57

Extended Transition Function Same with but applied on strings 57

58

58

59

59

Special case: for any state 60

Special case: for any state 60

In general : there is a walk from with label to 61

In general : there is a walk from with label to 61

The Language of an NFA The language accepted by is: where and there is

The Language of an NFA The language accepted by is: where and there is some (accepting state) 62

63

63

64

64

65

65

66

66

67

67

68

68

NFAs accept the Regular Languages 69

NFAs accept the Regular Languages 69

Equivalence of Machines Definition: Machine is equivalent to machine if 70

Equivalence of Machines Definition: Machine is equivalent to machine if 70

Example of equivalent machines NFA DFA 71

Example of equivalent machines NFA DFA 71

Theorem: Languages accepted by NFAs Regular Languages accepted by DFAs NFAs and DFAs have

Theorem: Languages accepted by NFAs Regular Languages accepted by DFAs NFAs and DFAs have the same computation power, accept the same set of languages 72

Proof: we only need to show Languages accepted by NFAs Regular Languages AND Languages

Proof: we only need to show Languages accepted by NFAs Regular Languages AND Languages accepted by NFAs Regular Languages 73

Proof-Step 1 Languages accepted by NFAs Regular Languages Every DFA is trivially an NFA

Proof-Step 1 Languages accepted by NFAs Regular Languages Every DFA is trivially an NFA Any language accepted by a DFA is also accepted by an NFA 74

Proof-Step 2 Languages accepted by NFAs Regular Languages Any NFA can be converted to

Proof-Step 2 Languages accepted by NFAs Regular Languages Any NFA can be converted to an equivalent DFA Any language accepted by an NFA is also accepted by a DFA 75

Conversion NFA to DFA NFA DFA 76

Conversion NFA to DFA NFA DFA 76

NFA DFA 77

NFA DFA 77

empty set NFA DFA trap state 78

empty set NFA DFA trap state 78

NFA union DFA 79

NFA union DFA 79

NFA union DFA 80

NFA union DFA 80

NFA DFA trap state 81

NFA DFA trap state 81

END OF CONSTRUCTION NFA DFA 82

END OF CONSTRUCTION NFA DFA 82

General Conversion Procedure Input: an NFA Output: an equivalent DFA with 83

General Conversion Procedure Input: an NFA Output: an equivalent DFA with 83

The NFA has states The DFA has states from the power set 84

The NFA has states The DFA has states from the power set 84

Conversion Procedure Steps step 1. Initial state of NFA: Initial state of DFA: 85

Conversion Procedure Steps step 1. Initial state of NFA: Initial state of DFA: 85

Example NFA DFA 86

Example NFA DFA 86

step 2. For every DFA’s state compute in the NFA Union add transition to

step 2. For every DFA’s state compute in the NFA Union add transition to DFA 87

Example NFA DFA 88

Example NFA DFA 88

step 3. Repeat Step 2 for every state in DFA and symbols in alphabet

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

Example NFA DFA 90

Example NFA DFA 90

step 4. For any DFA state if some is accepting state in NFA Then,

step 4. For any DFA state if some is accepting state in NFA Then, is accepting state in DFA 91

Example NFA DFA 92

Example NFA DFA 92

Lemma: If we convert NFA to DFA then the two automata are equivalent: Proof:

Lemma: If we convert NFA to DFA then the two automata are equivalent: Proof: We only need to show: AND 93

First we show: We only need to prove: 94

First we show: We only need to prove: 94

NFA Consider symbols 95

NFA Consider symbols 95

symbol denotes a possible sub-path like symbol 96

symbol denotes a possible sub-path like symbol 96

We will show that if NFA then DFA state label 97

We will show that if NFA then DFA state label 97

More generally, we will show that if in : (arbitrary string) NFA then DFA

More generally, we will show that if in : (arbitrary string) NFA then DFA 98

Proof by induction on Induction Basis: NFA DFA is true by construction of 99

Proof by induction on Induction Basis: NFA DFA is true by construction of 99

Induction hypothesis: Suppose that the following hold NFA DFA 100

Induction hypothesis: Suppose that the following hold NFA DFA 100

Induction Step: Then this is true by construction of NFA DFA 101

Induction Step: Then this is true by construction of NFA DFA 101

Therefore if NFA then DFA 102

Therefore if NFA then DFA 102

We have shown: With a similar proof we can show: Therefore: END OF LEMMA

We have shown: With a similar proof we can show: Therefore: END OF LEMMA PROOF 103

 ﺍﻟﻤﻤﻠﻜﺔ ﺍﻟﻌﺮﺑﻴﺔ ﺍﻟﺴﻌﻮﺩﻳﺔ ﻭﺯﺍﺭﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺟﺎﻣﻌﺔ ﺃﻢ ﺍﻟﻘﺮﻯ ﺍﻟﻜﻠﻴﺔ ﺍﻟﺠﺎﻣﻌﻴﺔ ﺃﻀﻢ ﻗﺴﻢ ﺍﻟﺤﺎﺳﺐ

ﺍﻟﻤﻤﻠﻜﺔ ﺍﻟﻌﺮﺑﻴﺔ ﺍﻟﺴﻌﻮﺩﻳﺔ ﻭﺯﺍﺭﺓ ﺍﻟﺘﻌﻠﻴﻢ ﺟﺎﻣﻌﺔ ﺃﻢ ﺍﻟﻘﺮﻯ ﺍﻟﻜﻠﻴﺔ ﺍﻟﺠﺎﻣﻌﻴﺔ ﺃﻀﻢ ﻗﺴﻢ ﺍﻟﺤﺎﺳﺐ ﺍﻵﻠﻲ Kingdom of Saudi Arabia Ministry of Education Umm Al. Qura University Adam University College Computer Science Department This Summary is an Online Content from this Book: Michael Sipser, Introduction to the Theory of Computation, 2 nd. Edition It is edited for Computation Theory Course 68034153 by: T. Mariah Sami Khayat Teacher Assistant @ Adam University College For Contacting: mskhayat@uqu. edu. sa 104