COSC 3340: Introduction to Theory of Computation
description
Transcript of COSC 3340: Introduction to Theory of Computation
Lecture 3 UofH - COSC 3340 - Dr. Verma1
COSC 3340: Introduction to Theory of Computation
University of Houston
Dr. Verma
Lecture 3
Lecture 3 UofH - COSC 3340 - Dr. Verma2
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.
Lecture 3 UofH - COSC 3340 - Dr. Verma3
Examples
Let = {a,b}.
Let L1 = { w in * | w has even number of a's}. – Is L1 regular?
L2 = { w in * | w has odd number of b's}. – Is L2 regular?
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.
Lecture 3 UofH - COSC 3340 - Dr. Verma4
DFA of L1 = {w in {a,b}* | w has even number of a's}.
Lecture 3 UofH - COSC 3340 - Dr. Verma5
DFA of L2 = { w in {a,b}* | w has odd number of b's}.
Lecture 3 UofH - COSC 3340 - Dr. Verma6
DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.
Lecture 3 UofH - COSC 3340 - Dr. Verma7
DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.
Lecture 3 UofH - COSC 3340 - Dr. Verma8
DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma9
DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma10
DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma11
DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma12
DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma13
DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma14
DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma15
DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.
aba
Lecture 3 UofH - COSC 3340 - Dr. Verma16
DFA of A = {w | w contains at least one 1 and an even number of 0s follow the last 1}
Lecture 3 UofH - COSC 3340 - Dr. Verma17
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
Lecture 3 UofH - COSC 3340 - Dr. Verma18
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.
Lecture 3 UofH - COSC 3340 - Dr. Verma19
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.
Lecture 3 UofH - COSC 3340 - Dr. Verma20
Example: {w in {0,1}* | the second last symbol of w is a 1}
Lecture 3 UofH - COSC 3340 - Dr. Verma21
NFA A = {w in {0,1}* | the second last symbol of w is a 1}
110
Lecture 3 UofH - COSC 3340 - Dr. Verma22
NFA A = {w in {0,1}* | the second last symbol of w is a 1}
110
Lecture 3 UofH - COSC 3340 - Dr. Verma23
NFA A = {w in {0,1}* | the second last symbol of w is a 1}
110
Lecture 3 UofH - COSC 3340 - Dr. Verma24
NFA A = {w in {0,1}* | the second last symbol of w is a 1}
110
Lecture 3 UofH - COSC 3340 - Dr. Verma25
Formal definition of NFA
Notation: e = U {e}. NFA M = (Q, , , s, F) where:
– Q - finite set of states - input alphabet– s - initial state– F Q - set of final states is a subset of Q X e X Q.
If (p, u, q) in , then NFA in state p can read u and go to q.