我有一个简单的问题,就是假设给定是DFA的字母集,那么制作一个DFA就能接受所有以双字母(aa,bb)开头或以双字母(aa,bb)结尾的输入。给定的语言。
我试图通过以下方法来解决此问题:
- 生成正则表达式
 - 制作相应的NFA
 - 使用Powerset构造来推导DFA
 - 最小化DFA中的状态数
 
第1步: 给定问题的正则表达式为(除其他之外):
((aa|bb)(a|b)*)|((a|b)(a|b)*(aa|bb))
步骤2: 给定表达式的NFA为:

(来源:livefilestore.com)  
在表格形式中,NFA为:
State    Input:a     Input:b
->1        2,5         3,5
  2        4           -
  3        -           4
 (4)       4           4
  5        5,7         5,6
  6        -           8
  7        8           -
 (8)       -           -
第3步:使用Powerset结构转换为DFA:
Symbol, State       +   Symbol, State (Input:a) +   Symbol, State (Input:b)
   ->A, {1}         |        B, {2,5}           |        C, {3,5}
     B, {2,5}       |        D, {4,5,7}         |        E, {5,6}
     C, {3,5}       |        F, {5,7}           |        G, {4,5,6}
   (D), {4,5,7}     |        H, {4,5,7,8}       |        G, {4,5,6}
     E, {5,6}       |        F, {5,7}           |        I, {5,6,8}
     F, {5,7}       |        J, {5,7,8}         |        E, {5,6}
   (G), {4,5,6}     |        D, {4,5,7}         |        K, {4,5,6,8}
   (H), {4,5,7,8}   |        H, {4,5,7,8}       |        G, {4,5,6}
   (I), {5,6,8}     |        F, {5,7}           |        I, {5,6,8}
   (J), {5,7,8}     |        J, {5,7,8}         |        E, {5,6}
   (K), {4,5,6,8}   +        D, {4,5,7}         +        K, {4,5,6,8}
步骤4:最小化DFA:
我先更改了K-> G,J-> F,I-> E。在下一次迭代中,H-> D和E-> F。因此,最终表为:
  State    +   Input:a     +   Input:b
   ->A     |      B        |      C
     B     |      D        |      E
     C     |      E        |      D
    (D)    |      D        |      D
    (E)    |      E        |      E
从图表上看,它看起来像:

(来源:livefilestore.com)  
...这不是必需的DFA!我对结果进行了三重检查。那么,我哪里出错了?
注意:
- -> =初始状态
 - ()=最终状态
 
                
                3
              
                  这是已经提出的基本问题的一个很好的例子,因为您包括了整个思路。
                
                
                  
                    —
                    拉斐尔
                    
                  
                
              
                  非常感谢,谢谢!^^
                
                
                  
                    —
                    Anurag Kalia