Loading in 2 Seconds...

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10

Loading in 2 Seconds...

- 127 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about ' CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 10' - chastity-dominguez

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### ContentThe Pumping Lemma for CFLApplications of the Pumping Lemma for CFLExample of Midterm Exam 2 (CFL)

### The Pumping LemmaforContext-Free Languages

### Comparison between the Pumping Lemma for Context Free and Regular Languages

### Pumping Lemma

### Check your knowledge before the Midterm 2!Selected ExamplesofContext Free Language Problems

Based on C Busch, RPI, Models of Computation

Take an infinite context-free language.

It generates an infinite number of different strings:

Example:

Derivation tree

is also generated by the grammar

We also know the following string is generated:

Therefore, the following string is also generated:

Therefore, the following string is also generated:

Therefore, the following string is also generated:

context-free grammar .

In general

Assume has no unit-productions

and no -productions.

with length bigger than

(Number of productions) x

(Largest right side of a production)

>

Consequence:

Some variable must be repeated

in the derivation of .

derivations

Following string is also generated:

This string is also generated:

This string is also generated:

This string is also generated:

Therefore, any string of the form

is generated by the grammar

(Largest right side of a production)

Observation:

Since is the last repeated variable

A string has length bigger than

>

Since there are no unit or productions

For infinite context-free language

there exists an integer such that

for any string

we can write

with lengths

and

The Pumping Lemma for CFL

is context-free.

Since is context-free and infinite

we can apply the pumping lemma.

with lengths and

for all

We examine all the possible locations

of string in

is within

and consist from only

Repeating and

From Pumping Lemma:

is within

is within

overlaps and

From Pumping Lemma:

From Pumping Lemma:

overlaps and

In all cases we obtain a contradiction.

Therefore:

The original assumption that

is context-free must be wrong.

Conclusion:

is not context-free.

END OF PROOF

......

What is the difference between Context Free Languages and Regular Languages?In regular languages a single symbol/substring in the string w can be “pumped”.

The difference between Context Free Languages and Regular Languages

In CFL’s multiple symbols/substrings in the string w can be “pumped”.

Consider the language {an bn | n > 0}

No single symbol can be pumped and allow us to stay in the language.

However, there do exist pairs of symbols which can be pumped resulting in strings which stay in the language.

Thus a CFL pumping lemma applies.

A language L satisfies the RLpumping condition if:

there exists an integer m > 0 such that

for all strings w in L of length at least m

there exist strings x, y, zsuch that

w = xyzand

|xy| ≤ mand

|y| ≥ 1and

for all i ≥ 0, xyizis in L

|xy| ≤ m is in the beginning of the w and can be pumped within m symbols.

A language L satisfies theCFLpumping condition if:

there exists an integer m > 0such that

for all strings w in L of length at least m

there exist strings u, v, x, y, z such that

w = uvxyzand

|vxy| ≤ mand

|vy| ≥ 1and

for all i ≥ 0, uvixyiz is in L

|vxy| ≤ mand u comes first in the w and it can be arbitrarily long.

Pumping Conditions for RL and CFL“Pumping Languages”

All languages over {a,b}

Pumping LemmaAll CFL’s satisfy the CFL pumping condition

But some languages that satisfy CFL pumping condition are not CFL!

Implications

CFL’s

“Pumping Languages”

All languages over {a,b}

We can use the pumping lemma to prove a language Lis not a CFL.

Show that L does not satisfy the CFL pumping condition.

We cannot use the pumping lemma to prove a language is CFL.

Showing L satisfies the pumping condition does not guarantee that L is context-free.

What does it mean?

Pumping Condition

- A language L satisfies the CFL pumping condition if:
- there exists an integer m > 0such that
- for all strings w in L of length at least m
- there exist strings u, v, x, y, zsuch that
- w = uvxyzand
- |vxy| ≤ m and
- |vy| ≥ 1 and

Then for all i ≥ 0, uviwyizis in L

v and y can be pumped

1) w in L2) w = uvxyz3) for all i ≥ 0, uvixyiz is in L

- Let w = abcdefgbe in L
- Then there exist substrings v and y in w such that v and y can be repeated (pumped) and the resulting string is still in L:

uvixyiz is in L for all i ≥ 0

For example w =abcdefg

v = cdand y = f

uv0xy0z = uxz =abegis in L

uv1xy1z = uvxyz = abcdefgis in L

uv2xy2z = uvvxyyz = abcdcdeffgis in L

uv3xy3z = uvvvxyyyz = abcdcdcdefffg is in L

…

What the other parts mean

A language L satisfies the CFL pumping condition if:

there exists an integer m > 0 such that

for all strings w in L of length at least m

w must be in L

What the other parts mean

There exist strings u, v, x, y, z such that

- w = uvxyz and
- |vxy| ≤ m and

v and y are contained within m characters of w

Note: these are NOT necessarily the first m characters of w

|vy| ≥ 1

(v and y cannot both be , one of them might be , but not both)

- For all i ≥ 0, uvixyiz is in L

APPLYING CFL PUMPING LEMMA TO PROVE THAT A LANGUAGE LIS NOT CONTEXT-FREE

How we use the Pumping Lemma

- We choose a specific language L.
- We show that L does not satisfy the pumping condition.
- We conclude that L is not context-free.

A language L satisfies the CFL pumping condition if:

there exists an integer m > 0 such that

for all strings w in L of length at least m

there exist strings u, v, x, y, z such that

w = uvxyz and

|vxy| ≤ m and

|vy| ≥ 1 and

for all i ≥ 0, uvixyiz is in L

A language L does not satisfy the CFL pumping condition if:

for all integers m of sufficient size

there exists a string w in L of length at least m such that

for all strings u, v, x, y, z where

w = uvxyz and

|vxy| ≤ m and

|vy| ≥ 1

there exists a i ≥ 0 such that uvixyiz is not in L

Showing that L “does not pump”For infinite context-free language

there exists an integer such that

for any string

we can write

with lengths

then

The Pumping Lemma for CFL

and

is context-free.

Since is context-free and infinite

we can apply the pumping lemma.

We examine all the possible locations

of string in

is within the first

is within the first

is within the first

In all cases we obtain a contradiction.

Therefore:

The original assumption that

is context-free must be wrong.

Conclusion:

END OF PROOF

Since is context-free and infinite

we can apply the pumping lemma.

Assume to the contrary that

is context-free.

Contradiction!

Therefore:

The original assumption that

is context-free must be wrong

Conclusion:

is not context-free

END OF PROOF

Since is context-free and infinite

we can apply the pumping lemma.

Assume to the contrary that

is context-free.

We examine all the possible locations

of string in

The most complicated sub-case:

The most complicated sub-case:

The most complicated sub-case:

Contradiction!

When we examine the rest of the cases

we also obtain a contradiction.

Conclusion:

In all cases we obtain a contradiction.

Therefore:

The original assumption that

is context-free must be wrong.

END OF PROOF

Problem 1. Find a CFG for the following language

Solution 1.

Let G be the grammar with productions:

Claim: L(G) = L

Find a CFG for the following language:

Proof:

Consider the following derivation:

(the first * applies S aSc n times, the second * to B bBc m times)

Since all words in L(G) must follow this pattern in their derivations, it is clear that L(G) L

Find a CFG for the following language

Considerw L, w = anbmc(n + m)for some n, m 0

The derivation

S * anScn anBcn * anbmBcmcn anbmc(n + m)

clearly produces w for any n, m.

L L(G)

L L(G)

G is a CFG for L

END OF PROOF

Find a PDA and CFG for the following language

Solution 2.

Is the automaton deterministic? Yes.

It acts in a unique way in each state, no l-transitions.

Prove that the language L is context-free

Consider the following two languages:

L1 ={w : w is made from a’s and b’s

and the length of w is a multiple of 10}

L2 = {an bn: n 0}

Solution 4.

L1 ={w : w is made from a’s and b’s and the length of w is a multiple of ten}

L2 = {an bn: n 0}

LetL1cdenote the complement of L1.

We have that: L = L1c L2.

L1is a regular language, since we can easily build a finite automaton with 10 states that accepts any string in this language.

L1cis regular too, since regular languages are closed under complement.

The language L2is context-free.

The grammar is: S aSb |

Therefore, the language L = L1c L2is also context-free,

since context-free languages are closed under regular intersection (Regular Closure).

END O PROOF

Strings start and finish with different symbols

Strings contain at least one more a than b

(we must have AA here as only one A just balances b)

Famous Pushdown Automata Examples

http://www.liacs.nl/~hoogeboo/praatjes/tarragona/schoolpda-VIII.pdf

Computational and evolutionary aspects of language

http://www.nature.com/nature/journal/v417/n6889/full/nature00771.html

Download Presentation

Connecting to Server..