计算DFA的最小NFA


17

许多年前,我听说从DFA(确定性)计算最小NFA(不确定性有限自动机)是一个悬而未决的问题,而反之亦然,数十年来已知的方向相反,并且对有效算法。有没有人想出一种算法?Øñlgñ

快速搜索后给了我这篇论文,证明这绝对是一个难题。显然,没有给出算法。

[1] 最小的NFA问题很难解决/陶江和B. Ravikumar

CS.SE网站上的以下问题使我想起了这个问题,该问题与DFA-> NFA最小化算法密切相关。在我看来,以下问题是研究水平。我建议将其迁移到TCS,并写了一个答案,建议进行统计/经验攻击。

[2] 对于NFA,其等效DFA达到最大尺寸的条件是什么?


4
您引用的论文显示了PSPACE的完整性。特别是,问题出在PSPACE中,这立即提出了一种算法。您正在寻找哪种算法?实用和/或启发式的?运行时间指数的最著名界线?还有吗
Joshua Grochow 2012年

8
实际上,这并不稀奇。在知道问题是PSPACE完全的之前,开发有效算法的所有尝试都失败了,因此几乎没有发表。在知道问题是PSPACE完全解决之后,没有人尝试开发有效的算法,因为他们知道它们会失败,因此发表的论文甚至更少。
杰夫斯

4
(1)“反之亦然,这已经有几十年了,并且已经通过有效的O(n lg n)算法进行了深入研究”是什么意思?具有n个状态的NFA的最小DFA可以在n中具有大小指数,因此将需要一些非平凡的输出编码。(2)对于给定的常规语言,没有所谓的“最小NFA”之类的东西。将此与最低DFA进行比较。
伊藤刚(Tsuyoshi Ito)

1
JEFFE您的观点很不错,但是我确定有很多Pspace完全问题,除了仅列举所有可能的解决方案外,还具有利用问题结构的复杂算法的方法,对吗?承认,我想不出什么头顶。也许你可以?猜想这将是另一个有趣的问题。
vzn12年

2
@vzn:语言有两个非同构的2状态NFA一种+
mikero 2012年

Answers:


25

这确实是一个固执且经过充分研究的问题。关于积极的结果,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通用公共许可发布。


3
您知道其中是否有开源实现吗?
jmite

嗨,赫尔曼,非常感谢您提供的所有信息!我知道给定NFA,很难找到最小的等效NFA。但是,该怎么办:给定DFA,找到最小的等效NFA。这很难吗?有多难
Michael Wehar 2015年

对不起,我明白了!列出的第一篇论文解决了这个问题:springerlink.com/content/y61724u571v487x5另外,您列出的另一篇论文针对的是有限的常规语言:hermann-gruber.com/data/lata07-final.pdf感谢您为我澄清这一点!:)
Michael Wehar 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.