Это краткое изложение статьи « О количестве отдельных языков, принятых конечными автоматами с n государствами» . В документе даны относительно простые, но далеко не жесткие, нижние и верхние границы количества различных языков, принятых NFA. Их обсуждение количества различных DFA очень проницательно, поэтому я также включу эту часть.
Статья начинается с довольно строгой асимптотики для числа различных языков, принятых DFA с состояниями над унарным алфавитом. Это делается путем наблюдения , при каких условиях данного п -state унарного DFA минимален. В таких случаях описание автомата может быть сопоставлено (биективно) с примитивным словом , а перечисление таких слов хорошо известно и выполняется с помощью функции Мёбиуса . Используя этот результат, границы для неунарных алфавитов, как в DFA, так и в случае NFA, доказаны.nn
Давайте углубимся в детали. Для буквенного алфавита определите
f k ( n )К
ЗаметимчтогК(п)=Е п я = 1 фК(я). Начнем сf1(k)иg1(k).
еК( н )граммК( н )граммК( н )= количество попарно неизоморфных минимальных ДФА с n состояниями= количество различных языков, принятых DFA с n государствами= количество различных языков, принятых NFA с n государствами
граммК( n ) = ∑Nя = 1еК( я )е1( к )грамм1( к )
Перечень унарных ДФА
Унарный DFA с состояниями q 0 , … , q n - 1 минимален тогда и только тогда, когдаM= ( Q , { a } , δ, д0, F)Q0, … , Дn−1
- Это связано. Таким образом, после переименования диаграмма перехода состоит из петли и хвоста, т.е. и δ ( q n - 1 , a ) = q j для некоторого j ≤ n - 1 ,δ( дя, а ) = qя + 1δ( дn - 1, а ) = qJj ≤ n - 1
- Цикл минимален.
- Если , то либо д J - 1 ∈ F и Q п - 1 ∉ F или д J - 1 ∉ F и Q п - 1 ∈ F .j ≠ 0QJ - 1∈ FQn - 1∉ FQJ - 1∉ FQn - 1∈ F
Цикл минимален тогда и только тогда, когда слово a j ⋯ a n - 1 определено как
a i = { 1QJ, … , Дn - 1aJ⋯ аn - 1
являетсяпримитивной, что означаетчто не может быть записана в видехK
для некоторого словахи некоторого целого числак≥2.
Числоψk(n)примитивных слов длинойnнадбуквамиk-буквы известно, см., Например, Lothaire,Combinatorics on Words. Мы имеем
ψk(n)=∑d | nμ(d)kn/
aя= { 1если д∈F,0если д∉ F
ИксКИксk ≥ 2ψК( н )NК
где
μ(n)-
функция Мёбиуса. С помощью
ψ k (n)в статье доказываются точные формулы для
f 1 (n)и
g 1 (n)и показано, что асимптотически (теорема 5 и следствие 6)
g 1 ( n )ψК( n ) = ∑d| Nμ ( д) кн / д
μ ( n )ψК( н )е1( н )грамм1( н )грамм1( н )е1( н )= 2N( n - α + O ( n 2- н / 2) )= 2n - 1( n + 1 - α + O ( n 2- н / 2) ) .
Перечень ДФА
Следующим шагом является оценка снизу для . Теорема 7 утверждает, что
f k ( n ) ≥ f 1 ( n ) n ( k - 1 ) n ∼ n 2еК( н )
Для множестваΔ⊂ΣавтоматаMопределим M Δ как ограничениеMнаΔ.
еК( П ) ≥ F1( n ) n( k - 1 ) n~ П 2n - 1N( k - 1 ) n,
Δ ⊂ ΣMMΔMΔ
Доказательство работает путем рассмотрения множества
M DFA над алфавитом
k- буквы
{ 0 , 1 , … , k - 1 }, определенным как
Sк , нMК{ 0 , 1 , … , k - 1 }
- Пусть будет одним из f 1 ( n ) различных унарных DFA на n состояний, иM{ 0 }е1( н )N
- Выбор любой функции h i : Q → Q для 1 ≤к - 1чася: Q → Q1 ≤ i < kδ( д, я ) = чя( д)1 ≤ i < kQ∈ Q
Наблюдение тогда состоит в том, что содержит f 1 ( n ) n ( k - 1 ) n разных и минимальных языков.Sн , ке1( n ) n( k - 1 ) n
Перечень НФА
Для каждый имеет тривиальную нижнюю оценку 2 n , поскольку любое подмножество ϵ , a , … , a n - 1 может быть принято некоторым NFA с n состояниями. Нижняя граница немного улучшена, но доказательство довольно длинное.
В статье Описательная сложность в унарном случае Померанса и др. Показано, что G 1 ( n ) ≤ ( c 1 nграмм1( н )2Nϵ , а , ... , аn - 1N
.
Предложение 10 показывает, что дляk≥2имеем
n2(k-1)n2≤Gk(n)≤(2n-1)2kn2+1.
Доказательство довольно короткое, поэтому я включаю его дословно (более или менее). Для верхней границы обратите внимание, что любой NFA можно указать, указав для каждой пары(q,a)грамм1( n ) ≤ ( c1NжурналN)N
k ≥ 2
п 2( k - 1 ) n2≤ GК( n ) ≤ ( 2 n - 1 ) 2к н2+ 1.
( д, )Qδ( д, )2к н2{ 1 , … , k }k ∈ [ 0 .. n - 1 ]M=(Q,Σ,δ,q0,F)Σ={0,1,…,k−1}Q={q0,…,qn−1}δδ(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.