cs 3240 chapter 8
Download
Skip this Video
Download Presentation
Properties of Context-Free Languages

Loading in 2 Seconds...

play fullscreen
1 / 34

Properties of Context-Free Languages - PowerPoint PPT Presentation


  • 165 Views
  • Uploaded on

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! :-)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Properties of Context-Free Languages' - brent


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
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 | SB Mark on left:

A ➞ baB | λ

B ➞ bB | bA S ➞ aA | SB

A ➞ baB | λ

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

S ➞ aA | SB A 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

ad