CSE 105 Theory of Computation
description
Transcript of CSE 105 Theory of Computation
![Page 1: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/1.jpg)
CSE 105Theory of
Computation
Alexander TsiatasSpring 2012
Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Based on a work at http://peerinstruction4cs.org.Permissions beyond the scope of this license may be available at http://peerinstruction4cs.org.
![Page 2: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/2.jpg)
CLOSURE PROOFSREVIEWING OUR EXAMPLE
Guaranteed to be on exams
![Page 3: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/3.jpg)
From last time
• Are regular languages closed under union?
• a) True• b) False
![Page 4: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/4.jpg)
Union of two regular languages• L1 = {w | b’s never appear after a’s}
• L2 = {w | length(w) is odd}
• L1 U L2 = {w | b’s never appear after a’s OR length(w) is odd}
Regular because there’s a DFA
![Page 5: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/5.jpg)
Union of two regular languages
• L1 U L2 = {w | b’s never appear after a’s OR length(w) is odd}
• Does this prove that regular languages are closed under union?– (a) True or (b) False
It’s just one example
![Page 6: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/6.jpg)
Thm. The class of regular languages is closed under the union operation.
• Proof:• Given: Two regular languages L1, L2.
• Want to show: L1 U L2 is regular.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct a DFA M = (Q,Σ,δ,q0,F), s.t.:– Q = Q1 x Q2
– δ((x,y),c) = (δ1(x,c), δ2 (y,c)), for c in Σ and (x,y) in Q– q0 = (q01, q02)– F = {(x,y) in Q | x in F1 or y in F2}
• M recognizes L1 U L2.• Correctness: ___________________________________• A DFA recognizes L1 U L2, so L1 U L2 is regular, and the class of regular languages
is closed under union. Q.E.D.
Final form for your homework/test:
Could you come up with this, and write it correctly, in a short amount of time on an exam??
![Page 7: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/7.jpg)
NONDETERMINISTIC FINITE AUTOMATANFA
They’re really good guessers!
What is deterministic?
![Page 8: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/8.jpg)
DFA or NFA?
a) DFAb) NFAc) Both DFA and NFA
![Page 9: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/9.jpg)
DFA or NFA?
a) DFAb) NFAc) Both DFA and NFA
![Page 10: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/10.jpg)
Tracing in an NFA• What are the two sequences of
states on the input “100”?a) (q0,q0,q1,q2[accept]),
(q0,q1,q2[accept]) Final: Accept
b) (q0,q0,q1,q2[accept]), (q0,q1,q2[reject]) Final: Accept
c) (q0,q0,q1,q2[accept]), (q0,q1,q2[reject]) Final: Reject
d) (q0,q0,q1,q2[reject]), (q0,q1,q2[reject]) Final: Reject
“100”
b
![Page 11: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/11.jpg)
DFAs vs. NFAs
DFAs• For each character in the
alphabet, exactly one transition leaving every state
• Computation is “deterministic,” i.e. determined by the input, i.e., the same every time for a given input
NFAs• There may be 0, 1, or many
transitions leaving a single state for the same input character
• Transition function defined on “epsilon” in addition to alphabet characters
• There may be several different ways to reach an accept state for a single string—the computation may not determined by the input (“nondeterministic”)
![Page 12: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/12.jpg)
12
Formal Definition of an NFA
• An NFA M1 is defined as a 5-tuple as follows:
• M1 = (Q, Σ, δ, q0, F), where:– Q is a finite set of states– Σ is a finite set of characters, the alphabet– δ: Q x Σ -> P(Q), the transition function– q0, a member of Q, the start state– F, a subset of Q, the accept state(s)
NEED TO USE THIS FOR PROOFS---CANNOT MAKE GENERAL STATEMENTS BY DRAWING SPECIFIC
EXAMPLES!
WHAT IS the POWER SET?
![Page 13: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/13.jpg)
13
Nondeterminism
• Because NFAs are non-deterministic, the outcome (accept/reject) of the computation may be different from run to run (i.e., isn’t determined by the input)
a) TRUEb) FALSE
![Page 14: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/14.jpg)
REG. LANGS. CLOSED UNDER UNION(WHY NFAS ARE SO USEFUL IN PROOFS)
A different (easier!) way to prove what we just proved
![Page 15: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/15.jpg)
Thm. The class of regular languages is closed under the union operation.
• Proof:• Given: Two regular languages L1, L2.
• Want to show: L1 U L2 is regular.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct a DFA M = (Q,Σ,δ,q0,F), s.t.:– Q = Q1 x Q2
– δ((x,y),c) = (δ1(x,c), δ2 (y,c)), for c in Σ and (x,y) in Q– q0 = (q01, q02)– F = {(x,y) in Q | x in F1 or y in F2}
• M recognizes L1 U L2.• Correctness: ___________________________________• A DFA recognizes L1 U L2, so L1 U L2 is regular, and the class of regular languages
is closed under union. Q.E.D.
Final form for your homework/test:
Could you come up with this, and write it correctly, in a short amount of time on an exam??
![Page 16: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/16.jpg)
Thm. The class of regular languages is closed under the union operation.
• Proof:• Given: Two regular languages L1, L2.
• Want to show: L1 U L2 is regular.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct an NFA M = (Q,Σ,δ,q0,F), s.t.:– Q =– δ(x,c) =– q0 =– F =
• M recognizes L1 U L2.• Correctness: ___________________________________• An NFA recognizes L1 U L2, so L1 U L2 is regular, and the class of regular
languages is closed under union. Q.E.D.
Final form for your homework/test:
Could you come up with this, and write it correctly, in a short amount of time on an exam??
![Page 17: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/17.jpg)
Back to our working example
![Page 18: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/18.jpg)
Thm. The class of regular languages is closed under the union operation.
• Proof:• Given: Two regular languages L1, L2.
• Want to show: L1 U L2 is regular.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct an NFA M = (Q,Σ,δ,q0,F), s.t.:– Q = – δ(x,c) =– q0 is a new state not in Q1 or Q2
– F =
• M recognizes L1 U L2.• Correctness: ___________________________________• An NFA recognizes L1 U L2, so L1 U L2 is regular, and the class of regular
languages is closed under union. Q.E.D.
Final form for your homework/test:
Discrepancy here NFA vs DFA
![Page 19: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/19.jpg)
Thm. The class of regular languages is closed under the union operation.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct an NFA M = (Q,Σ,δ,q0,F), s.t.:– Q = ?– δ(x,c) =– q0 is a new state not in Q1 or Q2
– F = ?
– a) Q = Q1 X Q2, F = F1 X F2
– b) Q = Q1 X Q2, F = {(x,y) in Q | x in F1 or y in F2}
– c) Q = Q1 U Q2, F = F1 U F2
– d) Q = Q1 U Q2 U {q0}, F = F1 U F2
Why q0 in {}?
![Page 20: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/20.jpg)
Thm. The class of regular languages is closed under the union operation.
• Proof:• Given: Two regular languages L1, L2.
• Want to show: L1 U L2 is regular.
• Because L1 and L2 are regular, we know there exist DFAs M1 = (Q1,Σ,δ1,q01,F1) and M2 = (Q2,Σ,δ2,q02,F2) that recognize L1 and L2. We construct an NFA M = (Q,Σ,δ,q0,F), s.t.:– Q = Q1 U Q2
– δ(x,c) = ?– q0 is a new state not in Q1 or Q2
– F = F1 U F2
• M recognizes L1 U L2.• Correctness: ___________________________________• An NFA recognizes L1 U L2, so L1 U L2 is regular, and the class of regular
languages is closed under union. Q.E.D.
Final form for your homework/test:
Discrepancy here NFA vs DFA
![Page 21: CSE 105 Theory of Computation](https://reader035.fdocuments.net/reader035/viewer/2022062305/56816521550346895dd7a026/html5/thumbnails/21.jpg)
Thm. The class of regular languages is closed under the union operation.
– Q = Q1 U Q2
– δ(x,c) = • δ1(x,c) if x in Q1
• δ2(x,c) if x in Q2
• {q01,q02} if x = q0 and c = ε• { } if x = q0 and c != ε
– q0 is a new state not in Q1 or Q2
– F = F1 U F2
Almost done: we have shown there is an NFA accepting L1 U L2. Does this mean it’s regular? Next class!
Zoomed in
Discrepancy here NFA vs DFA