存在工会的情况下NFA和DFA之间的指数分离


15

最近,有人提出了一个有趣的问题,随后将其删除。

对于常规语言L,其DFA复杂度是接受它的最小DFA的大小,而它的NFA复杂度是接受它的最小NFA的大小。众所周知,至少在字母的大小不受限制的情况下,两个复杂度之间存在指数分隔。确实,考虑由字母构成的语言Ln,该字母由不包含所有符号的所有单词组成。使用Myhill-Nerode定理,可以轻松计算DFA复杂度。另一方面,NFA复杂度仅为(如果允许多个初始状态,则为{1,…,n} n n + 12nnn+1)。

有关删除的问题,DFA覆盖的复杂性语言,这是最小的C,使得L可以写成的DFA复杂语言最多的(不一定是不相交)工会C。覆盖复杂度的DFA Ln仅2。

NFA复杂度与DFA覆盖复杂度之间是否有指数级的距离?

Answers:


8

考虑语言,其中#是一个新符号。M n的NFA复杂度为n。我们将证明其DFA覆盖复杂度为2 n。中号ñ=ϵ+(大号ñ#)∗大号ñ#中号ññ2ñ

让是DFA接受一些语言大号(甲)⊆ 中号Ñ,具有转移函数q 甲。如果存在某个单词w使得q A(s ,w )是一个接受状态,则将状态s称为可行。对于任何两个非故障状态小号,吨,让甲小号,吨 = { 瓦特∈ (1 + ⋯ + Ñ )*:q 甲一种大号(一种)⊆中号ñq一种swq一种(s,w)s,Ť不难检查每一个字瓦特∈ 大号(甲)可以写为瓦特= 瓦特1#⋯ #瓦特升其中瓦特我 ∈ 甲小号我,Ť 我一些可行的小号我,Ť 我。

一种s,Ť={w∈(1+⋯+ñ)∗:q一种(s,w)=Ť}。
w∈大号(一种)w=w1#⋯#w升w一世∈一种s一世,Ť一世s一世,Ť一世

假设,其中每个甲我是一个DFA。令P为所有语言A i s ,t生成的晶格。我们可以查看大号(甲我)作为一种语言大号P(甲我)超过P *,对应于任何两个符号之间的空间#。在这种观点下,M n中号ñ=⋃一世=1ñ大号(一种一世)一种一世P一种s,Ť一世大号(一种一世)大号P(一种一世)P∗#中号ñ对应于。P∗

呼叫通用,如果由于某种X ∈ P *是这样的情况,对于所有ý ∈ P有ž ∈ P *,使得X ý ž ∈ 大号P(甲我)。我们声称某些L P(A i)是通用的。否则,每个L P(A i)最多包含(| P大号P(一种一世) X∈P∗ÿ∈Pž∈P∗Xÿž∈大号P(一种一世)大号P(一种一世)大号P(一种一世)个长度为 l的单词。总的来说, L P(A i)必须包含所有 |。P | l个字,长度为 l,因此 | P | 升 ≤ Ñ (| P | - 1 )升,这是违反了足够大升。(|P|-1)升升大号P(一种一世)|P|l升|P|升≤ñ(|P|-1)升升

假设是通用的,为简洁起见,写A = A i。让X ' ∈ P *是对应的前缀,让X ∈ 中号ñ是对应于它的一些字。因此,对于每个ý ∈ 大号Ñ有一些ž ý ∈ 中号Ñ使得X #ý #Ž Ý ∈ 大号(甲我)。大号P(一种一世)一种=一种一世X′∈P∗X∈中号ñÿ∈大号ñžÿ∈中号ñx#y#zy∈L(Ai)

对于一个子集,让ÿ Ş在于字母的小号顺序写。我们声称单词x #y S对于A的Myhill-Nerode关系是不等价的。事实上,假设小号≠ 牛逼,去寻找一个∈ 小号∖ 牛逼(不失一般性)。然后x #y T y { 1 ,… ,n } − aS⊆{1,…,n}ySSx#ySAS≠Ta∈S∖T而 X #ý 小号ÿ { 1 ,... ,Ñ } - 一个#Ž ý Ť ÿ { 1 ,... ,Ñ } - 一个 ∉ 中号n。因此, A必须至少具有 2 n个状态。x#yTy{1,…,n}−a#zyTy{1,…,n}−a∈L(A)x#ySy{1,…,n}−a#zyTy{1,…,n}−a∉MnA2n

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.