Question:Consider the algorithm MINIMIZE, which takes a DFA as input and outputs DFA .
MINIMIZE = “On input , where is a DFA:
1.Remove all states of G that are unreachable from the start state.
2. Construct the following undirected graph G whose nodes are the states of .
3. Place an edge in G connecting every accept state with every non accept state. Add additional edges as follows.
4. Repeat until no new edges are added to G :
5. For every pair of distinct states q and r of and every :
6. Add the edge (q,r) to G if is an edge of G .
7. For each state be the collection of edge joins q and r in G }.
8.Form a new DFA where
9. Output ( M')”
a. Show that M and M' are equivalent.
b. Show that M0 is minimal—that is, no DFA with fewer states recognizes the same language. You may use the result of Problem 1.52 without proof.
c. Show that MINIMIZE operates in polynomial time.