This is an old revision of the document!
5. Minimal DFAs
5.1. Equivalence between states
5.1.1. Identify a pair of states which are indistinguishable.
5.1.2. Identify a pair of final or non-final states which are distinguishable. The pair must be distinguished by a word different from the empty word.
5.1.3. Compute the table of indistinguishable states for the DFA.
5.2. Minimisation
5.2.1. Minimise the DFA.
5.2.2. How can we algorithmically determine if two minimal DFAs accept the same language?
5.2.3. Remember exercise 3.3.4 from Lab3. Show that the two regexes are equivalent: $ E1 = ((ab^*a)^+b)^* $ and $ E2 = (a(b\mid aa)^*ab)^* $
5.2.4. (Optional) Determine if the following regexes are equivalent: $ (1\cup\epsilon)(00^*1)^*0^*$ and $ (10\cup 0)^*(01 \cup 1)^*(0 \cup \epsilon)$
5.2.5. hopcroft
5.2.6. (Extra) Apply the Brzozowski minimisation algorithm on DFA 1.
Conclusion
- Regex → NFA (Thomson's algorithm)
- NFA → DFA (Subset Construction)
- DFA → minDfa