A subway turnstile remembers exactly one thing, locked or unlocked, and yet the same push produces two different outcomes depending on where it stands. That is the whole idea of a finite state machine: all its memory lives in the current state, and the transition function δ takes a state together with a symbol and returns the next state. Three states r0, r1, r2 under the rule that the new remainder equals (2r + bit) mod 3 suffice to read a binary string of any length and tell whether it divides by 3. Kleene’s theorem seals it: whatever a regular expression can describe, an automaton can recognize, and the other way round.
A subway turnstile remembers exactly one thing, locked or unlocked, and yet the same push produces two different outcomes depending on where it stands. That is the whole idea of a finite state machine: all its memory lives in the current state, and the transition function δ takes a state together with a symbol and returns the next state. Three states r0, r1, r2 under the rule that the new remainder equals (2r + bit) mod 3 suffice to read a binary string of any length and tell whether it divides by 3. Kleene’s theorem seals it: whatever a regular expression can describe, an automaton can recognize, and the other way round.
Related topics in Mind & Machine