繁体   English   中英

正则表达式0 * 1 * 1 + 11 * 0 * 1 DFA

[英]Regular expression 0*1*1+11*0*1 DFA

下面的自动机是否接受表达式“ 0 * 1 * 1 + 11 * 0 * 1 ”?

在此输入图像描述

当表达式生成以'1'结尾的字符串时 ,我相信自动机会接受它。

但是,我在其中一个参考文献中找到了答案。 有人可以解释一下吗?

注意:+表示OR操作。

不。您的DFA等同于表达式(0*1+)+

您指定的表达式要求至少接受三个1 把它分解成几部分

0*
1*
1+ <-- Required at least once
1  <-- Required
1*
0*
1 <-- Required

与您的表达式等效的DFA需要表示如下所示:

在此输入图像描述

使用Regex可视化工具创建的图像,允许您从正则表达式生成这些图形。

更新:如果+表示或,这会改变一切。 您的原始DFA仍然不相同。 你错过了,如果接受字符串以a开头1将需要遵循由至少一个以上1被接受。 表达式的DFA如下所示:

在此输入图像描述

通过将0*1*1|11*0*1输入到可视化器中而生成。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM