📜  门| GATE CS 2008 |第52章

📅  最后修改于: 2021-06-30 01:49:53             🧑  作者: 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提供。这个问题的测验