Download presentation
Presentation is loading. Please wait.
Published byNorman Hill Modified over 9 years ago
1
CSCI 2670 Introduction to Theory of Computing September 15, 2004
2
Agenda Yesterday –Pumping lemma review Today –Prove the pumping lemma –Introduce context-free grammars
3
Announcement Quiz tomorrow –CGF parse trees & interpretation –Pumping lemma
4
Nonregular languages There are many nonregular languages –{0 n 1 n | n 0} –{101,101001,1010010001,…} –{w | w has the same number of 0s and 1s} All regular languages can be generated by finite automata States must be reused if the length of a string is greater than the number of states –If states are reused, there will be repetition
5
The pumping lemma Theorem: If A is a regular language, then there is a number p where, if s is any string in A of length at least p, then s may be divided into three pieces, s = xyz, satisfying the following conditions 1.for each i 0, xy i z is in A 2.|y| > 0, and 3.|xy| p p is called the pumping length
6
Proof idea Pumping length is equal to the number of states in the DFA whose language is A –p = |Q| If A accepts a word w with |w| > p, then some state must be entered twice while processing w –Pigeonhole principle
7
Proof idea 1.for each i 0, xy i z is in A 2.|y| > 0, and 3.|xy| p x y z
8
Proof Let A be any regular language Find DFA M=(Q, , ,q 0,F) with L(M)=A Let p=|Q| Let s=s 1 s 2 s 3 …s n be any string in A with |s| = n p –What if no such s is in A?
9
Proof (cont.) Let r 1, r 2, r 3, …, r n+1 be the sequence of states entered while processing s –r 1 = q 0 –r n+1 F –r i+1 = (r i, s i )
10
Proof (cont.) Consider the first p+1 elements of this sequence –p+1 states must contain a repeated state Let r k be the first state to be repeated and let r t be the second occurance of this state –t p+1
11
Proof (cont.) Let x=s 1 s 2 …s k-1, y=s k s k+1 …s t-1, z=s t s t+1 …s n There is an error in the proof on page 79 of Sipser (y is incorrectly defined) –x takes M from r 1 to r k –y takes M from r k to r t –z takes M from r t to r n+1, which is an accept state Since r k and r t are the same state, M must accept xy i z for any i=0, 1, 2, …
12
Proof (cont.) Have we satisfied the conditions of the theorem? 1.for each i 0, xy i z is in A 2.|y| > 0, and 3.|xy| p Have we satisfied the conditions of the theorem? 1.for each i 0, xy i z is in A Yes 2.|y| > 0, and Yes since t > k and y=s k s k+1 …s t-1 3.|xy| p Yes since t p+1 and xy = s 1 s 2 …s t-1
13
Regular languages -- Summary Let R be any language. The following are equivalent 1.R is a regular language 2.R = L(M) for some finite automata M, where M is a DFA, an NFA, or a GNFA 3.R is describe by some regular expression 4.R has a pumping length of p If R can be shown not to have a finite pumping length, then R is not regular
14
Context-free grammars The shortcoming of finite automata is that each state has very limited meaning –You have no memory of where you’ve been – only knowledge of where you are Context-free grammars are a more powerful method of describing languages –Example: {0 n 1 n | n 0} is a CFG
15
Example CFG Context-free grammars use substitution to maintain knowledge S (S) S SS S () All possible legal parenthesis pairings can be expressed by consecutive applications of these rules Is this a regular language?
16
Example S (S) | SS | () (()())(()) S SS (S)(S) (SS)(()) (()())(()) This sequence of substitutions is called a derivation
17
Parse tree S (S) | SS | () S SS SS () S )( S ()
18
Example 2 S Sb | Bb B aBb | aCb C ε Derivation for aaabbbbb S Sb Bbb aaBbbbb aaaεbbbbb aBbbb aaaCbbbbb
19
Example 2 parse tree S ε S b B b B ab B ab ba C
20
Example 2 S Sb | Bb B aBb | aCb C ε Question 1: What language does this grammar accept? Answer: {a n b m | m > n > 0} Question 2: Can this CFG be simplified? Answer: yes. Replace B aCb with B ab and remove C ε
21
Other languages described by CFG’s The foxtrot –http://linus.socs.uts.edu.au/~don/pubs/foxtrot.htmlhttp://linus.socs.uts.edu.au/~don/pubs/foxtrot.html A type of Tamil poetry called Venpa Ancient language of Sanscrit –http://en.wikipedia.org/wiki/Context-free_grammarhttp://en.wikipedia.org/wiki/Context-free_grammar
22
Tomorrow Formal definition for CFG Designing CFG’s
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.