Deterministic Finite Automaton

Aka. DFA. Has a single starting state.

Transition Function

Denoted by δ:Q×Σ→Q\delta: Q \times \Sigma \rightarrow Q. It maps a state and an input symbol to the next state.

Extended Transition Function

Denoted by δ∗\delta^*. Handles strings instead of each symbol. δ∗(q,x)\delta^*(q, x) is the state reached after reading string xx starting from state qq.

Rules:

  • δ∗(q,λ)=q\delta^*(q, \lambda) = q
  • δ∗(q,ya)=δ(δ∗(q,y),a)\delta^*(q, ya) = \delta (\delta^*(q, y), a)

Acceptance

Let M=(Q,Σ,q0,A,δ)M = (Q, \Sigma, q_0, A, \delta).

A string x∈Σ∗x \in \Sigma^* is accepted iff δ∗(q0,x)∈A\delta^*(q_0, x) ∈ A.

Incomplete

A DFA is incomplete iff δ(q,a)\delta(q,a) is undefined for some qq and aa. Inputs with undefined transitions are implicitly rejected.

Complement

Complement of a complete DFA M=(Q,Σ,q0,A,δ)M = (Q, \Sigma, q_0, A, \delta) is:

M‾=(Q,Σ,q0,Q∖A,δ)\overline{M} = (Q, \Sigma, q_0, Q \setminus A, \delta)

When complementing an incomplete DFA, a dead/sink state dd must be added. For all undefined transitions, δ(q,a)=d\delta(q, a) = d must be defined.

Written by June 9, 2026 1 min read
Was this helpful?