Яка кількість мов, прийнятих DFA розміром


19

Питання є простим і прямим: для фіксованого , скільки (різних) мов приймається DFA розміром (тобто держав)? Я офіційно зазначу це:nnn

Визначте DFA як , де все як завжди, і δ : Q × Σ → Q є (можливо, частковою) функцією. Нам потрібно це встановити, оскільки іноді лише загальні функції вважаються дійсними.(Q,Σ,δ,q0,F)δ:Q×Σ→Q

Для кожного визначте (еквівалентність) відношення ∼ n на множині всіх DFA як: A ∼ n B, якщо | А | = | Б | = n і L ( A ) = L ( B ) .n≥1∼nA∼nB|A|=|B|=nL(A)=L(B)

Тоді питання: для даного , що таке індекс ∼ n ? Тобто, який розмір множини { L ( A ) ∣ A  - DFA розміру  n } ?n∼n{L(A)∣A is a DFA of size n}

Навіть коли є тотальною функцією, це не здається простим підрахунком (принаймні для мене). Графік може бути не підключений, і стани в підключеному компоненті, що містить початковий стан, можуть бути прийнятими, тому, наприклад, існує багато графіків розміром n, що приймають Σ ∗ . Те саме з іншими тривіальними комбінаціями для порожньої мови та інших мов, мінімальний показник DFA має менше, ніж n держав.δnΣ∗n

(Наївна) рекурсія теж не працює. Якщо ми візьмемо DFA розміром і додамо новий стан, тоді, якщо ми хочемо зберегти детермінізм і зробити новий графік з'єднаним (щоб спробувати уникнути тривіальних випадків), нам доведеться видалити перехід для підключення нового стану, але в такому випадку ми можемо втратити мову оригіналу.k

Будь-які думки?

Примітка. Я знову оновив запитання, формальною заявою та без попередніх відволікаючих елементів.


Просто для уточнення: Ви маєте на увазі "скільки різних мов можна визначити, використовуючи станів?", Де мова визначається за допомогою n держав, якщо є DFA з n станами, які приймають її. Також для регулярних виразів регулярний вираз "a * aaaaaa", безумовно, має> 1 конкатенації, але DFA потребує лише одного стану (два, якщо вам потрібна окрема раковина), ні? nnn
— Євгеній Торстенсен

Вибачення: Для прикладу регулярного вираження це має бути "a a a a a *", оскільки це дозволяє будь-яке число.
— Євгеній Торстенсен

Визначення видається дуже пов'язаним з поняттям "глибина крапки", за винятком того, що концепція зазвичай застосовується до мов, що не містять зірок (можливо, з причин, які @Evgenij Thorstensen окреслив). c(r)
— mhum

1
Тривіальне спостереження: станів можна використовувати для визначення принаймні 2 n різних мов. n+12n
— Євгеній Торстенсен

2
Ми можемо отримати трохи більше, тому здається нормальним. Але кількість n-державних автоматів становить приблизно n c n 2 n = 2 c n log n + n = 2 Θ ( n log n ) (якщо вважати | Σ | = c ). Чи можемо ми отримати 2 ω ( n ) ? 2Ω(n)ncn2n=2cnlog⁡n+n=2Θ(nlog⁡n)|Σ|=c2ω(n)
— Каве

Відповіді:


20

Я думаю, що це питання було вивчено раніше. Майк Домарацькі написав опитування про дослідження в цій галузі: "Перелік формальних мов", Бик. EATCS, vol. 89 (червень 2006 р.), 113-133: http://www.eatcs.org/images/bulletin/beatcs89.pdf


4
gk(n)

1
gk(n)fk(n)nk

6
g1(n)1≤n≤10g2(n)1≤n≤6g3(n)1≤n≤4
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.