2 2 votes Theory of Computation context-free-language identify-class-language + – Anirban Biswas 3.1k views answer comment Share Follow Print 0 reply Please log in or register to add a comment.
Best answer 4 4 votes L2 is dcfl and L1 is Cfl soln for L2 Let E = { aibj | i ≠ j and 2i ≠ j } Split it as unions of 3 languages. { aibj | i > j } ∪ { aibj | i < j and 2i > j } ∪ { aibj | 2i < j } G1 = { aibj | i > j } G2 = { aibj | i < j and 2i > j } G3 = { aibj | 2i < j } G1 and G3 are quite easy to figure out. for G1 S → aSb | aS1 S1 → aS1 |ε for G3 S → aSbb | S1b S1 → S1b | ε Now tricky part is G2. S → aSb | aS1b S1 → aS1bb | aS2bb S2 → ε note- L2 is given as problem 2.24 in shipser book. saurabh rai answered Dec 14, 2016 • selected Dec 14, 2016 by ManojK saurabh rai comment Share Follow 0 reply Please log in or register to add a comment.
6 6 votes L1= CSL why ? because two comparison at a time which is not possible with a stack so its csl if it were written as M!=n OR M!=2n then it will be CFL . L2 is DCFL so CFL also why ? because we can accept every string in l2 language deterministically push a's into stack when b's comes start poping it aftet that accept it. so A) option true . focus _GATE answered Dec 13, 2016 • edited Dec 13, 2016 by focus _GATE focus _GATE comment Share Follow See all 6 Comments 6 6 Comments reply Gate Mission 1 commented Dec 13, 2016 reply Follow flag In L1 : {an bm | m< n or m>n } and { an bm | m <2n or m>2n } Here and is nothing but intersection in two sets : m<n intersection m<2n gives --> m<n m>n intersection m>2n gives --> m>=2n So L1 : {an bm | m<n or m>=2n } ---> Hence Language is NCFL. So option B is correct. 0 0 replyShare Rajesh Pradhan commented Dec 13, 2016 reply Follow flag @Gate Mission 1 According to u we can rewrithe L1 : {an bm | m<n or m>=2n } but check string aabbb is not accepting in ur language while it is accepting in given L1 in question. n=2 m=3 3<2 or 3>=4 (both are false) // so ur language wont accept 1 1 replyShare Gate Mission 1 commented Dec 13, 2016 reply Follow flag @Rajesh Pradhan. thanks for example. Agreed i gave wrong language. Can you tell me where did i messed up in my solution ? 0 0 replyShare Rajesh Pradhan commented Dec 13, 2016 reply Follow flag @kunal chalotra plz explain about L1 Q1. if it is csl then plz explain how we accept this using 2 stack. (I know it is possible but i m not getting the procedure right now) Q2."if were written as m!=n OR m!=2n then it will be CFL " how this possible using single stack. Thanks in advance. 0 0 replyShare focus _GATE commented Dec 13, 2016 reply Follow flag @rajesh bro .acc to gate point of view i have solved previous year with basics identification properties only .the thing which u r asking i myself don't know :( how it will be actually be done using two stacks. for q2 : for making NPDA of m!=n OR m!=2n, at every step of the transition we will have two copies one for PUSH and one for POP with this way we will be able to accept the string non deterministically making its cfl . 0 0 replyShare Rajesh Pradhan commented Dec 14, 2016 i edited by Rajesh Pradhan Dec 14, 2016 reply Follow flag @kunal for q2 : for making NPDA of m!=n OR m!=2n (I think it should be DPDA instead of NPDA) first, we have to push all a's into the stack and when b arrives pop a for each arrival of b case 1:- if b still coming while stack is empty (all a poped) THEN m!=n Condition True and we wont check m!=2n. case 2:- if b over and at the same time the stack is empty means m=n (Now here imp. point is if m=n then m!=2n is always true so no need to check m!=2n) Note:- My point is we never going to check here m!=2n condition So we can find here deterministically by just checking no of a's are equal to no. of b's or not which makes it DPDA. Finally, {an bm | m!=n or m!=2n } is equvalent to {an bm | m!=n } is eqivalent to {an bm | m< n or m>n } which can be realized using DPDA. https://gateoverflow.in/30897/if-l2-is-dcfl-how-to-draw-its-dpda plz correct me!!! 0 0 replyShare Please log in or register to add a comment.