Cs 3240 chapter 8
This presentation is the property of its rightful owner.
Sponsored Links
1 / 34

Properties of Context-Free Languages PowerPoint PPT Presentation


  • 119 Views
  • Uploaded on
  • Presentation posted in: General

CS 3240 – Chapter 8. Properties of Context-Free Languages. Query. Is a n b n c n context-free?. Non-Context-Free Languages. a n b n c n is not context-free Neither is ww although ww R is! We will develop a pumping lemma for context-free languages (oh joy! :-)

Download Presentation

Properties of Context-Free Languages

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


Cs 3240 chapter 8

CS 3240 – Chapter 8

Properties of Context-Free Languages


Query

Query

  • Is anbncn context-free?

CS 3240 - Properties of Context-Free Languages


Non context free languages

Non-Context-Free Languages

  • anbncn is not context-free

  • Neither is ww

    • although wwR is!

  • We will develop a pumping lemma for context-free languages

    • (oh joy! :-)

    • as before, can only be used to show that a language is not CF

CS 3240 - Properties of Context-Free Languages


Properties of infinite cf languages

Properties of Infinite CF Languages

  • How can you tell by looking at a CFG whether its language is infinite or not?

CS 3240 - Properties of Context-Free Languages


An infinite cfl

An Infinite CFL

  • S → aaB

  • A → bBb | λ

  • B → Aa

  • Consider the derivation:S ⇒ aaB ⇒aaAa ⇒ aabBba ⇒ aabAaba⇒ aabbBbaba ⇒ aabbAababa …

CS 3240 - Properties of Context-Free Languages


Infinite cfls

Infinite CFLs

  • Grammars for infinite CFL must reuse a variable in some derivation

  • S ⇒* uAz ⇒* uvAyz

    • That is, A ⇒* vAy

    • u,v,y,z,are derivable strings of characters and variables

  • We can repeat the same choices for A again:

    • S ⇒* uAz ⇒* uvAyz ⇒* uvvAyyz

  • And again and again… (finally stopping with x)

    • S ⇒*uvnAynz ⇒* uvnxynz

  • So for any sufficiently long string, s, we have

    • s = uvnxynz

CS 3240 - Properties of Context-Free Languages


What will force a variable repeat

What Will Force a Variable Repeat?

  • Hint: think of derivation trees, and the relationship between the depth and the number of leaves in a tree

CS 3240 - Properties of Context-Free Languages


Reminder binary trees

Reminder: Binary Trees

  • If a complete binary has depth d, how many leaves does it have?

CS 3240 - Properties of Context-Free Languages


And my point

And My Point?

  • Consider a path from the root of a tree (S) to a leaf.

  • It is all variables, except for the leaf

  • The longer the string, the deeper the path

  • Eventually a variable must be repeated!

CS 3240 - Properties of Context-Free Languages


The pumping lemma for cfls

The Pumping Lemma for CFLs

  • Based on a repeated variable (a type of loop)

    • For sufficiently-long strings (≥ p = 2v), some variable will be a descendant of itself in the parse

  • Every string of sufficient length from an infinite CFL can be written as uvxyz, and pumped as uvixyiz, i ≥ 0:

    • |v| + |y| > 0

    • |vxy| <= p


A n b n a n is not context free

anbnan is not context-free

  • Intuitively: We’ve already used up the stack to coordinate the anbn prefix

  • Must consider all cases for a proof

    • CFLPL-8.PDF


Ww is not context free

ww is not Context Free

  • Use the pumping lemma with apbpapbp


Closure properties of cfls section 8 2

Closure Properties of CFLsSection 8.2

  • (N)CFLs are closed under:

    • Union

    • Concatenation

    • Kleene Star

    • “Regular Intersection” (CF ∩ R = CF)

  • (N)CFLs are not closed under:

    • intersection

    • complement

CS 3240 - Properties of Context-Free Languages


Union of cfls

Union of CFLs

  • Let S1 be the start symbol for L1, and S2 for L2

  • Just have a new start symbol point to the OR of the old ones:

  • S => S1 | S2S1 => …S2 => …


Concatenation of cfls

Concatenation of CFLs

  • S => S1S2S1 => …S2 => …


Kleene star of cfls

Kleene Star of CFLs

  • Rename the old start variable to S1

  • S => S1S | λS1 => …


Intersection of cfls

Intersection of CFLs

  • Let L1 = anbncm

    • The concatenation of anbnand cm

  • Let L2 = anbmcm

    • The concatenation of an and bmcm

  • These are both context-free

  • L1∩ L2 = anbncn

    • We already showed this is not context free


Regular intersection

“Regular” Intersection

  • Let R be a regular language and L a context-free language

  • The R∩Lis context-free

  • Why?

CS 3240 - Properties of Context-Free Languages


Regular intersection example a n b n even even

Regular Intersection Exampleanbn ∩ EVEN-EVEN

CS 3240 - Properties of Context-Free Languages


Combine the tables in the usual way

Combine the TablesIn the Usual Way

CS 3240 - Properties of Context-Free Languages


Resulting intersection

Resulting Intersection

jail

CS 3240 - Properties of Context-Free Languages


Complement of cfls

Complement of CFLs

  • Proof by contradiction, derived from the formula for intersection:L1∩ L2 = (L1' + L2')'Since the intersection is not closed, but union is, then the complement cannot be.

    • (Otherwise we could compute the intersection, which in general is not CF)


Complement of cfls another look

Complement of CFLsAnother Look

  • Non-determinism is the problem

  • Remember NFAs?

    • To find the complement, we needed to first convert to a DFA, then flip the states

  • Since some CFLs are inherently non-deterministic, they have no deterministic equivalent to “flip”

  • But… what does this say about deterministic CFLs?

CS 3240 - Properties of Context-Free Languages


Closure properties of dcfls

Closure Properties of DCFLs

  • DCFLs are closed under:

    • Complement!

    • Concatenation

    • Kleene Star

    • “Regular Intersection” (CF ∩ R = CF)

  • DCFLs are not closed under:

    • Intersection

    • Union!

CS 3240 - Properties of Context-Free Languages


Dcfls not closed under union

DCFLs not Closed under Union!

  • Consider:L1 = {aibjck | i = j}L2 = {aibjck | j = k}

  • Each of these is DCF

    • (Easy to show – your 7.1 homework was similar)

  • The union is not!

    • It requires non-determinism

    • It’s still context-free, but not Deterministic CF


Another interesting fact fyi

Another Interesting FactFYI

  • DCFLs always have an associated CFG that is unambiguous


Closure properties of cfls summary

Closure Properties of CFLsSummary

  • Closed under Union, Concatenation, Kleene Star

  • Not closed under intersection, complement

  • CFL ∩ Regular = CFL

  • DCFLs are closed under complement

    • But not union!

    • Swap those two


Decidability

Decidability

  • Unanswerable questions

  • Answerable questions


Undecidable questions

Undecidable Questions

  • Do 2 arbitrary CFGs generate the same language?

  • Is a CFG ambiguous?

  • Is a given NCFL’s complement also CF?

  • Is the intersection of 2 given CFLs CF?

  • Do 2 CFLs have a common word?


Decidable questions

Decidable Questions

  • Is a non-terminal ever used in a productive derivation?

    • Draw the connectivity graph ✔

  • Does a CFG generate any words?

    • Substitute each “terminating production” (RHS is all terminals) throughout and see what happens

      • “back substitution method”

  • Is a CFL finite or infinite?

    • Procedure to detect useful, repeated variables


Example is a string generated

ExampleIs a string generated?

S → aA | bB | λ

A → a | aCA | bDA | bBa | aAa

B → b | aAb | aCB | bDB | bBb

C → aCC | bDC

D → aCD | bDD

First remove useless variables…

CS 3240 - Properties of Context-Free Languages


Example is a string generated1

ExampleIs a string generated?

S → aA | bB | λ

A → a | bBa | aAa

B → b | aAb | bBb

Pick a non-empty, terminal rule: A → a

Back-substitute that rule:

S → aa | bB | λ

A → a | bBa | aaa

B → b | aab | bBb

Keep going until we have S → <terminal string>, or we can’t continue. We have S → aa. STOP.

CS 3240 - Properties of Context-Free Languages


Example is the language infinite

ExampleIs the language infinite?

S → aA | bB | λ

A → a | bBa | aAa

B → b | aAb | bBb

All variables are useful. Let’s see if A is repeated, for instance.

First, mark all A’s on the right:

S → aA | bB | λ

A → a | bBa | aAa

B → b | aAb | bBb

Now mark all variables affected on the left:

S → aA | bB | λ

A → a | bBa | aAa

B → b | aAb | bBb

Since A was marked on the left, it is repeated.

CS 3240 - Properties of Context-Free Languages


Example test for non emptiness infinite ness

ExampleTest for non- emptiness, infinite-ness

S ➞ aA | SBMark on left:

A ➞ baB | λ

B ➞ bB | bAS ➞ aA | SB

A ➞ baB | λ

Mark A’s on right:B ➞ bB | bA

S ➞ aA | SBA was marked on left. DONE.

A ➞ baB | λ

B ➞ bB | bA

Now mark corresponding variables on left:

S ➞ aA | SB

A ➞ baB | λ

B ➞ bB | bA

Repeat marking on right:

S ➞ aA | SB

A ➞ baB | λ

B ➞ bB | bA

CS 3240 - Properties of Context-Free Languages


  • Login