1.02k likes | 1.05k Views
Explore the concepts of Non-Deterministic Finite Automata (NFA) with detailed explanations by Costas Busch from LSU. Learn about NFA acceptance, rejection examples, epsilon transitions, and more in this insightful guide.
E N D
Non-Deterministic Finite Automata Costas Busch - LSU
Nondeterministic Finite Automaton (NFA) Alphabet = Costas Busch - LSU
Alphabet = Two choices No transition No transition Costas Busch - LSU
First Choice Costas Busch - LSU
First Choice Costas Busch - LSU
First Choice All input is consumed “accept” Costas Busch - LSU
Second Choice Costas Busch - LSU
Second Choice Input cannot be consumed Automaton Halts “reject” Costas Busch - LSU
A NFA accepts a string: if there is a computation path of the NFA that accepts the string all the symbols of input string are processed and the last is an accepting state Costas Busch - LSU
is accepted by the NFA: “accept” “reject” because this computation accepts this computation is ignored Costas Busch - LSU
Rejection example Costas Busch - LSU
First Choice “reject” Costas Busch - LSU
Second Choice Costas Busch - LSU
Second Choice “reject” Costas Busch - LSU
Another Rejection example Costas Busch - LSU
First Choice Costas Busch - LSU
First Choice Input cannot be consumed “reject” Automaton halts Costas Busch - LSU
Second Choice Costas Busch - LSU
Second Choice Input cannot be consumed Automaton halts “reject” Costas Busch - LSU
A NFA rejects a string: if there is no computation of the NFA that accepts the string. For each possible computation path: • All the input is consumed and the automaton is in a non accepting state OR • The input cannot be consumed Costas Busch - LSU
is rejected by the NFA: “reject” “reject” All possible computations lead to rejection Costas Busch - LSU
is rejected by the NFA: “reject” “reject” All possible computations lead to rejection Costas Busch - LSU
Language accepted: Costas Busch - LSU
Epsilon Transitions Costas Busch - LSU
input tape head does not move Automaton changes state Costas Busch - LSU
all input is consumed “accept” String is accepted Costas Busch - LSU
Rejection Example Costas Busch - LSU
(read head doesn’t move) Costas Busch - LSU
Input cannot be consumed Automaton halts “reject” String is rejected Costas Busch - LSU
Language accepted: Costas Busch - LSU
Another NFA Example Costas Busch - LSU
“accept” Costas Busch - LSU
Another String Costas Busch - LSU
“accept” Costas Busch - LSU
Language accepted Costas Busch - LSU
Another NFA Example Costas Busch - LSU
Language accepted (redundant state) Costas Busch - LSU
Simple Automata Costas Busch - LSU
NFAs are interesting because we can express languages easier than DFAs NFA DFA Costas Busch - LSU
Formal Definition of NFAs Set of states, i.e. Input aplhabet, i.e. Transition function Initial state Accepting states Costas Busch - LSU