# NonDeterministic Finite Automata Prof Busch LSU 1 Nondeterministic

Non-Deterministic Finite Automata Prof. Busch - LSU 1

Nondeterministic Finite Automaton (NFA) Alphabet = Prof. Busch - LSU 2

Alphabet = Two choices No transition Prof. Busch - LSU 3

First Choice Prof. Busch - LSU 4

First Choice Prof. Busch - LSU 5

First Choice All input is consumed “accept” Prof. Busch - LSU 6

Second Choice Prof. Busch - LSU 7

Second Choice Input cannot be consumed Automaton Halts “reject” Prof. Busch - LSU 8

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 Prof. Busch - LSU 9

is accepted by the NFA: “accept” because this computation accepts “reject” this computation is ignored Prof. Busch - LSU 10

Rejection example Prof. Busch - LSU 11

First Choice “reject” Prof. Busch - LSU 12

Second Choice Prof. Busch - LSU 13

Second Choice “reject” Prof. Busch - LSU 14

Another Rejection example Prof. Busch - LSU 15

First Choice Prof. Busch - LSU 16

First Choice Input cannot be consumed “reject” Automaton halts Prof. Busch - LSU 17

Second Choice Prof. Busch - LSU 18

Second Choice Input cannot be consumed Automaton halts “reject” Prof. Busch - LSU 19

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 accepting state OR • The input cannot be consumed Prof. Busch - LSU 20

is rejected by the NFA: “reject” All possible computations lead to rejection Prof. Busch - LSU 21

is rejected by the NFA: “reject” All possible computations lead to rejection Prof. Busch - LSU 22

Language accepted: Prof. Busch - LSU 23

Lambda Transitions Prof. Busch - LSU 24

Prof. Busch - LSU 25

Prof. Busch - LSU 26

input tape head does not move Automaton changes state Prof. Busch - LSU 27

all input is consumed “accept” String is accepted Prof. Busch - LSU 28

Rejection Example Prof. Busch - LSU 29

Prof. Busch - LSU 30

(read head doesn’t move) Prof. Busch - LSU 31

Input cannot be consumed Automaton halts “reject” String is rejected Prof. Busch - LSU 32

Language accepted: Prof. Busch - LSU 33

Another NFA Example Prof. Busch - LSU 34

Prof. Busch - LSU 35

Prof. Busch - LSU 36

“accept” Prof. Busch - LSU 37

Another String Prof. Busch - LSU 38

Prof. Busch - LSU 39

Prof. Busch - LSU 40

Prof. Busch - LSU 41

Prof. Busch - LSU 42

Prof. Busch - LSU 43

“accept” Prof. Busch - LSU 44

Language accepted Prof. Busch - LSU 45

Another NFA Example Prof. Busch - LSU 46

Language accepted (redundant state) Prof. Busch - LSU 47

Remarks: • The symbol never appears on the input tape • Simple automata: Prof. Busch - LSU 48

• NFAs are interesting because we can express languages easier than DFAs NFA DFA Prof. Busch - LSU 49

Formal Definition of NFAs Set of states, i. e. Input aplhabet, i. e. Transition function Initial state Accepting states Prof. Busch - LSU 50

Transition Function resulting states with following one transition with symbol Prof. Busch - LSU 51

Prof. Busch - LSU 52

Prof. Busch - LSU 53

Prof. Busch - LSU 54

Prof. Busch - LSU 55

Extended Transition Function Same with but applied on strings Prof. Busch - LSU 56

Prof. Busch - LSU 57

Prof. Busch - LSU 58

Special case: for any state Prof. Busch - LSU 59

In general : there is a walk from with label Prof. Busch - LSU to 60

The Language of an NFA The language accepted by is: where (accepting state) and there is some Prof. Busch - LSU 61

Prof. Busch - LSU 62

Prof. Busch - LSU 63

Prof. Busch - LSU 64

Prof. Busch - LSU 65

Prof. Busch - LSU 66

Prof. Busch - LSU 67

NFAs accept the Regular Languages Prof. Busch - LSU 68

Equivalence of Machines Definition: Machine is equivalent to machine if Prof. Busch - LSU 69

Example of equivalent machines NFA DFA Prof. Busch - LSU 70

Theorem: Languages accepted by NFAs Regular Languages accepted by DFAs NFAs and DFAs have the same computation power, accept the same set of languages Prof. Busch - LSU 71

Proof: we only need to show Languages accepted by NFAs Regular Languages AND Languages accepted by NFAs Regular Languages Prof. Busch - LSU 72

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 Prof. Busch - LSU 73

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 Prof. Busch - LSU 74

Conversion NFA to DFA NFA DFA Prof. Busch - LSU 75

NFA DFA Prof. Busch - LSU 76

empty set NFA DFA trap state Prof. Busch - LSU 77

NFA union DFA Prof. Busch - LSU 78

NFA union DFA Prof. Busch - LSU 79

NFA DFA trap state Prof. Busch - LSU 80

END OF CONSTRUCTION NFA DFA Prof. Busch - LSU 81

General Conversion Procedure Input: an NFA Output: an equivalent DFA with Prof. Busch - LSU 82

The NFA has states The DFA has states from the power set Prof. Busch - LSU 83

Conversion Procedure Steps step 1. Initial state of NFA: Initial state of DFA: Prof. Busch - LSU 84

Example NFA DFA Prof. Busch - LSU 85

step 2. For every DFA’s state compute in the NFA Union add transition to DFA Prof. Busch - LSU 86

Example NFA DFA Prof. Busch - LSU 87

step 3. Repeat Step 2 for every state in DFA and symbols in alphabet until no more states can be added in the DFA Prof. Busch - LSU 88

Example NFA DFA Prof. Busch - LSU 89

step 4. For any DFA state if some is accepting state in NFA Then, is accepting state in DFA Prof. Busch - LSU 90

Example NFA DFA Prof. Busch - LSU 91

Lemma: If we convert NFA to DFA then the two automata are equivalent: Proof: We only need to show: AND Prof. Busch - LSU 92

First we show: We only need to prove: Prof. Busch - LSU 93

NFA Consider symbols Prof. Busch - LSU 94

symbol denotes a possible sub-path like symbol Prof. Busch - LSU 95

We will show that if NFA then DFA state label Prof. Busch - LSU 96

More generally, we will show that if in : (arbitrary string) NFA then DFA Prof. Busch - LSU 97

Proof by induction on Induction Basis: NFA DFA is true by construction of Prof. Busch - LSU 98

Induction hypothesis: Suppose that the following hold NFA DFA Prof. Busch - LSU 99

Induction Step: Then this is true by construction of NFA DFA Prof. Busch - LSU 100

Therefore if NFA then DFA Prof. Busch - LSU 101

We have shown: With a similar proof we can show: Therefore: END OF LEMMA PROOF Prof. Busch - LSU 102

- Slides: 102