📜  门| GATE-CS-2001 |第 31 题

📅  最后修改于: 2021-09-25 06:52:29             🧑  作者: Mango

考虑以下语言
L1=\left \{ ww|w\in \left \{ a,b \right \}*\right \}
L2=\left \{ ww^{R}|w\in \left \{ a,b \right \}*, w^{R} is\ the\ reverse\ of\right\ w \}
L3=\left \{ 0^{2i}| i\ is\ an\ integer \}
L4=\left \{ 0^{i^{2}}| i\ is\ an\ integer \}
哪些语言是常规语言?
(A)只有 L1 和 L2
(B)仅 L2、L3 和 L4
(C)仅 L3 和 L4
(D)只有 L3答案: (D)
解释:如果存在识别它的有限自动机(无论是确定性还是非确定性),则该语言被称为常规语言。所以如果对于给定的语言,我们可以提出一个有限自动机,我们可以说该语言是正则的。但有时,设计一个与给定语言相对应的自动机并不是很明显,但它确实存在。在这种情况下,我们不应该开始认为给定的语言不是正则的。我们应该使用泵引理来决定给定的语言是否是正则的。

根据泵引理,

“假设 L 是一种正则语言,那么存在 al ≥ 1 使得对于所有字符串s ∈ L,其中 |s| ≥ l,我们总是可以拆分 s(至少存在一个这样的拆分),这样 s 可以用 |xy| 写成 xyz ≤ l 且 y ≠ ε 并且对于所有 i ≥ 0 ,xy i z ∈ L”。 l 称为泵送长度。

让我们为非常规语言重新表述给定的引理。假设 L 是一种语言,如果对于所有 l ≥ 1 存在一个字符串s ∈ L 和 |s| ≥ l 使得对于以 xyz 形式的 s 的所有分裂(不存在不遵循此规则的单个分裂)
那个|xy| ≥ l 且 y ≠ ε ,存在 i≥ 0 使得 xy i z ∉ L,则 L 不规则。请注意,如果我们想证明一种语言不是正则的,这里我们强调找到这样的 s。

问题的选择:

(a)在选项 1 中,让我们首先考虑 w 的长度为 n 并且仅包含 a。在这种情况下,语言表示一个nn 。语言所代表的字符串的长度应该是Even。考虑 l = n,然后 xyz = a n a n xy = a n 。让我们假设 y = a,然后考虑 xy i z 与 i = 0 的成员资格。这将只是不属于 L 的奇数长度。所以 L 不是常规的。为了更详细地讨论它,让我们考虑另一个例子。假设 w = a p b,那么由 L 形成的字符串将是长度为 2p + 2 的p b p b 。假设 l = p,那么 xy = a p 。假设 y = a,那么考虑 xy i z 的隶属度,其中 i = 0。这当然不属于 L。所以 L 不是正则的。

(b)在选项 2 中,第一个示例将如上工作。在第二个示例中,字符串将是p bba p ,并且在证明它是非规则的过程中不会发生任何变化。

(c)在选项 3 中,假设我们正在考虑 0 和 0 2*n 中的整数导致空字符串,这也被接受,我们可以简单地构建如下所示的 DFA。如果字符串为空或包含偶数个零,它只接受一个字符串。所以语言是正规的。

rsz_dfa

(d)在选择 4 中,我们可以简单地假设泵送长度 l =i 2 /2。现在考虑 xy = 0 l且 y = 0, 现在如果我们检查 xy 2 z 的隶属度,我们可以发现这将代表 0 i^2 +1,并且对应于不存在 j 使得
j 2 = i 2 + 1 其中 i 和 j 是整数,除了 j = 1 和 i = 0。但因为 i 不能为零。简而言之,使用泵引理,我们可以生成 0 i^2 +1 以及 0 i^2 -1,这在 L 中是不可用的。

所以 L 不是正则的。

此解释由Durgesh Pandey 提供。
这个问题的测验