Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 14UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 14.

Similar presentations


Presentation on theme: "Lecture 14UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 14."— Presentation transcript:

1 Lecture 14UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 14

2 UofH - COSC 3340 - Dr. Verma 2 PDA’s and CFG’s For every CFG G there is a PDA M such that L(G) = L(M) For every PDA M there is a CFG G such that L(M) = L(G)

3 Lecture 14UofH - COSC 3340 - Dr. Verma 3 CFG  PDA Given CFG G = (V, , R, S) Let PDA M = (Q, ,   V  {$}, , q start, {q accept }) – Q = {q start, q loop,q accept }  contains transitions for the form 1. ((q start, ,  ), (q loop, S$))   2. For each rule A  w  R(G) there is a transition ((q loop, , A),(q loop, w))   *** 3. For each symbol    ((q loop, ,  ), (q loop,  ))   4. ((q loop, , $), (q accept,  ))   q start q loop q accept ,  S$ , $   , A  w ,  

4 Lecture 14UofH - COSC 3340 - Dr. Verma 4 CFG  PDA The PDA simulates a leftmost derivation of the string. 1. Place the marker symbol $ and the start variable on the stack. 2. Repeat the following steps forever (a)If the top of stack is a variable symbol A, nondeterministically select on of the rules for A and substitute A by the string on the right-hand side of the rule. (b)If the top of stack is terminal symbol , read the next symbol from the input and compare it to . If they match, repeat. If they do not match, reject on this branch of the nondeterminism. (c)If the top of stack is the symbol $, enter the accept state. Doing so accepts the input if it has all been read.

5 Lecture 14UofH - COSC 3340 - Dr. Verma 5 Example: S  aSb |  Z is used instead of $ Instead of  q0 = q start q1 = q loop q2 = q accept

6 Lecture 14UofH - COSC 3340 - Dr. Verma 6 JFLAP SIMULATION

7 Lecture 14UofH - COSC 3340 - Dr. Verma 7 JFLAP SIMULATION

8 Lecture 14UofH - COSC 3340 - Dr. Verma 8 JFLAP SIMULATION

9 Lecture 14UofH - COSC 3340 - Dr. Verma 9 JFLAP SIMULATION

10 Lecture 14UofH - COSC 3340 - Dr. Verma 10 JFLAP SIMULATION

11 Lecture 14UofH - COSC 3340 - Dr. Verma 11 JFLAP SIMULATION

12 Lecture 14UofH - COSC 3340 - Dr. Verma 12 JFLAP SIMULATION

13 Lecture 14UofH - COSC 3340 - Dr. Verma 13 JFLAP SIMULATION

14 Lecture 14UofH - COSC 3340 - Dr. Verma 14 JFLAP SIMULATION

15 Lecture 14UofH - COSC 3340 - Dr. Verma 15 JFLAP SIMULATION

16 Lecture 14UofH - COSC 3340 - Dr. Verma 16 JFLAP SIMULATION

17 Lecture 14UofH - COSC 3340 - Dr. Verma 17 JFLAP SIMULATION

18 Lecture 14UofH - COSC 3340 - Dr. Verma 18 JFLAP SIMULATION

19 Lecture 14UofH - COSC 3340 - Dr. Verma 19 JFLAP SIMULATION

20 Lecture 14UofH - COSC 3340 - Dr. Verma 20 JFLAP SIMULATION

21 Lecture 14UofH - COSC 3340 - Dr. Verma 21 JFLAP SIMULATION

22 Lecture 14UofH - COSC 3340 - Dr. Verma 22 JFLAP SIMULATION

23 Lecture 14UofH - COSC 3340 - Dr. Verma 23 JFLAP SIMULATION

24 Lecture 14UofH - COSC 3340 - Dr. Verma 24 JFLAP SIMULATION

25 Lecture 14UofH - COSC 3340 - Dr. Verma 25 JFLAP SIMULATION

26 Lecture 14UofH - COSC 3340 - Dr. Verma 26 JFLAP SIMULATION

27 Lecture 14UofH - COSC 3340 - Dr. Verma 27 JFLAP SIMULATION

28 Lecture 14UofH - COSC 3340 - Dr. Verma 28 JFLAP SIMULATION

29 Lecture 14UofH - COSC 3340 - Dr. Verma 29 JFLAP SIMULATION

30 Lecture 14UofH - COSC 3340 - Dr. Verma 30 JFLAP SIMULATION

31 Lecture 14UofH - COSC 3340 - Dr. Verma 31 JFLAP SIMULATION

32 Lecture 14UofH - COSC 3340 - Dr. Verma 32 Idea of PDA  CFG First, we simplify our task by modifying P slightly to give it the following three features 1. It has a single accept state, q accept. 2. It empties its stack before accepting. 3. Each transition either pushes a symbol onto the stack (a push move) or pops one off the stack (a pop move), but does not do both at the same time.

33 Lecture 14UofH - COSC 3340 - Dr. Verma 33 PDA  CFG Suppose P = {Q, , , Δ, q 0, {q accept }} to construct G. The variables of G are {A pq | p, q  Q}. A pq generates all the strings that can take P from p with an empty stack to q with an empty stack. Two possibilities occur during P’s computation on x. Either the symbol popped at the end is the symbol pushed at the beginning or not. First, simulated by Type 1 rules on next slide and the second by Type 2 rules.

34 Lecture 14UofH - COSC 3340 - Dr. Verma 34 PDA  CFG The start variable is A q0qaccept. Now we describe G’s rules. – [Type 1] For each p, q, r, s  Q, t  , and a, b   , if ((p, a,  ), (r, t)) is in Δ and ((s, b, t), (q,  )) is in Δ, put the rule A pq  aA rs b in G. – In other words, find pairs of transitions in the PDA such that the first transition in the pair pushes a symbol t and the second transition pops the same symbol t. Each such pair of transitions gives a Type 1 rule. The states p, q, r, s, and the symbols a, b are determined by looking at the transitions in the pair.

35 Lecture 14UofH - COSC 3340 - Dr. Verma 35 PDA  CFG – [Type 2] For each p, q, r  Q put the rule A pq  A pr A rq in G. – [Type 3] Finally, for each p  Q put the rule A pp   in G.

36 Lecture 14UofH - COSC 3340 - Dr. Verma 36 Example Let M be the PDA for {a n b n | n > 0} – Note that n cannot be 0, which makes the example a little simpler. M = {{p, q}, {a, b}, {a}, , p, {q}}, where  = {((p, a,  ),(p, a)),((p, b, a), (q,  )),((q, b, a),(q,  ))} p q

37 Lecture 14UofH - COSC 3340 - Dr. Verma 37 Example: contd. CFG, G = (V, {a, b}, A pq, R) corresponding to M has V = {A pp, A pq, A qp, A qq }. R contains the following rules: Type I: – A pq  aA pp b – A pq  aA pq b Type II: – A pp  A pp A pp | A pq A qp – A pq  A pp A pq | A pq A qq – A qp  A qp A pp | A qq A qp – A qq  A qp A pq | A qq A qq Type III: – A pp   – A qq   We can discard all rules containing the variables A qq and A qp. And we can also simplify the rules containing A pp and get the grammar with just two rules A pq  ab and A pq  aA pq b.

38 Lecture 14UofH - COSC 3340 - Dr. Verma 38 JFLAP SIMULATION

39 Lecture 14UofH - COSC 3340 - Dr. Verma 39 JFLAP SIMULATION

40 Lecture 14UofH - COSC 3340 - Dr. Verma 40 JFLAP SIMULATION

41 Lecture 14UofH - COSC 3340 - Dr. Verma 41 JFLAP SIMULATION

42 Lecture 14UofH - COSC 3340 - Dr. Verma 42 JFLAP SIMULATION

43 Lecture 14UofH - COSC 3340 - Dr. Verma 43 JFLAP SIMULATION


Download ppt "Lecture 14UofH - COSC 3340 - Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 14."

Similar presentations


Ads by Google