【发布时间】:2021-07-25 03:45:20
【问题描述】:
想要的回复:0*10*1(1+00*1)* 与回复我得到了0*1(0 + 11* 0)*11*
q0 = q0 0 + ε equ (1)
q1 = q0 1 + q1 0 + q2 0 equ (2)
q2 = q1 1 + q2 1 equ (3)
q0 = ε + q0 0 R=Q+RP
q0 = ε 0* R=QP*
q0 = 0* εR*=R*
q2 = q1 1 + q2 1
q2 = q1 11* equ (4)
Substitute the value of q2 in equ (2)
q1 = q0 1 + q1 0 + q2 0
q1 = 0*1 + q1 0 + q1 11* 0
q1 = 0*1 + q1 (0 + 11* 0) R=Q+RP
q1 = 0*1((0 + 11* 0)*)* R=QP*
q1 = 0*1(0 + 11* 0)* (R*)*=R*
Substitute the value of q1 in equ (4)
q2 = q1 11*
q2 = 0*1(0 + 11* 0)*11*
我已尝试解决 DFA 以获得所需的 RE,但无法实现我想要的。
【问题讨论】:
-
我不确定你在问什么:你想要一个不同的 DFA 来匹配所需的 RE,还是想要一个不同的证明来证明/如果 DFA 匹配所需的 RE?
-
第二个问题,
q0是你唯一的开始状态吗?我不确定您的黄色突出显示应该具有什么语义。 -
实际上,如果
q0是唯一的开始状态,据我所知,您的两个RE 都是正确的。 -
哇,我已经研究了一段时间了。很明显,当您遵循 DFA 时,所需的 RE 是正确的,但我看不出如何使用 Arden 定理来证明它。
-
@joanis 是的 q0 是唯一的开始状态。我只想匹配两个 RE,当您遵循 DFA 和使用 Arden 定理时。
标签: regex automata finite-automata dfa