250 likes | 352 Views
COSC 3340: Introduction to Theory of Computation. University of Houston Dr. Verma Lecture 3. Closure properties of Regular Languages. Regular languages are closed under: Union Notation: Intersection Notation: L 1 L 2 is regular if L 1 and L 2 are regular .
E N D
COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3 UofH - COSC 3340 - Dr. Verma
Closure properties of Regular Languages • Regular languages are closed under: • Union • Notation: • Intersection • Notation: • L1 L2 is regular if L1 and L2 are regular. • L1 L2 is regular if L1 and L2 are regular. UofH - COSC 3340 - Dr. Verma
Examples Let = {a,b}. Let L1= { w in * | w has even number of a's}. • Is L1regular? L2= { w in * | w has odd number of b's}. • Is L2regular? L1 L2= ? • Ans: {w in * | w has even a's or odd b's}. L1 L2= ? • Ans: {w in * | w has even a's and odd b's}. • By closure properties, both these are regular. UofH - COSC 3340 - Dr. Verma
DFA of L1= {w in {a,b}* | w has even number of a's}. UofH - COSC 3340 - Dr. Verma
DFA of L2= { w in {a,b}* | w has odd number of b's}. UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's or odd b's}. UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's and odd b's}. UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's or odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's or odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's or odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's or odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's and odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's and odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's and odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of L1 L2= {w in {a,b}* | w has even a's and odd b's}. aba UofH - COSC 3340 - Dr. Verma
DFA of A = {w | w contains at least one 1 and an even number of 0s follow the last 1} UofH - COSC 3340 - Dr. Verma
General Construction for and • Idea: Simulate two DFA's in parallel. Let M1 = (Q1, , 1, s1, F1) and M2 = (Q2, , 2, s2, F2) M = (Q, , , s, F) where: Q = Q1 X Q2 s = (s1, s2) ((q1, q2), ) = (1(q1, ), 2(q2, )) • For Union, F = ? • Ans: (Q1 X F2) U (F1 X Q2) • For Intersection, F = ? • Ans: F1 X F2 UofH - COSC 3340 - Dr. Verma
Nondeterministic Finite Automaton (NFA) • Generalization of DFA. Allows: • 0 or more next states for the same (q, ). • Guessing • Transitions labeled by the empty string. • Changing state without reading input • Motivation: Flexibility. • Easier to prove many closure properties. UofH - COSC 3340 - Dr. Verma
How does an NFA work? • w is accepted by an NFA provided there is a sequence of guesses that leads to a final state. • Language accepted by NFA is the set of all strings accepted by it. UofH - COSC 3340 - Dr. Verma
Example: {w in {0,1}* | the second last symbol of w is a 1} UofH - COSC 3340 - Dr. Verma
NFA A = {w in {0,1}* | the second last symbol of w is a 1} 110 UofH - COSC 3340 - Dr. Verma
NFA A = {w in {0,1}* | the second last symbol of w is a 1} 110 UofH - COSC 3340 - Dr. Verma
NFA A = {w in {0,1}* | the second last symbol of w is a 1} 110 UofH - COSC 3340 - Dr. Verma
NFA A = {w in {0,1}* | the second last symbol of w is a 1} 110 UofH - COSC 3340 - Dr. Verma
Formal definition of NFA • Notation: e = U {e}. • NFA M = (Q, , , s, F) where: • Q - finite set of states • - input alphabet • s - initial state • FQ - set of final states • is a subset of Q X eX Q. • If (p, u, q) in , then NFA in state p can read u and go to q. UofH - COSC 3340 - Dr. Verma