210 likes | 400 Views
CSC3130 Formal Languages and Automata Theory. Tutorial 8: Assignment 3, Pumping Lemma and Closure Tutor: Jeff Choi 9 th Week, Fall 2003. Question 1. Construction of CFG Hints: Think about the inductive definition, see Tutorial 6 for examples
E N D
CSC3130 Formal Languages and Automata Theory Tutorial 8: Assignment 3, Pumping Lemma and Closure Tutor: Jeff Choi 9th Week, Fall 2003
Question 1 • Construction of CFG • Hints: • Think about the inductive definition, see Tutorial 6 for examples • Recognize the substrings that each variable represent • Be careful of “extreme cases”e.g. Does ε belongs to the language? What if an and n = 0? • Be careful of the “special case” pitfall e.g. the set of all strings over {0, 1} with equal number of 0’s and 1’s, 0n1n is only a special case
Question 2 • Recognize the substrings that each variable represent • Describe the language using either set notation or English.
Question 3 • Show a string that has multiple leftmost derivations from the start symbol • Equivalently: multiple rightmost derivations or multiple parse trees • Making the CFG unambiguous, see Tutorial 6 for example • Explain briefly why you have a unique parse tree for any strings accepted by your unambiguous CFG
Question 4 • Show that every RL is a CFL • Hint: • Every RL can be described by a RE • Every CFL can be described by a CFG • Show that we can construct a CFG for every RE
Question 5 • See Tutorial 7 for example on conversion into CNF and GNF • Make sure there is no -production nor unit-production
Clarifying GNF • Example: S AB | BC A AB | a B AA | CB | b C a | b • Step1: variables order, A1 = S, A2 = A, A3 = B, A4 = C A1 A2A3 | A3A4 A2 A2A3 | a A3 A2A2 | A4A3 | b A4 a | b
Clarifying GNF • Step 2: Transform the rules to the form Ai Aj where i < j for i = 1 to 4 do for each rule Ai Aj where i > j, do substitution for each rule Ai Ai, remove left recursion end for • The rules of A1 are fine A1 A2A3 | A3A4 A2 A2A3 | a A3 A2A2 | A4A3 | b A4 a | b
Clarifying GNF • For the rules of A2, we remove left recursion A1 A2A3 | A3A4 A2 aB1 | a A3 A2A2 | A4A3 | b A4 a | b B1 A3B1| A3 A1 A2A3 | A3A4A2 A2A3 | aA3 A2A2 | A4A3 | bA4 a | b Replace: X 1 | 2 | … | nX X1 | X2 | … | Xn By: X 1 | 2 | … | n X 1Z | 2Z | … | nZ Z 1 | 2 | … | n Z 1Z | 2Z | … | nZ
Clarifying GNF • For the rules of A3, we do substitution A1 A2A3 | A3A4 A2 aB1 | a A3 aB1A2 | aA2 | A4A3 | b A4 a | b B1 A3B1| A3 • The rules of A4 are fine A1 A2A3 | A3A4 A2 aB1 | a A3 A2A2 | A4A3 | b A4 a | b B1 A3B1| A3
Clarifying GNF • Step 3: substitute backward, A4, A3, A2, A1, B1 A1 aB1A3 | aA3 | aB1A2A4 | aA2A4 | aA3A4 | bA3A4 | bA4 A2 aB1 | a A3 aB1A2 | aA2 | aA3 | bA3 | b A4 a | b B1 aB1A2B1 | aA2B1 | aA3B1 | bA3B1 | bB1| aB1A2 | aA2 | aA3 | bA3 | b A1 A2A3 | A3A4 A2 aB1 | a A3 aB1A2 | aA2 | A4A3 | b A4 a | b B1 A3B1| A3
Simpler Variable Ordering • Example: S AB | BC A AB | a B AA | CB | b C a | b • Simpler variables order, A1 = S, A2 = B, A3 = A, A4 = C A1 A3A2 | A2 A4 A2 A3A3 | A4A2 | b A3 A3A2 | a A4 a | b
Question 6 and 7 • See Tutorial 6 for examples on simplification of CFG • Removal of -production, determines the nullable symbols • Removal of unit-productions, determines the unit pairs • For Question 7, the given CFG provides hints on the correct order of the steps in CFG simplification, do it carefully.
Common Errors in Assignment 2 • Pumping Lemma for Regular Set • Closure Properties
How to apply Pumping Lemma? • To show a language L is not regular: • Assume L is regular • Pick n the constant of Pumping Lemma • Pick a string w L (which may depends on n) where |w| ≥ n • Divide w into xyz such that y and |xy| ≤ n • Pick constant k ≥ 0and shows that xykz L • By Pumping Lemma, xykz L, contradiction
Example • L = {anbn | n > 0} • Assume L is regular • Pick n the constant of Pumping Lemma • Pick w be anbn and |w| = 2n ≥ n • Divide w into x = ap, y = an-p, z = bnwhere p < n, y and |xy| = p + n p ≤ n • Pick k = 0and the string xy0z = xz = apbn L • By Pumping Lemma, xykz L, contradiction
Another Method • We want to prove that L = {anbn | n = 0,1,2,…} is non-regular. Prove by contradiction: • Assume that there is a DFA M that recognizes L. Let n be the total number of states in M. • Consider the acceptance of the input arbr where r n: b a a a b b qπ(0) qπ(1) qπ(r) qπ(r+1) qπ(2r) …... …...
Another Method • Since r n and M has only n states, there must be at least one state visited twice in the first r transitions. Let this state be visited at the ith and the jth steps, where j > i and (j – i) ≥ 1. • By skipping the loop, ar-(j-i)br should also be accepted by M, but this is contradictory since ar-(j-i)br L qπ(i)= qπ(j) qπ(2r) F The path in M when reading arbr qπ(0)
What is Closure Properties? • A set of languagesG is said to be closed under an operation opif the application of opto languages L G will result in another language L’ G
Example • Is G = the set of all languages over Σ={0, 1} that have no strings with substring “010”, closed under complementation? • To arrive at a contradiction: • Pick a language L G, e.g. pick a set of string {101}, and NOT a single string “101” • complementation of L is (Σ* L) and NOT flipping between 0 and 1, e.g. the complement of {101} is { | Σ* and 101} and NOT {010} • Show that (Σ* L) G