 # CSCI 2670 Introduction to Theory of Computing September 15, 2004.

## Presentation on theme: "CSCI 2670 Introduction to Theory of Computing September 15, 2004."— Presentation transcript:

CSCI 2670 Introduction to Theory of Computing September 15, 2004

Agenda Yesterday –Pumping lemma review Today –Prove the pumping lemma –Introduce context-free grammars

Announcement Quiz tomorrow –CGF parse trees & interpretation –Pumping lemma

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

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

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

Proof idea 1.for each i  0, xy i z is in A 2.|y| > 0, and 3.|xy|  p x y z

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?

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 )

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

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, …

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

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

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

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?

Example S  (S) | SS | () (()())(()) S  SS  (S)(S)  (SS)(())  (()())(()) This sequence of substitutions is called a derivation

Parse tree S  (S) | SS | () S SS SS () S )( S ()

Example 2 S  Sb | Bb B  aBb | aCb C  ε Derivation for aaabbbbb S  Sb  Bbb  aaBbbbb  aaaεbbbbb  aBbbb  aaaCbbbbb

Example 2 parse tree S ε S b B b B ab B ab ba C

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  ε

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

Tomorrow Formal definition for CFG Designing CFG’s

Download ppt "CSCI 2670 Introduction to Theory of Computing September 15, 2004."

Similar presentations