这是“ n个状态的有限自动机所接受的独特语言数量 ”论文的摘要。对于NFA接受的不同语言的数量,本文提供了相对容易的方法,但还没有严格的限制和上限。他们对不同DFA数量的讨论非常有见地,因此,我还将包括这一部分。
本文首先针对DFA 在一元字母上具有个状态的DFA接受的不同语言的数量,给出了非常严格的渐近线。这通过观察在什么条件下给定的n状态一元DFA最小来完成。在这种情况下,自动机的描述可以(双向地)映射到原始单词,并且此类单词的枚举是众所周知的,并借助Möbius函数完成。使用该结果,可以证明DFA和NFA情况下非一元字母的边界。nn
让我们更详细地讲。对于第字母,定义
f k(n )k
注意克ķ(Ñ)=Σ ñ 我= 1 ˚Fķ(我)。我们从f1(k)和g1(k)开始。
fk(n)gk(n)Gk(n)=the number of pairwise non-isomorphic minimal DFA's with n states=the number of distinct languages accepted by DFA's with n states=the number of distinct languages accepted by NFA's with n states
gk(n)=∑ni=1fk(i)f1(k)g1(k)
一元DFA的枚举
一元DFA 状态为q 0,… ,q n − 1是最小的M=(Q,{a},δ,q0,F)q0,…,qn−1
- 已连接。因此,重命名后,它的转换图包括一个环和一个尾部,即和δ (q ñ - 1,一)= q Ĵ一些Ĵ ≤ ñ - 1。δ(qi,a)=qi+1δ(qn−1,a)=qjj≤n−1
- 循环是最小的。
- 如果,则要么q Ĵ - 1 ∈ ˚F和q ñ - 1 ∉ ˚F或q Ĵ - 1 ∉ ˚F和q ñ - 1 ∈ ˚F。j≠0qj−1∈Fqn−1∉Fqj−1∉Fqn−1∈F
如果由a i = { 1定义
的单词a j ⋯ a n - 1,则循环最小。qj,…,qn−1aj⋯an−1
是原始的,这意味着它不能在形式写成Xķ
对于一些单词X和一些整数ķ≥2。
数ψķ(Ñ)的长度的原始词语Ñ超过ķ-letter字母是已知的,参见例如Lothaire,组合学上字。我们有
ψķ(ñ)=Σd | Ñμ(d)ķñ/
ai={1if q∈F,0if q∉F
xkxk≥2ψ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)f1(n)=2n(n−α+O(n2−n/2))=2n−1(n+1−α+O(n2−n/2)).
DFA的枚举
下一步是的下界。定理7所指出
˚F ķ(Ñ )≥ ˚F 1(Ñ )Ñ (ķ - 1 )ñ〜ñ 2 ñ - 1 Ñ (ķ - 1 )ñ。
对于一组Δ ⊂ Σ自动机的中号,定义中号Δ为一体的限制中号至Δ。fk(n)
fk(n)≥f1(n)n(k−1)n∼n2n−1n(k−1)n.
Δ⊂ΣMMΔMΔ
证明作品考虑设定
的DFA的
中号比
ķ -letter字母表
{ 0 ,1 ,... ,ķ - 1 }的定义
Sk,nMk{0,1,…,k−1}
- 令为n个状态下f 1(n )个不同的一元DFA之一,并且M{0}f1(n)n
- 选择任何功能ħ 我:Q → Q为1 ≤ 我< ķ并限定δ (q ,我)= ħ 我(q )为1 ≤ 我< ķ和q ∈ Q。k−1hi:Q→Q1≤i<kδ(q,i)=hi(q)1≤i<kq∈Q
Sn,kf1(n)n(k−1)n
NFA的枚举
G1(n)2nϵ,a,…,an−1n
G1(n)≤(c1nlogn)n
k≥2
n2(k−1)n2≤Gk(n)≤(2n−1)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..n−1]. 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,…,k−1},
Q={q0,…,qn−1} and
δ:
δ(qi,0)δ(qi,j)=q(i+1)modnfor 0≤i<n=hj(i)for 0≤i<n,1≤j<k
where
hj:{1,…,n−1}→2Q is any set-valued function. Finally, let
F={qi} for any
i∈[0..n−1]. There are
2(k−1)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.