This preview shows pages 1–3. Sign up to view the full content.
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
This note was uploaded on 03/04/2010 for the course CS 373 taught by Professor Kuma during the Spring '10 term at University of Illinois at Urbana–Champaign.
- Spring '10