不同常规语言的数量


14

给定一个字母Σ={a,b}n状态非确定性有限自动机可以接受多少种常规语言?

例如,让我们考虑n=3。然后,我们有218种不同的过渡配置以及23种不同的开始和结束状态配置,因此我们有224种不同语言的上限。
但是,其中许多功能都是等效的,并且由于测试是PSPACE-Complete,因此测试每个设置可能不可行。
是否存在其他方法或组合参数来限制给定资源接受的不同语言的数量?


只有3种不同的启动状态配置,而不是23
FrankW

4
简便的想法:常规语言的特征是有限的许多对等类,参见Myhill-Nerode。n状态自动机可以支持多少套不同的等价类?
拉斐尔

5
谷歌搜索Domaratzki,Kisman和Shallit撰写的“关于具有n个状态的有限自动机所接受的不同语言的数量”的论文对Google可能会有所帮助。
Hendrik 2014年1


1
在tcs.se上发现了几乎相同的问题:大小为n的DFA接受多少种语言?
vzn 2014年

Answers:


11

这是“ n个状态的有限自动机所接受的独特语言数量 ”论文的摘要。对于NFA接受的不同语言的数量,本文提供了相对容易的方法,但还没有严格的限制和上限。他们对不同DFA数量的讨论非常有见地,因此,我还将包括这一部分。

本文首先针对DFA 在一元字母上具有个状态的DFA接受的不同语言的数量,给出了非常严格的渐近线。这通过观察在什么条件下给定的n状态一元DFA最小来完成。在这种情况下,自动机的描述可以(双向地)映射到原始单词,并且此类单词的枚举是众所周知的,并借助Möbius函数完成。使用该结果,可以证明DFA和NFA情况下非一元字母的边界。nn

让我们更详细地讲。对于第字母,定义 f kn k 注意ķÑ=Σ ñ = 1 ˚Fķ。我们从f1kg1k)开始

fk(n)=the number of pairwise non-isomorphic minimal DFA's with n statesgk(n)=the number of distinct languages accepted by DFA's with n statesGk(n)=the number of distinct languages accepted by NFA's with n states
gk(n)=i=1nfk(i)f1(k)g1(k)

一元DFA的枚举

一元DFA 状态为q 0q n 1是最小的M=(Q,{a},δ,q0,F)q0,,qn1

  1. 已连接。因此,重命名后,它的转换图包括一个环和一个尾部,即δ q ñ - 1= q Ĵ一些Ĵ ñ - 1δ(qi,a)=qi+1δ(qn1,a)=qjjn1
  2. 循环是最小的。
  3. 如果,则要么q Ĵ - 1˚Fq ñ - 1˚Fq Ĵ - 1˚Fq ñ - 1˚Fj0qj1Fqn1Fqj1Fqn1F

如果由a i = { 1定义 的单词a ja n - 1,则循环最小。qj,,qn1ajan1原始的,这意味着它不能在形式写成Xķ 对于一些单词X和一些整数ķ2。 数ψķÑ的长度的原始词语Ñ超过ķ-letter字母是已知的,参见例如Lothaire,组合学上字。我们有 ψķñ=Σd | Ñμdķñ/

ai={1if qF,0if qF
xkxk2
ψk(n)nk 其中,μn莫比乌斯函数。的帮助下 ψ ķÑ的纸证明了精确的公式为 ˚F 1Ñ1Ñ和显示,渐近(定理5和推论6), 1Ñ
ψk(n)=d|nμ(d)kn/d
μ(n)ψk(n)f1(n)g1(n)
g1(n)=2n(nα+O(n2n/2))f1(n)=2n1(n+1α+O(n2n/2)).

DFA的枚举

下一步是的下界。定理7所指出 ˚F ķÑ ˚F 1Ñ Ñ ķ - 1 ññ 2 ñ - 1 Ñ ķ - 1 ñ 对于一组Δ Σ自动机的中号,定义中号Δ为一体的限制中号Δfk(n)

fk(n)f1(n)n(k1)nn2n1n(k1)n.
ΔΣMMΔMΔ
证明作品考虑设定的DFA的中号ķ -letter字母表{ 0 1 ... ķ - 1 }的定义Sk,nMk{0,1,,k1}
  1. n个状态下f 1n )个不同的一元DFA之一,并且M{0}f1(n)n
  2. 选择任何功能ħ Q Q1 < ķ并限定δ q = ħ q 1 < ķq Qk1hi:QQ1i<kδ(q,i)=hi(q)1i<kqQ

Sn,kf1(n)n(k1)n

NFA的枚举

G1(n)2nϵ,a,,an1n
G1(n)(c1nlogn)n
k2

n2(k1)n2Gk(n)(2n1)2kn2+1.
The proof is quite short, hence I include it verbatim (more or less). For the upper bound, note that any NFA can be specified by specifying, for each pair (q,a) of state and symbol, which subset of Q equals δ(q,a) (hence the factor 2kn2. We may assign the final states as follows: either the initial state is final or not, and since the names of the states are unimportant, we may assume the remaining final states are {1,,k} for k[0..n1]. Finally, if we choose no final states, we obtain the empty language.
For the lower bound the authors proceed in a similar way as in the proof for the DFA case: Define an NFA M=(Q,Σ,δ,q0,F) with Σ={0,1,,k1}, Q={q0,,qn1} and δ:
δ(qi,0)=q(i+1)modnfor 0i<nδ(qi,j)=hj(i)for 0i<n,1j<k
where hj:{1,,n1}2Q is any set-valued function. Finally, let F={qi} for any i[0..n1]. There are 2(k1)n2 such functions and n ways to choose the set of final states. One can then show that no two such NFA's accept the same language.
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.