NFA з експоненціальною кількістю станів при детемінізації


10

Як я можу побудувати приклад DFA, який має станів, де еквівалентний NFA має станів. Очевидно, що набір DFA повинен містити всі підмножини набору NFA, але я не знаю, як почати. Будь-які пропозиції поставити мене на правильний шлях?2nn


Це питання дещо незрозуміле. Загалом, існує нескінченна кількість еквівалентних DFA для будь-якої звичайної мови та нескінченно багато еквівалентних NFA для будь-якої заданої звичайної мови. Якщо ви хочете мінімальних DFA з станами, це не завжди навіть можливо, оскільки різні NFA можуть розпізнавати одну і ту ж мову і мати різні кількості станів, але відповідають одній мінімальній DFA. Якщо, крім того, ви хочете розглянути лише "мінімальні" NFA, це стане дещо цікавішим ...2n
Patrick87

2
Патріку, я вважаю, що ОП означає приклад, коли мінімальний коефіцієнт DFA є експоненціально більшим, ніж мінімальний NFA.
Yuval Filmus

@ Patrick87 Я не шукаю алгоритм. Все, що я хочу, - це приклад пари машин: DFA з станами та NFA з станами, які приймають ту саму мову. 2nn
saadtaame

@saadtaame: Це тривіально: візьміть будь-який DFA та додайте достатньо станів, щоб досягти . Цікавим прикладом є ті, де мінімальний еквівалент DFA має стільки станів. 2n
Рафаель

1
Зауважте, що стаття у Вікіпедії про мінімізацію DFA посилається на придатні приклади (хоча ви повинні з'ясувати маленький NFA самостійно).
Рафаель

Відповіді:


18

Стандартний приклад - мова усіх слів над алфавітом розміром який не містить усіх різних літер. Існує NFA, що приймає з станами (або станів, якщо ви дозволяєте декілька стартових станів): спочатку відгадайте, що буква яка відсутня, потім перейдіть (з -move) у стан, що приймає, з самосмиками для всіх , крім букв .LAnLn+1naϵA

Будь-який DFA для вимагає щонайменше станів. Це можна побачити, використовуючи теорему Міхілла-Нерода. Нехай це два різних підмножини слів і які містять усі та лише літери у відповідно. Не втрачаючи загальності, припустимо, що , і нехай . Тоді , а .L2nS1,S2Aw(S1),w(S2)S1,S2aS1S2w=w(Aa)w(S1)wLw(S2)wL


10

це вправа у книзі "Кінцеві автомати" університету Марка В. Лоусона Еріот-Ватт, Едінбург, стор. 68:

Нехай . Покажіть, що мову можна розпізнати за допомогою недетермінованого автомата з станами. Покажіть, що будь-який детермінований автомат, який розпізнає цю мову, повинен мати принаймні станів. Цей приклад показує, що експоненціальне збільшення кількості станів при переході від недетермінованого автомата до відповідного визначального автомата іноді неминуче.n1(0+1)1(0+1)n1n+12n


10

Я буду здогадуватися, що ви маєте на увазі, що оптимальна DFA має станів. Можливо, це не дає вам станів, але це .2n2nΩ(2n)

З "Складності спілкування" Кушилевіца та Нісана в навчанні 12.6:

"Для деякого постійного [невід'ємного цілого] розглянемо (кінцеву) мову ."cLc={www{0,1}c}

і книга продовжує просити вас довести, що ви можете знайти ко-NFA, що розпізнає який використовує стани а також, що ви не можете зробити краще, ніж для DFA.LcO(c)Ω(2c)


Крім того, доказ другої частини "вимагає" складності спілкування, тому це може не відповідати вашим цілям.
Тимофій Нд

Дякую за відповідь! Що ви маєте на увазі під спів-NFA?
saadtaame

В основному, перемикайте "прийняття" на "відхилення" у визначенні NFA. Тобто, якщо жоден із можливих шляхів не призводить до стану відхилення, ви приймаєте, інакше ви відхиляєте.
Тимофій Нд

Насправді нижня межа випливає досить легко з Міхіл-Нерода. (Насправді, ви можете отримати щось на зразок .) Але мій co-NFA використовує стан . 2c(c+1)2cΘ(c2)
Yuval Filmus

Кінцеві мови дещо нудні в цьому плані. Дивіться також тут .
Рафаель

9

Це пізня відповідь, але, очевидно, ніхто не дав оптимального рішення. Візьміть , et , з Цей NFA на двобуквенний алфавіт має станів, лише одне початкове і одне кінцеве стани, а його еквівалентний мінімальний DFA має станів.A={a,b}Qn={0,1,,n1}An=(Qn,A,En,{0},{0})

En={(i,a,i+1)0in1}{(n1,a,0)}{(i,b,i)1in1}{(i,b,0)1in1}}
n2n

3
Дуже розумний! Мова, прийнята цим автоматом, є , де складається з усіх слів, що містять букву не більше разів. (an+aWn1b)Wn1an1
Юваль Фільм

2
@ yuval-filmus Цей приклад не мій. Я хотів дати довідку, але наразі не пам'ятаю, де це бачив.
Ж.-Є.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.