Title: NonDeterministic Finite Automata
1Non-Deterministic Finite Automata
2Nondeterministic Finite Automaton (NFA)
Alphabet
3Alphabet
Two choices
4Alphabet
Two choices
No transition
No transition
5First Choice
6First Choice
7First Choice
8First Choice
All input is consumed
accept
9Second Choice
10Second Choice
11Second Choice
No transition the automaton hangs
12Second Choice
Input cannot be consumed
reject
13An NFA accepts a string if there is a
computation of the NFA that accepts the string
i.e., all the input is consumed and the
automaton is in an accepting state
14Example
is accepted by the NFA
accept
reject
because this computation accepts
15Rejection example
16First Choice
17First Choice
reject
18Second Choice
19Second Choice
20Second Choice
reject
21An 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
22Example
is rejected by the NFA
reject
reject
All possible computations lead to rejection
23Rejection example
24First Choice
25First Choice
No transition the automaton hangs
26First Choice
Input cannot be consumed
reject
27Second Choice
28Second Choice
29Second Choice
No transition the automaton hangs
30Second Choice
Input cannot be consumed
reject
31is rejected by the NFA
reject
reject
All possible computations lead to rejection
32Language accepted
33Lambda Transitions
34(No Transcript)
35(No Transcript)
36(read head does not move)
37(No Transcript)
38all input is consumed
accept
String is accepted
39Rejection Example
40(No Transcript)
41(read head doesnt move)
42No transition the automaton hangs
43Input cannot be consumed
reject
String is rejected
44Language accepted
45Another NFA Example
46(No Transcript)
47(No Transcript)
48(No Transcript)
49accept
50Another String
51(No Transcript)
52(No Transcript)
53(No Transcript)
54(No Transcript)
55(No Transcript)
56(No Transcript)
57accept
58Language accepted
59Another NFA Example
60Language accepted
(redundant state)
61Remarks
- The symbol never appears on the
- input tape
62- NFAs are interesting because we can
- express languages easier than DFAs
NFA
DFA
63Formal Definition of NFAs
Set of states, i.e.
Input aplhabet, i.e.
Transition function
Initial state
Accepting states
64Transition Function
Is the result of following exactly one
transition
65(No Transcript)
66(No Transcript)
67(No Transcript)
68Extended Transition Function
69(No Transcript)
70(No Transcript)
71Formally
there is a walk from to with label
72The Language of an NFA
73 74 75 76 77Formally
- The language accepted by NFA is
- where
- and there is some
(accepting state)
78 79NFAs accept the Regular Languages
80Equivalence of Machines
- Definition
- Machine is equivalent to machine
- if
-
81Example of equivalent machines
NFA
DFA
82We will prove
Languages accepted by NFAs
Regular Languages
Languages accepted by DFAs
NFAs and DFAs have the same computation power
83We will show
Languages accepted by NFAs
Regular Languages
Languages accepted by NFAs
Regular Languages
84Proof-Step 1
Languages accepted by NFAs
Regular Languages
Proof
Every DFA is trivially an NFA
Any language accepted by a DFA is also
accepted by an NFA
85Proof-Step 2
Languages accepted by NFAs
Regular Languages
Any NFA can be converted to an equivalent DFA
Proof
Any language accepted by an NFA is also
accepted by a DFA
86Convert NFA to DFA
NFA
DFA
87Convert NFA to DFA
NFA
DFA
88Convert NFA to DFA
NFA
DFA
89Convert NFA to DFA
NFA
DFA
90Convert NFA to DFA
NFA
DFA
91Convert NFA to DFA
NFA
DFA
92Convert NFA to DFA
NFA
DFA
93NFA to DFA Remarks
- We are given an NFA
- We want to convert it
- to an equivalent DFA
- With
94- If the NFA has states
- the DFA has states in the powerset
-
95Procedure NFA to DFA
-
- 1. Initial state of NFA
-
- Initial state of DFA
96Example
NFA
DFA
97Procedure NFA to DFA
- 2. For every DFAs state
- Compute in the NFA
-
- Add transition to DFA
98Exampe
NFA
DFA
99Procedure NFA to DFA
- Repeat Step 2 for all letters in alphabet,
- until
- no more transitions can be added.
100Example
NFA
DFA
101Procedure NFA to DFA
- 3. For any DFA state
- If some is accepting state in NFA
- Then,
- is accepting state in DFA
-
102Example
NFA
DFA
103Theorem
Take NFA
Apply conversion procedure to obtain DFA
Then and are equivalent
104Proof
AND
105First we show
Take arbitrary
We will prove
106NFA
NFA
107denotes
108We will show that if
NFA
then
DFA
109More generally, we will show that if in
(arbitrary string)
NFA
then
DFA
110Proof by induction on
Induction Basis
NFA
DFA
Is true by construction of
111Induction hypothesis
NFA
DFA
112Induction Step
NFA
DFA
113Induction Step
NFA
DFA
114Therefore if
NFA
then
DFA
115We have shown
We also need to show
(proof is similar and omitted)