Download presentation
Presentation is loading. Please wait.
1
1 Lecture 14 Language class LFSA –Study limits of what can be done with FSA’s –Closure Properties –Comparing to other language classes
2
2 LFSA Unit Overview Study limits of LFSA –Understand what languages are in LFSA Develop techniques for showing L in LFSA –Understand what languages are not in LFSA Develop techniques for showing L not in LFSA Prove Closure Properties of LFSA Identify relationship of LFSA to other language classes
3
3 Closure Properties of LFSA Remember ideas from REC
4
4 LFSA closed under set complement If L is in LFSA, then L c is in LFSA Proof –Let L be an arbitrary language in LFSA –Let M be the FSA such that L(M) = L M exists by definition of L in LFSA –Construct FSA M’ from M –Argue L(M’) = L c –There exists an FSA M such that L(M’) = L c –L c is in LFSA
5
5 Visualization LFSA L LcLc M M’ FSA’s Let L be an arbitrary language in LFSA Let M be the FSA such that L(M) = L M exists by definition of L in LFSA Construct FSA M’ from M Argue L(M’) = L c L c is in LFSA
6
6 Construct FSA M’ from M What did when we proved that REC is closed under set complement? Construct program P’ from program P –P’ is basically the same program as program P –The only difference comes at the end –If P is about to return no, P’ returns yes instead –If P is about to return yes, P’ returns no instead Can we translate this to FSA setting?
7
7 Construct FSA M’ from M M = (Q, , q 0, A, ) M’ = (Q’, ’, q’, A’, ’) –M’ should say yes when M says no –M’ should say no when M says yes –How? Q’ = Q ’ = q’ = q 0 ’ ’ = A’ = Q-A
8
8 Example 1 2 3 a a a b b b FSA M 1 2 3 a a a b b b FSA M’ Q’ = Q ’ = q’ = q 0 ’ ’ = A’ = Q-A
9
9 Construction is an algorithm Set Complement Construction –Algorithm Specification Input: FSA M Output: FSA M’ such that L(M’) = L(M) c –Comments This algorithm can be in any computational model. –It does not have to be (and typically is not) an FSA These set closure constructions are useful. –More on this later Construction Algorithm FSA M FSA M’
10
10 Construction is an algorithm Your algorithm must give a complete specification of M’ in terms of M –Example: Let input FSA M = (Q, , q 0, A, ) Output FSA M’ = (Q’, ’, q’, A’, ’) where –Q’ = Q – ’ = –q’ = q 0 ’ – ’ = –A’ = Q-A When describing such constructions, I will often only focus on the critical component, in this case A’ = Q-A, but you must specify all components of M’ in terms of M. Construction Algorithm FSA M FSA M’
11
11 LFSA closed under Set Intersection Operation (also set union, set difference, and symmetric difference)
12
12 LFSA closed under set intersection operation Let L 1 and L 2 be arbitrary languages in LFSA Let M 1 and M 2 be FSA’s s.t. L(M 1 ) = L 1, L(M 2 ) = L 2 –M 1 and M 2 exist by definition of L 1 and L 2 in LFSA Construct FSA M 3 from FSA’s M 1 and M 2 Argue L(M 3 ) = L 1 intersect L 2 There exists FSA M 3 s.t. L(M 3 ) = L 1 intersect L 2 L 1 intersect L 2 is in LFSA
13
13 Visualization Let L 1 and L 2 be arbitrary languages in LFSA Let M 1 and M 2 be FSA’s s.t. L(M 1 ) = L 1, L(M 2 ) = L 2 M 1 and M 2 exist by definition of L 1 and L 2 in LFSA Construct FSA M 3 from FSA’s M 1 and M 2 Argue L(M 3 ) = L 1 intersect L 2 There exists FSA M 3 s.t. L(M 3 ) = L 1 intersect L 2 L 1 intersect L 2 is in LFSA L 1 intersect L 2 L1L1 L2L2 LFSA M3M3 M1M1 M2M2 FSA’s
14
14 Algorithm Specification Input –Two FSA’s M 1 and M 2 Output –FSA M 3 such that L(M 3 ) = L(M 1 ) intersection L(M 2 ) FSA M 1 FSA M 2 FSA M 3 Alg
15
15 Use Old Ideas Key concept: Try ideas from previous closure property proofs Example –How did the algorithm for proving recursive languages are closed under set intersection work? Run both input programs on the input string Say yes only if both say yes –Try to create an FSA M 3 that simultaneously runs M 1 and M 2 on the input string FSA M 1 FSA M 2 FSA M 3 Alg
16
16 1 Run M 1 and M 2 Simultaneously 0 2 0 0 0 0 1 1 1 1 M1M1 A B 0 10,1 M2M2,A 0,A1,A2,A,B 0,B1,B2,B M3M3 What happens when M 1 and M 2 run on input string 11010? FSA M 1 FSA M 2 FSA M 3 Alg
17
17 Construction Input –FSA M 1 = (Q 1, , q 1, , A 1 ) –FSA M 2 = (Q 2, , q 2, , A 2 ) Output –FSA M 3 = (Q 3, , q 3, , A 3 ) –What is Q 3 ? Q 3 = Q 1 X Q 2 where X is cartesian product In this case, Q 3 = {(,A), (,B), (0,A), (0,B), (1,A), (1,B), (2,A), (2,B)} –What is 3 ? 3 = 1 = 2 In this case, 3 = {0,1} 1 0 2 0 0 0 0 1 1 1 1 M1M1 A B 0 10,1 M2M2
18
18 Construction Input –FSA M 1 = (Q 1, , q 1, , A 1 ) –FSA M 2 = (Q 2, , q 2, , A 2 ) Output –FSA M 3 = (Q 3, , q 3, , A 3 ) –What is q 3 ? q 3 = (q 1, q 2 ) In this case, q 3 = (,A) –What is A 3 ? A 3 = {(p, q) | p in A 1 and q in A 2 } In this case, A 3 = {(0,B)} 1 0 2 0 0 0 0 1 1 1 1 M1M1 A B 0 10,1 M2M2
19
19 Construction Input –FSA M 1 = (Q 1, , q 1, , A 1 ) –FSA M 2 = (Q 2, , q 2, , A 2 ) Output –FSA M 3 = (Q 3, , q 3, , A 3 ) –What is 3 ? For all p in Q 1, q in Q 2, a in , 3 ((p,q),a) = ( 1 (p,a), 2 (q,a)) In this case, – 3 ((0,A),0) = ( 1 (0,0), 2 (A,0)) – = (0,B) – 3 ((0,A),1) = ( 1 (0,1), 2 (A,1)) – = (1,A) 1 0 2 0 0 0 0 1 1 1 1 M1M1 A B 0 10,1 M2M2
20
20 Example Summary 1 0 2 0 0 01 1 1 M1M1 A B 0 10,1 M2M2,A 0,A1,A2,A,B 0,B 1,B2,B M3M3 01 0 1 0 1 0 1 0 1 0 1 0 1
21
21 Observation Input –FSA M 1 = (Q 1, , q 1, , A 1 ) –FSA M 2 = (Q 2, , q 2, , A 2 ) Output –FSA M 3 = (Q 3, , q 3, , A 3 ) –What is A 3 ? A 3 = {(p, q) | p in A 1 and q in A 2 } What if operation were different? –Set union, set difference, symmetric difference
22
22 Observation continued Input –FSA M 1 = (Q 1, , q 1, , A 1 ) –FSA M 2 = (Q 2, , q 2, , A 2 ) Output –FSA M 3 = (Q 3, , q 3, , A 3 ) –What is A 3 ? Set intersection: A 3 = {(p, q) | p in A 1 and q in A 2 } Set union: A 3 = {(p, q) | p in A 1 or q in A 2 } Set difference: A 3 = {(p, q) | p in A 1 and q not in A 2 } Symmetric difference: A 3 = {(p, q) | (p in A 1 and q not in A 2 ) or (p not in A 1 and q in A 2 ) }
23
23 Observation conclusion LFSA is closed under –set intersection –set union –set difference –symmetric difference The constructions used to prove these closure properties are essentially identical
24
24 Comments You should be able to execute this algorithm –Convert two FSA’s into a third FSA with the correct properties. You should understand the idea behind this algorithm –The third FSA essentially runs both input FSA’s simultaneously on any input string –How we set A 3 depending on the specific set operation You should understand the importance of this algorithm –Design tool Suppose you need to build an FSA to accept some language L 3 You observe L 3 = L 1 intersection L 2 You already have or can easily build FSA’s to accept L 1 and L 2 Use this algorithm on those FSA’s to constrct an FSA to accept L 3 You should be able to construct new algorithms for new closure property proofs
25
25 Comparing language classes Showing LFSA is a subset of REC
26
26 LFSA subset REC Proof –Let L be an arbitrary language in LFSA –Let M be an FSA such that L(M) = L M exists by definition of L in LFSA –Construct program P from FSA M –Argue P decides L –There exists a program P which decides L –L is recursive
27
27 Visualization LFSA REC FSA’s C ++ Programs L L M P Let L be an arbitrary language in LFSA Let M be an FSA such that L(M) = L M exists by definition of L in LFSA Construct C++ program P from FSA M Argue P decides L There exists a program P which decides L L is recursive
28
28 Comparison L 1 intersect L 2 L1L1 L2L2 LFSA M3M3 M1M1 M2M2 FSA’s LNFA REC NFA’s C++ Programs L L M P
29
29 Construction The construction is again an algorithm A –Input to A: FSA M –Output of A: C ++ program P such that P decides L(M) –Informal description of algorithm Implement FSA M as C ++ program using switch statements, etc. Construction Algorithm FSA M Program P
30
30 Comparing computational models The previous slides show one method for comparing the relative power of two different computational models –Computational model CM 1 is at least as general or powerful as computational model CM 2 if Any program P 2 from computational model CM 2 can be converted into an equivalent program P 1 in computational model CM 1. –Question: How can we show two computational models are equivalent?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.