Title: Non-Deterministic 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 when there is a
computation of the NFA that accepts the string
There is a computation
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 when 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 FAs
NFA
FA
63Formal Definition of NFAs
Set of states, i.e.
Input aplhabet, i.e.
Transition function
Initial state
Accepting states
64Transition Function
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