📜  雅顿定理

📅  最后修改于: 2020-12-17 06:59:29             🧑  作者: Mango

雅顿定理

Arden定理对于检查两个正则表达式的等效性以及将DFA转换为正则表达式很有用。

让我们看看它在DFA转换为正则表达式中的用途。

以下算法用于构建给定DFA的正则表达式形式。

1.令q 1为初始状态。

2.状态数为q 2 ,q 3 ,q 4 …. q n 。最终状态可能是某个q j ,其中j <= n。

3.设αji代表从q j到q i的过渡。

4.计算q i使得

如果q j是开始状态,则我们有:

5.同样,计算最终给出正则表达式“ r”的最终状态。

例:

为给定的DFA构造正则表达式

解:

让我们写下方程式

由于q1是开始状态,因此将添加ε,并且输入0从q1到达q1,因此我们写
状态=输入的源状态×输入的状态< p="">

同样,

由于最终状态是q1和q2,因此我们仅对求解q1和q2感兴趣。让我们先看q1

我们可以将其重写为

类似于R = Q + RP,并简化为R = OP *。

假设R = q1,Q =ε,P = 0

我们得到

将值代入q2,我们将得到

正则表达式由


状态=输入的源状态×输入的状态<>