Description
Topics
Problems to work on
1. Why do we care about minimizing DFA's ?
2. Minimize the following DFA. What Language does it generate?
3. Minimize the following DFA. What Language does it generate?
4. Minimize the following DFA. What Language does it generate?
5. Give a regular grammar that generates the same language as the DFA in problem 2.
6. Give a regular grammars that generates the same language as the following regular expressions:
a. 010*
b. a(ab + bc)*
7. Is the following a valid argument? Why or why not? The language L = {0m1m 2n | m, n >= 0 } is not regular, since we already know that M = { 0m 1m | m >= 0} is not regular by the pumping lemma, and since L contains M it cannot therefore be regular.
8. Prove that the language { x2n | n >= 0 } is not regular.
9. Give a decision algorithm which takes as input a regular language L and decides whether L contains the string 1000101.
10. Give a decision algorithm which takes as input a regular language L and decides whether L equals the language {1000101}
11. Give a decision algorithm which takes as input a regular language L and decides whether L contains the language given by the regular expression 10*10*1
12. Miscellaneous problem: Eliminate the espilon transitons of this NFA, without converting it to a DFA (ie, figure out an easier way)
Explanation & Answer
here are the answers :)
1. Why do we care about minimizing DFA's ?
Because, For DFA there is a nice algebraic structure that determines which states can be
equivalent, the Myhill-Nerode equivalence on strings is related to minimization of DFA.
2. Minimize the following DFA. What Language does it generate?
DFA minimization is usually done in three steps, corresponding to the removal/merger of the
relevant states. Since the elimination of nondistinguishable states is computationally the most
expensive one, it is usually done as the last step.
Minimization :
Now we turn to examining how to reduce the size of a DFA such that it still recognizes the same
language. This is useful because some transformations and tools will generate DFAs with a large
amount of redundancy.
3. Minimize the following DFA. What Language does it generate?
The language { w ∈ Σ∗ | w contains the substring 0101, i.e., w = x0101y for some x, y ∈ Σ∗ } with
five states.
4. Minimize the following DFA. What Language does it generate?
The language {ε} wi...