[英]converting DFA to regular expression using Transitive closure method
以下示例显示了一个简单的 DFA,其中一个接受 state q2:
基于上面显示的 R(i,j,k) 算法,我想将此 DFA 转换为正则表达式,不幸的是我找不到 K 的良好定义。我的问题是 K 是什么意思? 是状态数(在这种情况下为 3)还是其他?
然后,我们求解这些方程以得到 qi 的方程,以 α ij 表示,该表达式是所需的解,其中 qi 是最终的 state。 如下所示 -
q 1= qa + q3a + €(€移动是因为q1是初始状态)
q2 = q1b + q2b + q3b
q3 = q2a
现在,我们将求解这些方程,如下所示 -
. q2 = q1b + q2b + q3b
= q1b + q2b + (q2a)b (替换 q3 的值)
= q1b + q2(b + ab)
= q1b (b + ab) *(应用 Arden 定理)
. q1 = q1a + q3a + €
= q1a + q2aa + €(替换 q3 的值)
= q1a + q1b(b + ab*)aa + € (替换 q2 的值)
= q1(a + b(b + ab) *aa) + €
= € (a+ b(b + ab) *aa) *
= (a + b(b + ab) *aa) *
因此,正则表达式是 (a + b(b + ab) *aa) *。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.