二次空间中的DFA相交?


25

可以使用O(n 2)时间和空间来计算具有n个状态的两个(最小)DFA的交集。通常,这是最佳的,因为生成的(最小)DFA可能具有n 2个状态。但是,如果所得的最小DFA具有z个状态,其中z = O(n),是否可以在空间n 2-eps中对某个常数eps> 0进行计算?即使对于输入DFA为非循环的特殊情况,我也会对这样的结果感兴趣。


3
嗯...如果两个n状态DFA是非循环的,则每个仅接受最多n个长度有限的一组单词,在这种情况下,它们的交点只是两个标记的过渡图的交点,它们将具有n个状态,并且可以在线性时间和空间中进行计算。还是我错过了什么?
约书亚·格罗夫

4
是的,非循环DFA仅接受有限的单词集。但是,有一些非循环DFA的交点大小为n ^ 2的示例。例如,考虑一个DFA接受格式为AABC的字符串(其中ABC是长度为k的字符串),另一个可以接受格式为ABCC的字符串。
拉斯姆斯·帕

1
重新标记:cs.cc是一个arxiv名称,因此给定的标签不需要cs.cc前缀。
Suresh Venkat 2010年

Answers:


15

答案是肯定的,对自动机的大小没有任何要求。即使对于为常数的 DFA,也可以在空间中进行计算。O(log2n)kk

令 (为 DFA。我们发现,鉴于,计算最小DFA识别可以做到空间。我们首先证明一些技术成果。[ ķ ] ķ 1... ķ大号1大号ķÔ log 2 n Ai=(Qi,Σi,δi,zi,Fi)i[k])kA1,,AkL(A1)L(Ak)O(log2n)

定义1:设为两个状态,则 iff,q [R w ^ ∈ Σ * q w ^ ˚F [R w ^ ˚Fq,rqrwΣq.wFr.wF

现在我们考虑经典笛卡尔积构造给出的自动机令和为状态。q = q 1... q kr = r 1... r kAAq=(q1,,qk)r=(r1,,rk)A

引理1:确定是否在NL中。qr

证明(草图):我们证明测试不等式在NL中,并使用NL = coNL。猜一个单词(当时一个字母),使是最终状态,不是。这可以通过计算来实现在对数空间中,并使用是最终的iff的事实。可以证明,表示存在一个多尺寸的。 q w ^ [R w ^ q w ^ [R 瓦特[ ķ ] q q ˚F wΣq.wr.wqi.w,ri.wi[k]qqiFii[k]w ^qrw

引理2:确定是否可访问是在NL中。q

证明(草图):猜测从到(多尺寸)路径()。q [ ķ ]ziqii[k]

定义2:按字典顺序考虑的状态。将定义为第一个可访问状态,并将为之后的一个可访问状态,这不等于任何先前状态。我们将定义为唯一的,使得。小号1 小号小号- 1 C ^ q q 小号As(1)s(i)s(i1)c(q)iqs(i)

引理3:可以在空间中计算。O log 2 n s(i)O(log2n)

证明(草图):定义2产生算法。我们使用计数器对状态进行迭代。令和为当前状态。在每个状态下,我们使用引理2来验证是否可访问。如果是,则循环遍历每个先前的状态,并验证它们是否等于。如果没有任何,我们增加和输出如果。否则,我们将存储为然后继续。由于我们只存储恒定数量的计数器,因此可以在Ĵ 0 q q q Ĵ q Ĵ = q 小号Ĵ NL DSPACE 登录2 Ñ kj0qqqjqj=iqs(j)NLDSPACE(log2n),这就完成了证明。

推论1:可以在空间中计算。O log 2 n c(q)O(log2n)

定理:最小化可以在空间中完成。O log 2 n AO(log2n)

证明(草图):设是最大的使得被定义(即所述的类数)。我们给出了一种输出自动机,其中小号' = Q 'Σ δ 'ž '˚F '1m|Q0||Q1|is(i)A=(Q,Σ,δ,z,F)

  • Q={s(i):i[m]} ;
  • F={qQ:qiFii[k]} ;
  • q = z 0z kz=s(c(q))其中。q=(z0,,zk)

现在我们展示如何计算。对于每个,计算并输出过渡。根据引理3和推论1,此算法在空间中运行。可以检查最小并且。[ ] 一个Σ q 小号一个小号一个小号Ç q ø 日志2 Ñ '大号'= 大号δi[m],aΣqs(i).a(s(i),a,s(c(q)))O(log2n)AL(A)=L(A)


3
不错的算法!这是查看此算法的稍微不同的方法。其核心是可以在多项式时间和空间中完成任何给定DFA 的状态最小化。之后,很容易构造一些DFA来表示对数空间中的交集(因此在多项式时间和空间中),并且我们可以组成两个在多项式时间和空间(以类似于组成两个对数空间约简的方式),在多项式时间和空间中产生整个算法。O log 2 n O log 2 n O log 2 n O(log2n)O(log2n)O(log2n)O(log2n)
伊藤刚(Tsuyoshi Ito)2010年

2
我刚刚看到了这个答案……我不明白为什么算法同时在polytime和空间中运行。是的,,但是不知道-也就是说,我们可以得到一个在polytime中运行的算法,我们可以得到另一个在空间中运行的算法,但是我不知道如何用一个单一的方法解决polytime和空间中的问题。算法。Ñ 大号P d 小号P Ç ë [ 登录2 Ñ ] Ñ 大号Ť 小号P [ Ñ ø 1 登录2 Ñ ] ø 日志2 Ñ Ñ 大号Ô log 2 n O(log2n)NLPDSPACE[log2n]NLTISP[nO(1),log2n]O(log2n)NLO(log2n)
Ryan Williams

你是对的,我也不知道。我是很久以前发布的,所以我不确定为什么要这样写,但是也许我的意思是“多项式时间或O(log²n)”。我将对其进行编辑,因为它具有误导性。谢谢!
迈克尔·布朗丹

14

迪克·利普顿(Dick Lipton)和他的同事最近致力于解决这个问题,而利普顿(Lipton)在这里写了一篇博客:

http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/

即使在确定DFA交集是否定义空语言的特殊情况下,似乎比O(n ^ 2)还好。
本文给出了复杂性后果,这是由于改进的算法不仅处理交叉路口中的2个DFA,而且处理大量数字所导致的。


1
下界呢?
Marcos Villagra

1
只是为了澄清问题:我很乐意花费O(n ^ 2)时间(或什至n ^ O(1)时间)来改善空间界限。
拉斯穆斯·帕

13

如果为您提供了k个DFA(k是输入的一部分),并且想知道它们的交集是否为空,那么这个问题通常是PSPACE完全的:

Dexter Kozen:自然证明系统的下界FOCS 1977:254-266

也许,如果您仔细研究此证明(以及Lipton和他的合著者的类似构造),那么即使对于固定的k,也可能会发现某种空间下界。


感谢这个指针。我猜想这可能会导致除输入之外所需的额外空间的n ^ Omega(1)空间下限。但这是否可能导致超线性空间下界?
拉斯穆斯·帕

1
@ user124864给定每个具有个状态的 DFA ,乘积自动机将具有个状态。现在,有两个技巧可以减小它的大小。首先,您只考虑产品图的可访问组件。其次,您可以最小化产品DFA。归根结底,要弄清楚该产品自动机可以识别哪种语言是很困难的。Ñ Ñ ķknnk
Michael Wehar

1
@ user124864即使只是试图确定产品DFA是否可以识别非空语言也很困难。这是路口非空问题。辛苦地说,我的意思是说在意义上是完整的。XNL
Michael Wehar

1
@ user124864如果你能在不到解决它时间,然后我们得到更快PSPACE完全问题的算法。在非确定性二进制空间中不可解决。不知道我们是否可以在小于确定性二进制空间内求解它。不知道我们是否可以在确定性多项式时间和二进制空间中对任何函数求解(这样做可以改善Savitch定理)。 Ô 1 ķ 日志Ñ ķ 2 日志2Ñ ˚F ķ · 日志2Ñ ˚Fnko(1)klog(n)k2log2(n)f(k)log2(n)f
Michael Wehar

1
@ user124864注意:我们同时具有以下两项。(1)确定性地击败时间意味着PSPACE完全问题的确定性算法更快;以及(2)非确定性地击败时间意味着针对PSPACE完整问题的更快的不确定性算法。Ñ ķnknk
Michael Wehar

7

给定两个接受有限语言的自动机,(非循环自动机),的状态复杂度在(1)中。这个结果也适用于一元DFA(不一定非循环)(2)。但是,您似乎在谈论计算两个自动机的交点所需的空间。我看不到使用笛卡尔积的经典构造如何使用空间。您需要的是恒定数量的对数计数器。在为新状态计算转换函数时,只需扫描输入,而无需查看任何先前生成的数据。大号大号Θ ||·&||ø Ñ 2q - [R ABL(A)L(B)Θ(|A||B|) O(n2)(q,r)

也许您想输出最小的自动机?如果是这样,那么我不知道是否可以实现。有限语言的交集的状态复杂性似乎并不令人鼓舞。但是,一元DFA具有相同的状态复杂度,我认为可以使用这种自动机来实现。通过使用(2)的结果,您可以获得识别交点的自动机的确切大小。该大小由尾巴的长度和循环来描述,因此,由于结构完全由这两个大小来描述,因此可以很容易地以很少的空间来计算过渡函数。然后,您要做的就是生成最终状态集。令为结果自动机中的状态数,然后对于所有,状态1 Ñ 一个n1ini如果被和都接受,则是最终状态。该测试可以用很少的空间进行。aiAB


1
是的,我对最小自动机或至少类似大小的自动机感兴趣。感谢您提供一元DFA的指针。但是,这对于一般情况似乎没有太大帮助。
拉斯穆斯·帕
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.