Deterministic Finite Automaton

1 min read Updated Fri Apr 24 2026 07:36:29 GMT+0000 (Coordinated Universal Time)

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 by a DFA

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.

Complement

Complement of a complete DFA M=(Q,Σ,q0,A,δ)M = (Q, \Sigma, q_0, A, \delta) is M=(Q,Σ,q0,QA,δ)\overline{M} = (Q, \Sigma, q_0, Q \setminus A, \delta).

For incomplete DFAs, if a dead/sink state dd and define δ(q,a)=d\delta(q, a) = d for all undefined transitions. Then we can apply the complement operation as above.