使用配对表方法减少DFA

时间:2015-09-24 18:43:10

标签: automata dfa

我正在学习使用配对表方法(系统还原方法)来减少DFA。这是我们希望减少的DFA。DFA

第一步是将DFA布置在表格中:

                                    0           1
             q0                  {q0, q3}      {q1}
             q1                    {q2}        {q2}
             q2                  EmptySet      {q2}
          {q0, q1}             {q0, q1, q3}    {q1, q2}
          {q1, q2}                 {q2}        {q2} 
        {q0, q1, q2}           {q0, q1, q2}    {q1, q2} 

我认为我们不需要包含空集状态。

现在这里是我困惑的地方,我需要浏览状态列表并根据某些内容标记它们。我不知道该怎么办。

1 个答案:

答案 0 :(得分:1)

首先,您拥有的表格与DFA不匹配。

pair table方法使用等价类。首先,我们将状态分为两种:最终状态和非最终状态。最初,每个最终状态都可以与任何非最终状态区分开来。因此,您应该创建一个如下表格,并标记(q0,q1)(q1,q2),因为q1是最终的,但q0q2是非最终状态。

+----+ | q0 | +----+----+ | q1 | x | +----+----+----+ | q2 | | x | +----+----+----+----+ | q0 | q1 | q2 | +----+----+----+

然后迭代地,继续使用以下规则进行标记,并在迭代中停止,没有任何更改:

标记(q_i,q_j)如果对于某些字母符号a,则标记enter image description here。在表格enter image description hereenter image description here之上。标记为(q1,q2)时,我们也应标记(q0,q2)。请注意,我们只有一半的表。因此,(q0,q2)=(q2,q0)

+----+ | q0 | +----+----+ | q1 | x | +----+----+----+ | q2 | x | x | +----+----+----+----+ | q0 | q1 | q2 | +----+----+----+