====== 6. Minimal DFAs ====== ===== 6.1. Equivalence between states ===== Consider the following DFA: ---- {{ :lfa:screenshot_2021-11-03_at_11.25.00.png?400 |}} ---- 6.1.1. Identify a pair of states which are **indistinguishable**. 6.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. 6.1.3. Compute the table of indistinguishable states for the previous DFA. ===== 6.2. Minimisation ====== 6.2.1. Minimise the previous DFA. 6.2.2. Determine if the following regexes are **equivalent**: $math[(1\cup\epsilon)(00^*1)^*0^*] and $math[(10\cup 0)^*(01 \cup 1)^*(0 \cup \epsilon)] 6.2.3. Write an algorithm draft for DFA minimisation. Focus on the best implementation for building states and transitions in the minimal DFA. Implement your algorithm. ===== 6.3. DFA to Regex ====== 6.3.1. Convert the following DFA to a Regex (using the state-elimination strategy). Hint: is it easier to apply conversion on another DFA? {{ :lfa:screenshot_2021-11-04_at_15.33.10.png?600 |}}