languages accepted by npdas accept grammars npdas context
play

= Languages Accepted by NPDAs Accept (Grammars) NPDAs - PDF document

Review Languages and Grammars Alphabets, strings, languages Regular Languages CS 301 - Lecture 13 Deterministic Finite and Nondeterministic Automata Equivalence of NFA and DFA Converting NPDAs to Grammars Regular


  1. Review • Languages and Grammars – Alphabets, strings, languages • Regular Languages CS 301 - Lecture 13 – Deterministic Finite and Nondeterministic Automata – Equivalence of NFA and DFA Converting NPDAs to Grammars – Regular Expressions – Regular Grammars and – Properties of Regular Languages – Languages that are not regular and the pumping lemma • Context Free Languages Deterministic Pushdown Automata – Context Free Grammars – Derivations: leftmost, rightmost and derivation trees Fall 2008 – Parsing and ambiguity – Simplifications and Normal Forms – Nondeterministic Pushdown Automata – Converting Context Free Grammars into NPDAs • Today: – Converting NPDAs to Context Free Grammars – Deterministic Pushdown Automata Theorem: Context-Free Languages = Languages Accepted by NPDAs Accept (Grammars) NPDAs Context-Free Languages 1

  2. Proof - Step 1: Proof - Step 2: Context-Free Languages Context-Free Languages Languages Accepted by Languages Accepted by (Grammars) NPDAs (Grammars) NPDAs M Convert any context-free grammar G Convert any NPDA to a context-free L ( G ) L ( M ) L ( G ) L ( M ) to a NPDA with: M grammar with: G = = Last Time we showed how to convert A grammar to an NPDA….. For any NPDA M Proof - step 2 Converting we will construct NPDAs a context-free grammar with G to Context-Free Grammars L ( M ) L ( G ) = 2

  3. Some Necessary 1) Modify the NPDA so that the stack is never empty Modifications Modify (if necessary) the NPDA so that: Stack 1) The stack is never empty a 2) It has a single final state $ $ and empties the stack when it accepts a string OK OK NOT OK 3) Has transitions in a special form # Introduce the new symbol to denote # At the beginning push into the stack the bottom of the stack a Original NPDA $ $ new initial state , # λ λ → a # # $ $ # original initial state 3

  4. In transitions: # $ replace every instance of with Convert all transitions so that: Example: a , $ b → q q if the automaton attempts to pop j i $ or replace it will halt a , # b → q q j i Convert transitions as follows: 2) Modify the NPDA so that it empties the stack σ , s ξ → q q j i and has a unique final state Empty the stack NPDA , x ∀ x {$} λ → λ ∈ Γ − ∀ x {$} ∈ Γ − λ , λ → σ , s , x → x λ λ ξ → q q λ , λ j → i λ , $ λ → λ q λ , f λ $ → → λ λ , $ halting state Old final states 4

  5. 3) modify the NPDA so that Convert: transitions have the following forms: σ , y λ → q q j i , B σ → λ q q j i OR , y σ τ → τ q q , B → CD σ j q i q j i {$} ∀ τ ∈ Γ − B , C , D : stack symbols | y | 2 Convert: ≥ Convert: symbols symbols , A → B , A → By σ σ q q q q j j i i Convert recursively , A → XB , X , A → y , X → BX σ σ → λ σ σ q q q q j j i i ∀ X {$} ∈ Γ − X {$} ∈ Γ − 5

  6. Example of a NPDA in correct form: The Grammar Construction L ( M ) { w : n n } = = a b Stack symbol In grammar : G $ : initial stack symbol Variables: ( q i Bq ) j a , $ → 0$ b , $ → 1$ states a , 0 → 00 b ,1 → 11 a ,1 → λ b , 0 → λ Terminals: , $ λ → λ q q Input symbols of NPDA f 0 For each transition a , B → λ For each transition a , B CD q q → q j q i j i We add productions ( q Bq ) a ( q Cq )( q Dq ) ( q Bq ) a → We add production → i k j l l k i j q , k q For all possible states l in the automaton 6

  7. Example: a , $ → 0$ b , $ → 1$ Stack bottom symbol a , 0 → 00 b ,1 → 11 a ,1 → λ b , 0 → λ ( q o q $ ) Start Variable: f , $ λ → λ q q f 0 Start state final state ( q 1 q ) a Grammar production: → 0 0 Example: Example: a , $ → 0$ b , $ → 1$ a , $ → 0$ b , $ → 1$ a , 0 → 00 b ,1 → 11 a , 0 → 00 b ,1 → 11 a ,1 → λ b , 0 → λ a ,1 → λ b , 0 → λ , $ , $ λ → λ λ → λ q q q q f f 0 0 Grammar productions: ( q $ q ) b ( q 1 q )( q $ q ) | b ( q 1 q )( q $ q ) → ( 0 q $ q ) Grammar production: → λ 0 0 0 0 0 0 0 f f 0 f ( q $ q ) b ( q 1 q )( q $ q ) | b ( q 1 q )( q $ q ) → 0 f 0 0 0 f 0 f f f 7

  8. ( 0 q $ q ) : start vari able Resulting Grammar: f ( q 0 q ) a ( q 0 q )( q 0 q ) | a ( q 0 q )( q 0 q ) → 0 0 0 0 0 0 0 f f 0 ( q 0 q ) a ( q 0 q )( q 0 q ) | a ( q 0 q )( q 0 q ) → 0 f 0 0 0 f 0 f f f ( q $ q ) b ( q 1 q )( q $ q ) | b ( q 1 q )( q $ q ) → 0 0 0 0 0 0 0 f f 0 ( q $ q ) b ( q 1 q )( q $ q ) | b ( q 1 q )( q $ q ) → ( q 1 q ) a 0 f 0 0 0 f 0 f f f → 0 0 ( q 0 q ) b → ( q 1 q ) b ( q 1 q )( q 1 q ) | b ( q 1 q )( q 1 q ) 0 0 → 0 0 0 0 0 0 0 f f 0 ( q 1 q ) b ( q 1 q )( q 1 q ) | b ( q 1 q )( q 1 q ) → 0 f 0 0 0 f 0 f f f ( 0 q $ q ) → λ f ( q $ q ) a ( q 0 q )( q $ q ) | a ( q 0 q )( q $ q ) → 0 0 0 0 0 0 0 f f 0 ( q $ q ) a ( q 0 q )( q $ q ) | a ( q 0 q )( q $ q ) → 0 f 0 0 0 f 0 f f f Derivation of string abba In general: ∗ ( q Aq ) w ( 0 q $ q ) a ( q 0 q )( q $ q ) ⇒ ⇒ ⇒ i j f 0 0 0 f if and only if ab ( 0 q $ q ) ⇒ f q q abb ( q 1 q )( q $ q ) the NPDA goes from to ⇒ i 0 0 0 f j w by reading string and abba abba ( 0 q $ q ) A ⇒ the stack doesn’t change below f and then is removed from stack A 8

  9. Therefore: Therefore: For any NPDA ∗ ( 0 q $ q ) w ⇒ there is a context-free grammar f that accepts the same language if and only if Context-Free Languages w is accepted by the NPDA Languages Accepted by (Grammars) NPDAs Deterministic PDA: DPDA Allowed transitions: Deterministic PDA a , b w → q 1 q 2 DPDA , b → w λ q q 1 2 (deterministic choices) 9

  10. Not allowed: Allowed transitions: q 2 q 2 a , b w , b → w → λ 1 1 q 2 q 2 a , b w , b → w → λ 1 1 q 1 q 1 q 1 q 1 a , b w a , b w → → 2 2 q 3 q 3 a , c w , c → w → λ 2 2 q 3 q 3 (non deterministic choices) (deterministic choices) DPDA example n n n n L ( M ) { a b : n 0 } The language L ( M ) { a b : n 0 } = ≥ = ≥ is deterministic context-free a , λ → a b , a → λ a , λ → a b , a → λ λ , $ → $ q 0 q 1 q 2 q 3 10

  11. Example of Non-DPDA (NPDA) Definition: R L ( M ) { ww } = L A language is deterministic context-free if there exists some DPDA that accepts it a , a a , a λ → → λ b , b λ → b , b → λ λ , λ → λ λ , $ → $ q 2 q 0 q 1 NPDAs Not allowed in DPDAs Have More Power than a , a λ → a , a → λ b , b λ → b , b → λ DPDAs λ , λ → λ λ , $ → $ q 2 q 0 q 1 11

  12. It holds that: We will actually show: Deterministic Deterministic Context-Free Context-Free Context-Free Context-Free Languages Languages Languages Languages NPDAs (NPDA) (DPDA) (DPDA) Since every DPDA is also a NPDA We will show that there exists L a context-free language which is not accepted by any DPDA The language is: n n n 2 n L { a b } { a b } = ∪ n n n 2 n L { a b } { a b } n 0 = ∪ L ≥ Language is context-free Context-free grammar for : L We will show: S → S 1 | S n n n 2 n { a b } { a b } ∪ 2 L • is context-free n b n S → aS b | { a } λ 1 1 L • is not deterministic context-free n b 2 n S → aS bb | { a } λ 2 2 12

  13. Theorem: Proof: Assume for contradiction that n n n 2 n n n n 2 n L { a b } { a b } The language L { a b } { a b } = ∪ = ∪ is not deterministic context-free is deterministic context free (there is no DPDA that accepts ) L Therefore: M L there is a DPDA that accepts n n n 2 n n n n 2 n L ( M ) { a b } { a b } L ( M ) { a b } { a b } DPDA with M DPDA with M = ∪ = ∪ n b n a accepts Such a path exists because of the determinism M n b n n a b n b n n a b n b 2 n a accepts 13

  14. n n n n n n Fact 1: Fact 2: { a b c } L ∪ { a b c } The language The language is not context-free is not context-free Context-free languages n b n n n n 2 n a ( L { a b } { a b }) = ∪ Regular languages a * b * (we can prove this using pumping lemma (we will prove this at a later class using for context-free languages - next lecture) pumping lemma for context-free languages) n n n 2 n M L ( M ) { a b } { a b } = ∪ We will construct a NPDA that accepts: n b n n a b n n n L ∪ { a b c } Replace b Modify M n n n 2 n with c ( L { a b } { a b }) = ∪ n n n 2 n M ′ L ( M ) { a c } { a c } ′ = ∪ which is a contradiction! n c n n a c 14

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