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

  1. Multiple transitions possible for the same input symbol
  2. Ability to move without consuming input (ε-transitions)
  3. 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