我们可以多快决定给定的DFA是否最小?


11

最小化确定性有限自动机(DFA)是一个在文献中已经深入研究的问题,并且已经提出了几种算法来解决以下问题:给定DFA,计算对应的最小DFA并接受与。这些算法大多数都在多项式时间内运行。AAA

但是,我不知道该问题的决策变量是否为“给定了DFA,最小”?-比实际计算最小自动机更有效地解决。显然,这还可以通过运行例如Hopcroft的分区细化算法,然后确定是否所有分区都精确地包含一个状态来有效地完成。AAA

正如Yuval Filmus 在他的回答中所建议的那样,可以通过使用标准算法来更快地解决可判定性变量。不幸的是,我看不到如何做(希望我在这里没有遗漏明显的观点)。

Yuval在此处的注释中指出,对于恒定大小的字母,最著名的算法(如上述算法)在时间中运行。因此,我不仅对运行时的渐进式显着收益感兴趣,因为这些收益似乎不太可能。最让我困扰的是,我无法想象任何“捷径”都可能源于我们只对“是-否”答案感兴趣的事实,甚至没有可以节省渐近时间的时间的捷径。我认为,每种决定DFA最小化的明智算法都必须实际最小化DFA,并查看在此过程中是否有任何变化。O(nlogn)


Hopcroft的算法已经在准线性时间内运行,因此没有太多改进的空间。
Yuval Filmus 2014年

是的,我编辑了我的问题,以便反映这个事实,@ YuvalFilmus
Cornelius Brand

1
我相信最快的DFA最小化算法仍然是算法。它比在时间内运行的2008年之前发布的任何算法都快,其中是转换数。mO(n+mlogn)m
Juho 2014年

在我看来,决策问题的复杂性与最小化问题相当,前者似乎更难,因为它涉及DFA等效性的测试,这并非不简单。因此,决策问题的复杂性似乎是“最小化或等效测试”的最大值。等效测试的复杂性是什么?
vzn 2014年

@vzn假设您的意思是“ [...]这是不平凡的”:不一定必须如此,例如我在问题中给出的过程避免了对等性的测试。但是,我也认为这个问题并不比最小化容易。
Cornelius Brand

Answers:


5

这可能不是您要找的答案,但是由于您询问了决策问题,因此我认为您可能对问题的复杂性感兴趣。它是完成。NL

现在,DFA最小化意味着什么?有两个属性:

  1. 每个州可达:,使得我们可以达到 q从开始状态小号按照 w ^ ; 在符号中: s w qqQwΣqswswq

  2. 每对状态是区分:q [R w ^ Σ *,使得q w ^小号[R W ^ ŧ| { 小号} ˚F | = 1(仅一个小号是接受状态)。q,rQqr wΣqwsrwt|{s,t}F|=1s,t

请注意,可以在日志空间来计算(即大号 ;只需跟踪您的当前位置,然后按照以下W¯¯一次一个字母)。此外,存在仅之间交替的有限数量的以便在的结果Immerman-Szelepcsenyi定理,我们有,这个问题是在Ñ 大号xwyLwNL

看到很难的最简单方法是注意到属性1解决了s - t定向的不可到达性,这是典型的难题。但是,即使仅考虑可访问的DFA,问题仍然很棘手(即属性2为N L- Hard),并且您可以在Cho&Huynh(1992)的引理2.2中找到相对简单的证明。NLstNL

当然,我使用了不确定性,因此与Hopcroft的算法不同,这有点麻烦。但我们知道,,这样你就可以使用这些结构来让自己比Hopcroft更节省空间的算法(它通过其本身的性质具有跟踪ň多个分区)。NLL2n


这似乎可以改善空间,但不会提高时间复杂度吗?
vzn 2014年

我同意vzn。尽管我喜欢这个答案,但我仍然对与原始问题更紧密相关的见解感兴趣。
Cornelius Brand

@ C.Brand我的回答是相切的(因此免责声明一开始是这样),我只是给了您最低复杂度的类,我知道要解决这个问题。有一种标准的技术可以将算法转换为P个算法(即配置图上的BFS ),但是我认为构造不会为您提供更快的算法。NLP
Artem Kaznatcheev 2014年
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.