DFA Minimization
Hopcroft's algorithm, made visible
An interactive visualization of Hopcroft's DFA minimization algorithm that lets you observe partition refinement step by step.
Problem
A Theory of Computation course required implementing DFA minimization — and most implementations are black boxes that never show the algorithm working.
What was built
A C++ GUI application that visualizes each partition-refinement step of Hopcroft's algorithm, so you can trace exactly how the automaton gets minimized.
System
- Input DFAStates, alphabet, transitions, accepting set
- Hopcroft refinementSplit partitions by distinguishing transitions
- Step visualizerC++ · Qt GUI
- Minimal DFAOne state per equivalence class
Technical decisions
Show the refinement, not just the result
Every split of the partition is a visible step, so the reason two states end up merged is always inspectable.
Native GUI
Written in C++ with a Qt interface.