📜  门| GATE-CS-2009 |第 60 题

📅  最后修改于: 2021-09-26 03:52:14             🧑  作者: Mango

下面的 DFA 接受 {0,1} 上的所有字符串的集合

CSE_2009_41

(A)以 0 或 1 开头
(B)以 0 结尾
(C)以 00 结尾
(D)包含子串 00。答案: (C)
说明:如果以 0 和 1 开头的字符串分别是 01 和 11,则 DFA 不接受这些(因为它没有达到最终的终止/接受状态)。因此不是选项A。

如果以 0 结尾的字符串是 10,则 DFA 也不接受这一点。因此不是选项 B。

如果包含子串 00 的字符串是 1001,那么 DFA 也不接受这个。因此不是选项 D。

现在,取任何以 00 结尾的字符串,例如 00、100、1100、10100、0100 都被给定的 DFA 接受。因此选项C。

直观地,我们还可以通过查看 DFA 观察到,只有一条直接路径可以到达最终终止状态 C(假设给定的 3 个状态(圆圈)是图中从左到右的 A、B 和 C),然后路径是 A–>B–>C ,此路径需要输入的当前子字符串中的 00 才能从 A 到达 C。

现在到达 C 后,字符串应该终止以被给定的 DFA 接受,或者它后面也可以有任意数量的 0,以便字符串被接受。在任何一种情况下,字符串都将以 00 结尾。这个问题的测验