Non-deterministic Finite Automata (NFA)
Introduction to Non-determinism
Non-determinism is a fundamental concept in computation theory that allows a machine to have multiple possible next states for a given input. Unlike deterministic machines where each input leads to exactly one next state, non-deterministic machines can “guess” or “pursue multiple paths simultaneously.”
Key Differences from DFAs
- Multiple transitions possible for the same input symbol
- Ability to move without consuming input (ε-transitions)
- Acceptance criteria differs - accepts if ANY path leads to acceptance
Formal Definition of NFAs
An NFA is formally defined as a 5-tuple where:
Mathematical Representation
For a state and input symbol :
ε-transitions (Epsilon Transitions)
Properties
- Allows movement between states without consuming input
- Can create “shortcuts” in computation
- Critical for certain constructions and proofs
ε-closure
For a state , its ε-closure is defined as:
Examples
Basic NFA Example