教资会网络 | UGC NET CS 2016 年 8 月 – III |问题 22
语言 L = {a n b m | 的正则文法n + m 是偶数} 由下式给出
(A) S → S 1 | 2
S 1 → 一个 S 1 | 1
A 1 → b A 1 | λ
S 2 → aaS 2 | 2
A 2 → b A 2 | λ
(B) S → S 1 | 2
S 1 → 一个 S 1 | 1
S 2 → aaS 2 | 2
A 1 → b A 1 | λ
A 2 → b A 2 | λ
(C) S → S 1 | 2
S 1 → aaa S 1 | 1
S 2 → aaS 2 | 2
A 1 → b A 1 | λ
A 2 → b A 2 | λ
(D) S → S 1 | 2
S 1 → aa S 1 | 1
S 2 → aaS 2 | 2
A 1 → BB A 1 | λ
A 2 → BB A 2 | λ答案: (D)
解释:给定,语言,
L = {a^n b^m | n + m is even}
这里 m+n 应该是偶数,要么 m,n 必须是偶数,要么 m,n 必须是奇数。
现在我们需要生成字符串为 { $,ab, aa , bb,abbb, aaab,aabb,…….} 因为这个语法应该是,
S = S1 | S2
S1 = aa S1| A1
在这里,给定生产规则 A1 导出偶数个 b,所以我们没有问题,S1 也导出偶数个 a。
S2 = aaS2| A2
在这个产生式中,A2 也推导出奇数个 b,而 A2 将有偶数个 a 和 b。
A1 = bb A1| λ
这个产生式还得出偶数个 b。
A2 = bb A2| λ
这得出奇数个 b 都满足给定语言的给定条件。
所以,选项(D)是正确的。
这个问题的测验