死亡状态是否包含在最小化DFA中?

Pra*_*waj 3 finite-automata dfa

我搜索了谷歌,并在许多页面中给出了最小化DFA死状态或陷阱状态被删除.我的问题是,如果某些转换未定义,它仍然是一个DFA.那么你说的人呢?

Pat*_*k87 6

即使是最小的DFA也必须包括死态; 否则,它们要么是(a)不是DFA,要么(b)不接受与非最小对应方相同的语言.例如,字母{a,b}上的语言{a}的最小DFA必须具有3种状态:开始状态,您可以在其中看到并接受; 如果你看到其他任何东西,你拒绝的接受状态; 如果你看到ab或任何处于接受状态的东西,你就去了.

从来没有听说过从最小的DFA中省略死态.亵渎!

  • @PrashantBhardwaj我只能这样说:对于你正在编写软件以生成DFA来解析数据的实际应用程序,如果你不匹配模式就让DFA崩溃是很有意义的.在计算理论,形式语言和语法/自动机中,它没有多大意义.公平地说,您可以以允许它们崩溃的方式定义DFA,但直到现在,我从未意识到这样的定义.我永远不会从最小的DFA中移除一个死亡状态,因为这样做会因为Myhill-Nerode而变丑.这是丑陋的微优化. (2认同)