theory of computer science
play

Theory of Computer Science C5. Context-free Languages: Normal Forms, - PowerPoint PPT Presentation

Theory of Computer Science C5. Context-free Languages: Normal Forms, Closure, Decidability Malte Helmert University of Basel April 6, 2016 Context-free Grammars and -Rules Chomsky Normal Form Closure Properties Decidability Summary


  1. Theory of Computer Science C5. Context-free Languages: Normal Forms, Closure, Decidability Malte Helmert University of Basel April 6, 2016

  2. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Agenda for this Chapter repetition of context-free grammars ε -rules normal form for context-free grammars closure properties decidability

  3. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Context-free Grammars and ε -Rules

  4. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Repetition: Context-free Grammars Definition (Context-free Grammar) A context-free grammar is a 4-tuple � Σ , V , P , S � with 1 Σ finite alphabet of terminal symbols, 2 V finite set of variables (with V ∩ Σ = ∅ ), 3 P ⊆ ( V × ( V ∪ Σ) + ) ∪ {� S , ε �} finite set of rules, 4 If S → ε ∈ P , then all other rules in V × (( V \ { S } ) ∪ Σ) + . 5 S ∈ V start variable.

  5. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Repetition: Context-free Grammars Definition (Context-free Grammar) A context-free grammar is a 4-tuple � Σ , V , P , S � with 1 Σ finite alphabet of terminal symbols, 2 V finite set of variables (with V ∩ Σ = ∅ ), 3 P ⊆ ( V × ( V ∪ Σ) + ) ∪ {� S , ε �} finite set of rules, 4 If S → ε ∈ P , then all other rules in V × (( V \ { S } ) ∪ Σ) + . 5 S ∈ V start variable. Rule X → ε is only allowed if X = S and S never occurs on a right-hand side.

  6. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Repetition: Context-free Grammars Definition (Context-free Grammar) A context-free grammar is a 4-tuple � Σ , V , P , S � with 1 Σ finite alphabet of terminal symbols, 2 V finite set of variables (with V ∩ Σ = ∅ ), 3 P ⊆ ( V × ( V ∪ Σ) + ) ∪ {� S , ε �} finite set of rules, 4 If S → ε ∈ P , then all other rules in V × (( V \ { S } ) ∪ Σ) + . 5 S ∈ V start variable. Rule X → ε is only allowed if X = S and S never occurs on a right-hand side. With regular grammars, this restriction could be lifted. How about context-free grammars?

  7. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary ε -Rules Theorem For every grammar G with rules P ⊆ V × ( V ∪ Σ) ∗ there is a context-free grammar G ′ with L ( G ) = L ( G ′ ) .

  8. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary ε -Rules Theorem For every grammar G with rules P ⊆ V × ( V ∪ Σ) ∗ there is a context-free grammar G ′ with L ( G ) = L ( G ′ ) . Proof. Let G = � Σ , V , P , S � be a grammar with P ⊆ V × ( V ∪ Σ) ∗ . Let V ε = { A ∈ V | A ⇒ ∗ ε } . We can find this set V ε by first collecting all variables A with rule A → ε ∈ P and then successively adding additional variables B if there is a rule B → A 1 A 2 . . . A k ∈ P and the variables A i are already in the set for all 1 ≤ i ≤ k . . . .

  9. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary ε -Rules Theorem For every grammar G with rules P ⊆ V × ( V ∪ Σ) ∗ there is a context-free grammar G ′ with L ( G ) = L ( G ′ ) . Proof (continued). Let P ′ be the rule set that is constructed from P by adding rules that obviate the need for A → ε rules: for every existing rule B → w with B ∈ V , w ∈ ( V ∪ Σ) + , let I ε be the set of positions where w contains a variable A ∈ V ε . For every non-empty set I ′ ⊆ I ε , add a new rule B → w ′ , where w ′ is constructed from w by removing the variables at all positions in I ′ . removing all rules of the form A → ε (after the previous step). . . .

  10. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary ε -Rules Theorem For every grammar G with rules P ⊆ V × ( V ∪ Σ) ∗ there is a context-free grammar G ′ with L ( G ) = L ( G ′ ) . Proof (continued). Then L ( G ) \ { ε } = L ( � Σ , V , P ′ , S � ) and P ′ contains no rule A → ε . If the start variable S of G is not in V ε , we are done.

  11. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary ε -Rules Theorem For every grammar G with rules P ⊆ V × ( V ∪ Σ) ∗ there is a context-free grammar G ′ with L ( G ) = L ( G ′ ) . Proof (continued). Then L ( G ) \ { ε } = L ( � Σ , V , P ′ , S � ) and P ′ contains no rule A → ε . If the start variable S of G is not in V ε , we are done. Otherwise, let S ′ be a new variable and construct P ′′ from P ′ by 1 replacing all occurrences of S on the right-hand side of rules with S ′ , 2 adding the rule S ′ → w for every rule S → w , and 3 adding the rule S → ε . Then L ( G ) = L ( � Σ , V ∪ { S ′ } , P ′′ , S � ).

  12. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Questions Questions?

  13. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form

  14. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Motivation As in logical formulas (and other kinds of structured objects), normal forms for grammars are useful: they show which aspects are critical for defining grammars and which ones are just syntactic sugar they allow proofs and algorithms to be restricted to a limited set of grammars (inputs): those in normal form Hence we now consider a normal form for context-free grammars.

  15. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Definition Definition (Chomsky Normal Form) A context-free grammar G is in Chomsky normal form (CNF) if all rules have one of the following three forms: A → BC with variables A , B , C , or A → a with variable A , terminal symbol a , or S → ε with start variable S . German: Chomsky-Normalform in short: rule set P ⊆ ( V × ( VV ∪ Σ)) ∪ {� S , ε �}

  16. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Theorem Theorem For every context-free grammar G there is a context-free grammar G ′ in Chomsky normal form with L ( G ) = L ( G ′ ) .

  17. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Theorem Theorem For every context-free grammar G there is a context-free grammar G ′ in Chomsky normal form with L ( G ) = L ( G ′ ) . Proof. The following algorithm converts the rule set of G into CNF: Step 1: Eliminate rules of the form A → B with variables A , B . If there are sets of variables { B 1 , . . . , B k } with rules B 1 → B 2 , B 2 → B 3 , . . . , B k − 1 → B k , B k → B 1 , then replace these variables by a new variable B . Then rename all variables to V = { A 1 , . . . , A n } in a way that A i → A j ∈ P implies that i < j . For k = n − 1 , . . . , 1: Eliminate all rules of the form A k → A k ′ with k ′ > k and add a rule A k → w for every rule A k ′ → w with w ∈ ( V ∪ Σ) + . . . .

  18. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Theorem Theorem For every context-free grammar G there is a context-free grammar G ′ in Chomsky normal form with L ( G ) = L ( G ′ ) . Proof (continued). Step 2: Eliminate rules with terminal symbols on the right-hand side that do not have the form A → a . For every terminal symbol a ∈ Σ add a new variable A a and the rule A a → a . Replace all terminal symbols in all rules that do not have the form A → a with the corresponding newly added variables. . . .

  19. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Theorem Theorem For every context-free grammar G there is a context-free grammar G ′ in Chomsky normal form with L ( G ) = L ( G ′ ) . Proof (continued). Step 3: Eliminate rules of the form A → B 1 B 2 . . . B k with k > 2 For every rule of the form A → B 1 B 2 . . . B k with k > 2, add new variables C 2 , . . . , C k − 1 and replace the rule with A → B 1 C 2 C 2 → B 2 C 3 . . . C k − 1 → B k − 1 B k

  20. Context-free Grammars and ε -Rules Chomsky Normal Form Closure Properties Decidability Summary Chomsky Normal Form: Length of Derivations Observation Let G be a grammar in Chomsky normal form, and let w ∈ L ( G ) be a non-empty word generated by G . Then all derivations of w have exactly 2 | w | − 1 derivation steps. Proof. � Exercises

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend