Imagine you are building a machine to recognize a pattern — say, all binary strings that end in 01. The machine reads one character at a time and must remember just enough history to decide, at the end, whether the string belongs to the language.
How much memory does it need? The answer depends entirely on how many distinguishable situations the machine can be in. Two strings put the machine in the same situation if every possible continuation has identical outcomes: either both strings, extended by any suffix, land in the language, or neither does. When two strings are truly interchangeable like this, there is no reason to keep them in separate states.
This idea — grouping strings by their future behavior — is the Nerode equivalence relation, published by Anil Nerode in 1958 (and closely related to earlier work by John Myhill). The theorem that carries both names states something striking: a language is regular if and only if its Nerode equivalence has finitely many classes — and the number of classes is exactly the number of states in the smallest possible DFA for that language.
There is no wiggle room. The theorem is not an approximation. It gives you a precise lower bound, and it hands you the minimal automaton explicitly: each equivalence class becomes one state.
Comments
Loading comments...