異なる通常言語の数


14

アルファベット与えΣ={a,b}られた場合、n非決定的有限オートマトンで受け入れられる正規言語はいくつありますか?

例として、考えてみましょうn=3。次に、218異なる遷移構成と23異なる開始状態および終了状態の構成があるため、224異なる言語の上限があります。
ただし、これらの多くは同等であり、そのテストはPSPACE-Completeであるため、各設定をテストすることはおそらく実行不可能です。
特定のリソースで受け入れられるさまざまな言語の数を制限する他の手段または組み合わせの引数はありますか?


ではなく、3つの異なる開始状態構成のみがあります23。
— FrankW

4
簡単なアイデア:通常の言語は、有限数の同値クラスによって特徴付けられます(Myhill-Nerodeを参照)。nオートマトンでサポートできる等価クラスのセットはいくつありますか?
— ラファエル

5
Domaratzki、Kisman、およびShallitによる論文「n個の状態を持つ有限オートマトンで受け入れられる異なる言語の数について」をグーグルで検索すると役立つ場合があります。
— ヘンドリック14年1


1
tcs.seでほぼ同じ質問が見つかりました:サイズnのDFAで受け入れられる言語の数は?
— vzn 14

回答:


11

これは、n個の状態を持つ有限オートマトンによって受け入れられる異なる言語の数に関する論文の要約です。この論文は、比較的簡単ですが、NFAで受け入れられる異なる言語の数の厳密な下限と上限にはほど遠いものです。個別のDFAの数に関する彼らの議論は非常に洞察力があるので、その部分も含めます。

この論文は、単項アルファベット上の状態を持つDFAで受け入れられる個別の言語の数についての非常に厳密な漸近から始まります。これは、特定のn状態の単項DFAが最小になる条件を観察することによって行われます。そのような場合、オートマトンの記述は原始語に(全単射で)マッピングでき、そのような語の列挙はよく知られており、メビウス関数の助けを借りて行われます。その結果を使用して、DFAとNFAの両方のケースで、非単項アルファベットの境界が証明されます。nn

さらに詳しく見ていきましょう。以下のためにアルファベット-letter、定義 F K(nは)k gk(n)=∑ n i = 1 fk(i)である ことに注意してください。f1(k)とg1(k)から始めます。

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の列挙

状態q 0、… 、q n − 1の単項DFA は最小iffですM=(Q,{a},δ,q0,F)q0,…,qn−1

  1. 接続されています。このように、名前を変更した後、遷移図は、ループ及び尾部、すなわち、から成るとδ (Q N - 1、)= Q jのいくつかのためにJ ≤ N - 1。δ(qi,a)=qi+1δ(qn−1,a)=qjj≤n−1
  2. ループは最小限です。
  3. もし、その後、いずれかのq J - 1 ∈ FおよびQ N - 1 ∉ F又はQのJ - 1 ∉ F及びQ N - 1 ∈ F。j≠0qj−1∈Fqn−1∉Fqj−1∉Fqn−1∈F

ループワードIFF最小であるJ ⋯ N - 1によって定義され 、I = { 1qj,…,qn−1aj⋯an−1 あるプリミティブそれは形式で書き込むことができない意味し、XK いくつかの単語のためのXといくつかの整数K≥2。 数ψK(N)長さのプリミティブワードのN上Kアルファベット-letterは、例えばLothaire、参照、知られている単語を組み合わせ論を。我々は持っている ψk個(nは)=ΣD | Nμ(D)KN/

ai={1if q∈F,0if q∉F
xkxk≥2
ψk(n)nk ここで、μ(n)はメビウス関数です。助けを借りて ψ K(N)紙は、正確な式を証明するための F 1(N)および G 1(N)と示すことが漸近的に(定理5と推論6)、 G 1(N )
ψk(n)=∑d|nμ(d)kn/d
μ(n)ψk(n)f1(n)g1(n)
g1(n)=2n(n−α+O(n2−n/2))f1(n)=2n−1(n+1−α+O(n2−n/2)).

DFAの列挙

fk(n)

fk(n)≥f1(n)n(k−1)n∼n2n−1n(k−1)n.
Δ⊂ΣMMΔMΔ
Sk,nMk{0,1,…,k−1}
  1. M{0}f1(n)n
  2. 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)≤(c1nlog⁡n)n
k≥2

n2(k−1)n2≤Gk(n)≤(2n−1)2kn2+1.
(q,a)Qδ(q,a)2kn2{1,…,k}k∈[0..n−1]
M=(Q,Σ,δ,q0,F)Σ={0,1,…,k−1}Q={q0,…,qn−1}δ
δ(qi,0)=q(i+1)modnfor 0≤i<nδ(qi,j)=hj(i)for 0≤i<n,1≤j<k
hj:{1,…,n−1}→2QF={qi}i∈[0..n−1]2(k−1)n2n最終状態のセットを選択する方法。そうすれば、そのようなNFAが同じ言語を受け入れないことを示すことができます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.