确定二次语言中规则语言的交集是否为空


23

L1,L2为NFA M1,M2作为输入给出的两种常规语言。

假设我们想检查是否L1L2。显然,这可以通过计算的乘积自动机的二次算法来完成,但是我想知道是否有更有效的方法。M1,M2

是否有一个o(n2)算法用于判定是否L1L2?什么是最快的已知算法?


5
如果有人有好主意,请告诉我,但目前这是一个开放的问题。如果你能在说解决这个问题线性时间的话,基本上使用的内存只有n位的任何问题可解的非确定性机可以在确定性解决2n2
Michael Wehar 2015年

6
我认为它仍然对任何二次方开放。一些更多的信息:rjlipton.wordpress.com/2009/08/17/...
迈克尔Wehar

4
因此,例如(基于迈克尔的评论),强大的指数时间假设意味着指数应为2。我认为这也可以从指数时间假设中得到证明……
Ryan Williams

4
RB:假设您可以在时间n 1 + ε中测试两个大小为 DFA的空度,其中ε < 1。现在,如果您有k个大小为n的 DFA ,则可以构建前k / 2个 DFA和其余k / 2个 DFA的乘积。然后,测试时间是否为空n k / 21 + ε = n 1nñ1个+εε<1个ķñķ/2ķ/2优于nk。vzn:这篇获奖论文由@MichaelWehar撰写,他在此主题中发表了评论。迈克尔,如果您有时间,也许您可​​以提交答案!ñķ/21个+ε=ñ1个2ķ+ε2ķñķ
迈克尔·布朗丹

4
@RyanWilliams嗨,Ryan,是什么导致您认为较弱的指数时间假设意味着我们无法更快地解决两个DFA的交集非空性?有人也向我建议过这个。:)
Michael Wehar 2015年

Answers:


22

答案很简单:如果确实存在着一个更高效的算法,在运行的时间对于一些δ < 2,那么强大的指数时间的假设将被推翻。O(nδ)δ<2


我们将证明一个更强的定理,然后将给出简单的答案。

定理:如果我们能够解决相交非空问题两个DFA的的时间,那么这就是非确定性可解使用的存储器仅n位的任何问题是确定性地可解p ø ý Ñ 2 δ ñ / 2 的时间。O(nδ)poly(n)2(δn/2)

理由:假设我们能够解决在路口非空虚两个DFA的的时间。给出具有只读输入带和读/写二进制工作带的非确定性图灵机M。给出长度为n的输入字符串x。假设M对二进制工作磁带的访问量不超过n位。O(nδ)

输入x上M的计算可以由配置的有限列表表示。每种配置均由状态,输入磁带上的位置,工作磁带上的位置以及代表工作磁带的最多n位内存组成。

现在,考虑将工作带分成两半。换句话说,我们的左边为单元格和n的右边部分n2格。每种配置都可以分为左部分和右部分。左侧片由状态的,对输入的磁带的位置,工作磁带上的位置,并且Ñn2左部分 2位。右件由状态,所输入的磁带的位置,工作磁带上的位置,并且Ñn2右边部分的 2位。n2

现在,我们建立状态为左件的DFA 和状态为右件的DFA D 2。字母字符是说明将进入哪种状态,磁带头应如何移动以及如何操作工作磁带的活动单元的指令。D1D2

这个想法是D 2读入与输入x上的M的计算相对应的指令列表,并一起验证该指令是否有效并可以接受。既d 1d 2将始终同意其中磁带头是因为该信息被包括在它们的输入的字符。因此,我们可以有d 1验证该指令是在适当的时候工作磁带位置是在左片和d 2验证在正确的时片。D1D2D1D2D1D2

在总共有至多状态为每个DFA和至多p Ô ý Ñ 不同的字母字符。poly(n)2n/2poly(n)

由最初的假设,接下去我们能够解决相交非空两个DFA的在的时间。poly(n)2(δn/2)

您可能会发现这很有帮助:https : //rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/


使用内存的位可解决CNF-SAT ,其中k是变量的数量。前述结构可用于显示,如果我们能够在解决相交非空两个DFA的ø Ñ δ在时间上,那么就可以解决CNF-SAT p Ö ý Ñ 2 δ ķ / 2 时间。因此,简单的答案成立。k+O(log(n))O(nδ)poly(n)2(δk/2)

欢迎提出评论,更正,建议和问题。:)


1
一切都很好,但上面的原始问题是针对NFA的;一切仍然跟随吗?此外,一些关键细节被遗漏了。似乎值得写论文。还是全部在您发表的书中?如果是这样,请引用它/并在那里编号为定理,等等。如果可能的话,用标准复杂度类L,P,NP,PSpace,ExpTime等来说明所有这些也是有帮助的。还想知道是否可以说出关于“强力” 2向DFA交叉点空下限(?)→SETH ... 的方向的任何说法?为此需要显示什么?Ω(n2)
vzn 2015年

1
嗨,VZN,NFA的交叉问题似乎比DFA的交叉问题难一些。但是,情况并非如此,因为存在从 NFA的交集非空到k个 DFA的交集非空的参数化减少。我的第一篇论文中提到了这一点。kk
Michael Wehar 2015年

1
(2k2)k

1
NSpace(2log(n))DTime(n)NSpace(2log(n))2log(n)具有双向只读输入磁带和双向读写二进制工作磁带的非确定性图灵机的空间。
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.