- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# What is Non deterministic finite automata?

For each state, there is exactly one transition corresponding to each symbol of the respective alphabet. This is termed as the Deterministic Finite Automaton (DFA)

## Nondeterministic Finite Automaton (NFA)

For each state there can be zero, one, two, or more transitions corresponding to a particular symbol.

If NFA gets to a state with more than one possible transition corresponding to the input symbol, we say it branches.

If NFA gets to a state where there is no valid transition, then that branch dies An NFA accepts the input string if there exists some choice of transitions that leads to ending in an accept state.

Thus, one accepting branch is enough for the overall NFA to accept, but every branch must reject for the overall NFA to reject.

This is a model of computation. We write DFA to specify a deterministic finite automaton
Formally, NFA is 5-tuple (Q, ∑, q_{0} , T, δ) whereas before

- Q is finite set of states
- ∑ is alphabet of input symbols
- q
_{0}is start state - T is subset of Q giving the accept states
- δ is the transition function.
- Now the transition function specifies a set of states rather than a state: it maps Q☓ ∑ to {subsets of Q}

## Example 1

NFA accepts any binary string that contains 00 or 11 as a substring. This is shown below −

## Example 2

NFA accepts all binary strings that end with 101. This is shown below −

- Related Questions & Answers
- What is Non-Deterministic Finite Automata (NFA)?
- Can we convert a non-deterministic finite automata into a deterministic finite Automata?
- What is Deterministic Finite Automata (DFA)?
- Explain Non-Deterministic Finite Automata in TOC.
- Explain Deterministic Finite Automata in TOC.
- What is finite automata?
- Explain non-deterministic push down automata in TOC?
- What is Finite Automata in Compiler Design?
- Explain if the CFG is recognized by Non-deterministic push down automata
- What are different types of finite automata?
- Difference between Deterministic and Non-deterministic Algorithms
- Efficient Construction of Finite Automata
- What are the regular expressions to finite automata?
- What is the conversion of a regular expression to finite Automata (NFA)?
- What is Deterministic Routing?