This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: £ CS 373: Theory of Computation £ Madhusudan Parthasarathy Lecture 09: Myhill-Nerode Theorem 16 February 2010 In this lecture, we will see that every language has a unique minimal DFA . We will see this fact from two perspectives. First, we will see a practical algorithm for minimizing a DFA , and provide a theoretical analysis of the situation. 1 On the number of states of DFA 1.1 Starting a DFA from di erent states Consider the DFA on the right. It has a particular de ned start state. However, we could start it from any of its states. If the original DFA was named M , de ne M q to be the DFA with its start state changed to state q . Then the language L q , is the one accepted if you start at q . For example, in this picture, L 3 is ( a + b ) * , and L 6 is the same. Also, L 2 and L 5 are both b * a ( a + b ) * . Finally, L 7 is ∅ . 1 2 4 7 3 5 6 a b b a a , b a b a , b a b a , b Suppose that L q = L r , for two states q and r . Then once we get to q or r , the DFA is going to do the same thing from then on (i.e., its going to accept or reject exactly the same strings). So these two states can be merged. In particular, in the above automata, we can merge 2 and 5 and the states 3 and 6 . We can the new automata, depicted on the right. 1 2/5 4 7 3/6 a b b a a , b a b a , b 1.2 Su x Languages Let Σ be some alphabet. De nition 1.1 Let L ⊆ Σ * be any language. The su x language of L with respect to a word x ∈ Σ * is de ned as q L/x y = n y x y ∈ L o . 1 In words, q L/x y is the language made out of all the words, such that if we append x to them as a pre x, we get a word in L . The class of su x languages of L is C ( L ) = n q L/x y x ∈ Σ * o . Example 1.2 For example, if L = * 1 * , then: • q L/ y = * 1 * = L • q L/ y = * 1 * = L • q L/ i y = * 1 * = L , for any i ∈ N • q L/ 1 y = 1 * • q L/ 1 i y = 1 * , for any i ≥ 1 • q L/ 10 y = n y 10 y ∈ L o = ∅ . Hence there are only three su x languages for L : * 1 * , 1 * , ∅ . So C ( L ) = n * 1 * , 1 * , ∅ o . As the above example demonstrates, if there is a word x , such that any word w that have x as a pre x is not in L , then q L/x y = ∅ , which implies that ∅ is one of the su x languages of L ....
View Full Document
- Spring '10
- Formal language, Regular expression, Regular language, su0x lnguges, su 1Ex languages