许多年前,我听说从DFA(确定性)计算最小NFA(不确定性有限自动机)是一个悬而未决的问题,而反之亦然,数十年来已知的方向相反,并且对有效算法。有没有人想出一种算法?
快速搜索后给了我这篇论文,证明这绝对是一个难题。显然,没有给出算法。
[1] 最小的NFA问题很难解决/陶江和B. Ravikumar
CS.SE网站上的以下问题使我想起了这个问题,该问题与DFA-> NFA最小化算法密切相关。在我看来,以下问题是研究水平。我建议将其迁移到TCS,并写了一个答案,建议进行统计/经验攻击。
许多年前,我听说从DFA(确定性)计算最小NFA(不确定性有限自动机)是一个悬而未决的问题,而反之亦然,数十年来已知的方向相反,并且对有效算法。有没有人想出一种算法?
快速搜索后给了我这篇论文,证明这绝对是一个难题。显然,没有给出算法。
[1] 最小的NFA问题很难解决/陶江和B. Ravikumar
CS.SE网站上的以下问题使我想起了这个问题,该问题与DFA-> NFA最小化算法密切相关。在我看来,以下问题是研究水平。我建议将其迁移到TCS,并写了一个答案,建议进行统计/经验攻击。
Answers:
这确实是一个固执且经过充分研究的问题。关于积极的结果,Kameda和Weiner提出了一种精确的算法,Polák提出了一种启发式方法,而Geldenhuys等人最近采用了SAT求解器。浮现在脑海中。但是排除其他可能的方法(例如,近似算法,特殊情况,NFA的功能较弱的模型,等等)似乎有更多的负面结果。请参阅以下参考资料。
T. Kameda和P. Weiner。关于不确定的有限自动机的状态最小化。IEEE Transactions on Computers,C-19(7):617–627,1970年。
答:马尔切。最小化有限自动机在计算上很困难。理论计算机科学327:375-390,2004。
L.Polák。使用通用自动机将NFA最小化。国际计算机科学基金会学报,16(5):999-1010,2005年。
G. Gramlich和G. Schnitger。最小化NFA和正则表达式。计算机科学理论方面的专题讨论会(STACS 2005),LNCS 3404,第399-411页。
H. Gruber和M. Holzer。假设P <> NP,则不确定状态和转换复杂度的不可近似性。语言理论发展(DLT 2007),LNCS 4588,第205–216页。
H. Gruber和M. Holzer。有限和一元语言的NFA最小化的计算复杂性。语言和自动机理论与应用(LATA 2007),第261–272页。
H.Björklund和W. Martens。NFA最小化的易处理性前沿。国际自动机,语言和程序设计座谈会(ICALP 2008),LNCS 5126,第27-38页。
J. Geldenhuys,B.van der Merwe,L.van Zijl:使用SAT解算器减少不确定的有限自动机。有限状态方法和自然语言处理(FSMNLP 2009),LNCS 6062,81-92。
编辑(2015年6月8日)
更新:以下论文提出了一种启发式算法,用于减少不确定Büchi自动机的大小,以及随机自动机的实验。正如他们在结论中指出的那样,他们的方法也适用于NFA:“虽然我们在Büchi自动机的背景下介绍了我们的方法,但大多数方法都简单地沿用了有限词自动机的简单情况。”
理查德·梅尔(Richard Mayr),洛伦佐·克莱门特(Lorenzo Clemente)。高级自动机最小化。POPL2013。扩展技术报告EDI-INF-RR-1414。
他们的命令行工具Reduce v1.2可以使用选项“ -finite”来调用,以减少给定的NFA。该实现是开源的,并根据GNU通用公共许可发布。