📜  门|门CS 2008 |第 52 题

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

将以下 NFA 与其对应的正则表达式匹配

1. ϵ + 0(01*1 + 00) * 01*
 2. ϵ + 0(10 *1 + 00) * 0
 3. ϵ + 0(10 *1 + 10) *1
 4. ϵ + 0(10 *1 + 10) *10 *

GATECS200853
(A) P – 2, Q – 1, R – 3, S – 4
(B) P – 1, Q – 3, R – 2, S – 4
(C) P – 1, Q – 2, R – 3, S – 4
(D) P – 3, Q – 2, R – 1, S – 4答案: (C)
说明:技巧:在这里我们看到所有给定的数字然后第二个状态在输入字母表上有一个循环。在这种情况下,我们应该解决该状态下的循环并将 NFA 转换为更简单的循环以获得 NFA 的正则表达式。
为了解决循环,首先到达要解决循环的状态,然后在该状态上绘制所有循环以及所有可能的移动以移动到最终状态。

Figure P: (when loop resolved at middle state)

中间状态的循环是 00 或 01*1。

自动机1

因此正则表达式: € + 0(00 +01*1)* 01*

Figure Q: (when loop resolved at middle state)

中间状态的循环是 00 或 10*1。

自动机2

因此正则表达式: € + 0(00 +10*1)* 0。

Figure R: (when loop resolved at middle state)

中间状态的循环是 10 或 10*1。

自动机3
因此正则表达式: € + 0(10 +10*1)* 1。

Figure S: (when loop resolved at middle state)

中间状态的循环是 10 或 10*1。

自动机4

因此正则表达式: € + 0(10 +10*1)* 10*。

与上述匹配的正则表达式给出了合适的匹配为 P-1、Q-2、R-3、S-4

这个解释是由Yashika Arora 提供的。这个问题的测验