1 / 64

Pumping Lemma

Pumping Lemma. Problem: Let B be the language of all palindromes over {0,1} containing an equal number of 0s and 1s. Show that B is not CFL Solution: We assume that B is a CFL and obtain a contradiction.

hamlet
Télécharger la présentation

Pumping Lemma

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pumping Lemma Problem: • Let B be the language of all palindromes over {0,1} containing an equal number of 0s and 1s. Show that B is not CFL Solution: • We assume that B is a CFL and obtain a contradiction. • Let p be the pumping constant of B that is guaranteed to exist by the pumping lemma. Select the string s= 0p1p1p0p. • Clearly sis a member of B and of length at least p . We can show that no matter how we divide sinto uvxyz, one of the conditions of the lemma is violated. • Pumping lemma, | vxy |<= p , we can only place vxy in the following ways:

  2. vxy completely falls in the first 0p • If we pump v and y , then the new string is no longer a palindrome, and the number of 0s will be greater than the number of 1s, which is a contradiction. • vxy falls between 0pand 1p • In this case, v will only contain 0s while y will only contain 1s. So if we pump s , the new string is no longer palindrome, which is a contradiction. • vxy completely falls in the first 1p • Similar to (1), after pumping s , the number of 1s will be greater than the number of 0s, which is a contradiction. • vxy falls between 1pand 1p • After pumping s , the number of 1s will be greater than the number of 0s, which is a contradiction. • vxy completely falls in the second 1p • This case is same with (3). • vxy falls between 1pand 0p • Similar to (2), v will only contain 1s while y will only contain 0s. So if we pump s , the new string is no longer palindrome, which is a contradiction. • vxy completely falls in the second 0p • This case is same with (1). Hence, B is not context free.

  3. Let L = {w  {0; 1}* : w = wR}. • (a) Show that L is context-free by giving a context-free grammar for L. • (b) Show that L is context-free by giving a pushdown automaton for L. • (c) Show that L is not regular.

  4. CFG • L is a symmetric language. Consider a context-free grammar for L : (V, Σ, R, S) , where i. V = {S} ii. Σ = {0,1} iii. Rules: S  0S0 |1S1| 0 |1|ε iv. S = S V

  5. PDA

  6. Pumping Lemma • Assume that L regular. Let p be the pumping constant given by the pumping lemma. • Let sbe the string 1p-1101p. • scan be split into three pieces, s =xyz , where for any i >= 0 the string xyiz is in L . • According to the pumping lemma condition, we must have | xy |<= p . If this is the case, then y must consist only of 1’s, so xyyz L . Therefore scannot be pumped. • This is a contradiction.

  7. Pushdown Automaton -- PDA Input String Stack States

  8. Initial Stack Symbol Stack Stack stack head top bottom special symbol Appears at time 0

  9. The States Pop symbol Input symbol Push symbol

  10. input stack top Replace

  11. input stack top Push

  12. input stack top Pop

  13. input stack top No Change

  14. Empty Stack input stack empty Pop top The automaton HALTS No possible transition after

  15. A Possible Transition input stack Pop top

  16. Non-Determinism PDAs are non-deterministic Allowed non-deterministic transitions

  17. Example PDA PDA

  18. Basic Idea: • Push the a’s • on the stack 2. Match the b’s on input with a’s on stack 3. Match found

  19. Input Stack

  20. Input Stack

  21. Input Stack

  22. Input Stack

  23. Input Stack

  24. Input Stack

  25. Input Stack

  26. Input Stack

  27. Input Stack accept

  28. A string is accepted if there is a computation such that: • All the input is consumed • The last state is an accepting state • At the end of the computation, • we do not care about the stack contents • (the stack can be empty at the last state)

  29. is the language accepted by the PDA:

  30. reject

  31. Another PDA example

  32. Push v • on stack 3. Match vR on input with v on stack 2. Guess middle of input 4. Match found

  33. Guess the middle of string

  34. accept

  35. Rejection Example: Input

More Related