【发布时间】:2019-05-05 14:41:39
【问题描述】:
我有几个关于状态消除和术语的问题。
在上面的示例中,DFA 处于接受状态,您必须以符号 0 开始并以 1 结束。
这是我的问题,我不知道如何将顶部和底部添加到单个表达式中。我也不完全确定如何进一步消除 q2 符号 1。
会是 0(0*(0+1))1* 吗?
感谢任何可以提供帮助的人!
【问题讨论】:
-
消除 q2 导致上图
(0+1+)+(我使用0+来演示00*。加号在这里并不意味着|)。第二个是10*1+[10]*([10]表示(0|1)。同样,加号在这里不表示|) -
另外,正则表达式只匹配接受状态。任何拒绝状态都不会反映在正则表达式中。因此,您根本不需要对小写字母(以
1开头)进行建模,因为它永远不会导致接受状态..
标签: regex regular-language finite-automata dfa