这些问题用于 GATE CS 考试的练习目的。
问题 1:请考虑以下语句:
- X:对于任何语言,语言 L 或其补语 L’ 必须是有限的。
- Y:包含 epsilon 的语言的 DFA 必须将初始状态作为最终状态。
- Z:非确定性有限自动机比确定性有限自动机更强大。
以下哪个(些)陈述是正确的?
(A)只有 X
(B)只有 Y
(C)只有 Z
(D)以上所有。
解释:
X:不正确。因为,语言 L 及其恭维可以是无限的。
Y:没错,因为如果语言包含 epsilon,那么它的初始状态也必须是 final 的,否则 DFA 将无法接受 epsilon。
Z:不正确。因为,NFA 接受的每种语言也被某些 DFA 接受。因此,NFA 和 DFA 在功率上是等效的。
选项(B)是正确的。
问题 2:以下哪个正则表达式描述了 {a, b} 上不包含连续 b 对的语言?
(A) (a*baa*)(b + epsilon)
(B) (a + ba)*(b + epsilon)
(C) (a*baa*)*(b + epsilon) + a*
(D) (a*ba*)*(b + epsilon) + a*(b + epsilon)
解释:
- (A)这是不正确的。因为,它不包含 (a 或 epsilon)。
- (B)这是正确的。因为,它包含 (epsilon, a, b, ba, ab, …..),即没有连续的 b 对。
- (C)这是不正确的。因为,它不包含“ab”或“aab”。
- (D)这是不正确的。因为,它包含’bb’,这是不允许的。
选项(B)是正确的。
问题 3:对于下面给出的正则表达式,不在字母表 {0, 1} 上的最短字符串的长度是多少:
1*(0 + 1)*1*
(一)三个
(二)五
(三)六
(四)四
解释:
检查在字母表 {0, 1} 上生成的每个字符串,直到找到不是由给定正则表达式生成的最短字符串。
在这种情况下,不是由给定正则表达式生成的最小字符串是 0110,其长度为 4。
所以,选项(D)是正确的。
问题 4:设 ‘X’ 是由最终状态下确定性下推自动机(DPDA)接受的所有语言的集合,而 ‘Y’ 是由 DPDA 接受的所有语言的空堆栈集合,那么以下哪项是正确的?
(A) X 是 Y 的真子集
(B) X = Y
(C) X 是 Y 的真超集
(D)以上都不是
解释:
DPDA被最终状态接受的语言集是空栈DPDA接受的语言的真超集。所以 X 是 Y 的真超集。
选项(C)是正确的。
问题 5:考虑 X 和 Y 是字母表 {0, 1} 上的两种语言,分别由正则表达式 0*(10*)* 和 (0* + 1*)* 表示。以下内容哪些是对的?
(A) X 是 Y 的真子集
(B) Y 是 X 的真子集
(C) X = Y
(D)没有
解释:
这里,
L(X)
= 0*(10*)*
= {epsilon, 0, 1, 10, 01, 00, 11, ......}
和。
L(Y)
= (0* + 1*)*
= {epsilon, 0, 1, 10, 01, 00, 11, ....}
所以,这两种语言是等价的。
选项(C)是正确的。