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

📅  最后修改于: 2021-06-28 20:45:31             🧑  作者: 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结尾。这个问题的测验