NonDeterministic Finite Automata 1 Nondeterministic Finite Automaton NFA








































































































- Slides: 104
Non-Deterministic Finite Automata 1
Nondeterministic Finite Automaton (NFA) Alphabet = 2
Alphabet = Two choices 3
Alphabet = Two choices No transition 4
First Choice 5
First Choice 6
First Choice All input is consumed “accept” 7
Second Choice 8
Second Choice Input cannot be consumed Automaton Halts “reject” 9
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 ignored 11
Rejection example 12
First Choice “reject” 13
Second Choice 14
Second Choice “reject” 15
Another Rejection example 16
First Choice 17
First Choice Input cannot be consumed “reject” Automaton halts 18
Second Choice 19
Second Choice Input cannot be consumed Automaton halts “reject” 20
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 23
Language accepted: 24
Lambda Transitions 25
26
27
input tape head does not move 28
all input is consumed “accept” String is accepted 29
Rejection Example 30
31
(read head doesn’t move) 32
Input cannot be consumed Automaton halts “reject” String is rejected 33
Language accepted: 34
Another NFA Example 35
36
37
“accept” 38
Another String 39
40
41
42
43
44
“accept” 45
Language accepted 46
Another NFA Example 47
Language accepted (redundant state) 48
Remarks: • The symbol never appears on the input tape • Simple automata: 49
• 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 function Initial state Accepting states 51
Transition Function resulting states with following one transition with symbol 52
53
54
55
56
Extended Transition Function Same with but applied on strings 57
58
59
Special case: for any state 60
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 some (accepting state) 62
63
64
65
66
67
68
NFAs accept the Regular Languages 69
Equivalence of Machines Definition: Machine is equivalent to machine if 70
Example of equivalent machines NFA DFA 71
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 accepted by NFAs Regular Languages 73
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 an equivalent DFA Any language accepted by an NFA is also accepted by a DFA 75
Conversion NFA to DFA NFA DFA 76
NFA DFA 77
empty set NFA DFA trap state 78
NFA union DFA 79
NFA union DFA 80
NFA DFA trap state 81
END OF CONSTRUCTION NFA DFA 82
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
Conversion Procedure Steps step 1. Initial state of NFA: Initial state of DFA: 85
Example NFA DFA 86
step 2. For every DFA’s state compute in the NFA Union add transition to DFA 87
Example NFA DFA 88
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
step 4. For any DFA state if some is accepting state in NFA Then, is accepting state in DFA 91
Example NFA DFA 92
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
NFA Consider symbols 95
symbol denotes a possible sub-path like symbol 96
We will show that if NFA then DFA state label 97
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
Induction hypothesis: Suppose that the following hold NFA DFA 100
Induction Step: Then this is true by construction of NFA DFA 101
Therefore if NFA then DFA 102
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