给定机器的“正则表达式”是什么?

时间:2019-10-21 16:09:27

标签: computation-theory nfa

Given Machine

实际上我对两种选择感到困惑

  1. cxa(bcxa + d)x
  2. cxa(bc + d)x

这里的“ x”表示前一个字母/括号中的*,后跟“ x”。

1 个答案:

答案 0 :(得分:0)

写出我们的方程式:

(q1) = (q1)c + (q2)b + e
(q2) = (q2)d + (q1)a

使用规则(q1)简化(q) = (q)x + y <=> (q) = yx*的表达式:

(q1) = ((q2)b + e)c*
(q2) = (q2)d + (q1)a

(q1)的表达式替换为(q2)的表达式,将(q2)从RHS中分解出来,并从上方应用规则:

(q1) = ((q2)b + e)c*
(q2) = (q2)d + ((q2)b + e)c*a
     = (q2)d + (q2)bc*a + c*a
     = (q2)(d + bc*a) + c*a
     = (c*a)(d + bc*a)*

这似乎是您选择选项1的条件。