Theory of Computation
⏱ ~3-min readAceMark GuideWhat this topic is really about
The Halting Problem shows that no algorithm can universally decide whether an arbitrary program will halt on a given input.. The Halting Problem proves by contradiction that no single algorithm can determine, for every possible program and input, whether it will halt, establishing a fundamental limit of computation.
Any regular language can be recognised by a finite state automaton.. Regular languages are precisely those recognised by finite state automata, which have no memory beyond their current state.
See the mechanism
Regular languages have no memory requirements beyond the current state, making a finite state automaton sufficient. A diagram for this topic isn't available yet — the worked example below walks the same reasoning step by step.
An exam-style question, fully explained
A regular expression matches strings over the alphabet {a, b}. Which type of abstract machine is sufficient to recognise any regular language?
- Identify what the question tests: A regular expression matches strings over the alphabet {a, b}..
- Regular languages are precisely those recognised by finite state automata, which have no memory beyond their current state.
- A Turing machine can recognise them too but is far more powerful than necessary, so the minimal sufficient machine is the finite state automaton.
- Why it matters: Regular languages have no memory requirements beyond the current state, making a finite state automaton sufficient. A finite state automaton is the minimal sufficient machine for regular languages as it does not need more power than necessary.
Traps the examiner sets
- Some may think a Turing machine is necessary due to its ability to recognise regular languages, but it is indeed sufficient to use a finite state automaton.
- Students often think compilers or static analysis tools can always spot infinite loops, but the Halting Problem proves that no general method can detect all non‑terminating cases.
Test your recall
Answer each from memory — you'll see instantly whether you're right and why.
Run a focused 10-question mini-mock on Theory of Computation and see it stick.
Practice more of this topic →