国际空间研究组织 | ISRO CS 2017 |问题 26
以下哪些是上下文无关的?
A = {anbnambm | m, n>=0}
B = {ambnambn | m, n>=0}
C = {ambn | m≠2n,m, n>=0}
(A)仅 A 和 B
(B)仅 A 和 C
(C)仅限 B 和 C
(D)仅 C答案:(乙)
说明:首先检查 A :-
a^n & b^n 和 a^m & b^m 必须在 CFL 中使用一个堆栈进行比较。将所有 a^n 推入堆栈,然后为每个 a^n 弹出所有 b^n,如果在具有 null 的底部,a 和 b 都相等,类似地比较 a^m 和 b^m 可以作为 push a^ 进行比较m 进入堆栈并为每个 a^m 弹出 b^m ,因此它是上下文无关语言。
对于 B:-
这不能在单个堆栈中完成,因为 m 和 n 不可比较我们无法找到何时推送或何时弹出,因此我们需要更多堆栈,这就是为什么这是上下文敏感语言的原因。
对于 C:-
它也是上下文无关语言,因为首先为语言 a^mb^n| 制作自动机。 m=2n 然后将最终状态设为非最终状态,将非最终状态设为最终状态。
选项(B)是正确的。
这个问题的测验