lecture 3uofh - cosc 3340 - dr. verma 1 cosc 3340: introduction to theory of computation university...

25
Lecture 3 UofH - COSC 3340 - Dr. Ve rma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Upload: abigail-harris

Post on 19-Dec-2015

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma1

COSC 3340: Introduction to Theory of Computation

University of Houston

Dr. Verma

Lecture 3

Page 2: Lecture 3UofH - COSC 3340 - Dr. Verma 1 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.

Page 3: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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.

Page 4: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma4

DFA of L1 = {w in {a,b}* | w has even number of a's}.

Page 5: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma5

DFA of L2 = { w in {a,b}* | w has odd number of b's}.

Page 6: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma6

DFA of L1 L2 = {w in {a,b}* | w has even a's or odd b's}.

Page 7: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma7

DFA of L1 L2 = {w in {a,b}* | w has even a's and odd b's}.

Page 8: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 9: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 10: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 11: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 12: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 13: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 14: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 15: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 16: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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}

Page 17: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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

Page 18: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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.

Page 19: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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.

Page 20: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma20

Example: {w in {0,1}* | the second last symbol of w is a 1}

Page 21: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma21

NFA A = {w in {0,1}* | the second last symbol of w is a 1}

110

Page 22: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma22

NFA A = {w in {0,1}* | the second last symbol of w is a 1}

110

Page 23: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma23

NFA A = {w in {0,1}* | the second last symbol of w is a 1}

110

Page 24: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

Lecture 3 UofH - COSC 3340 - Dr. Verma24

NFA A = {w in {0,1}* | the second last symbol of w is a 1}

110

Page 25: Lecture 3UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3

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.