Чи може недетерміновані кінцеві автомати (NDFA) бути ефективно перетворені на детерміновані кінцеві автомати (DFA) у субекспоненціальному просторі / часі?


16

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

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

Я не зміг придумати приклади неправильних поведінкових регулярних виразів або NDFA, але я не витратив багато часу на це. Я здогадуюсь регулярного виразу типу ((((e | A | B | C) * (e | D | E | F)) * (e | G | H | I)) * (e | J | K | L | M)) *, що змішує багато чергувань, і зірки Клієна мали б лінійний розмір NDFA, але розширений DFA.


Чи є якісь обмеження щодо класу NFA, які ви хочете прийняти як вхідні дані? Деякі обмеження призводять до кращих верхніх меж.
— Андрас Саламон

не дуже важливий момент, але чи потрібно ndfa бути власним тегом?
— Лев Рейзін

Так, існують обмеження. NFA будуються безпосередньо з регулярних виразів, трактуючи їх як узагальнені графіки переходу. seas.upenn.edu/~cit596/notes/dave/regexp-nfa4.html
— Wesner Moise

Відповіді:


15

Відомо, що для кожної пари натуралів n,aтаких чисел n <= a <= 2^nіснує мінімальна NDFA зі nстанами, відповідні мінімальні dfa мають aстани (понад чотири літери алфавіту).

Дивіться статтю тут: Детерміновані вибухи мінімальних недетермінованих кінцевих автоматів над нерухомим алфавітом .

Тези доповіді:

Покажемо, що для всіх цілих чисел n та α таких, що n ≤ α ≤ 2 ^ n, існує мінімальний недетермінований кінцевий автомат n станів з чотирибуквеним вхідним алфавітом, еквівалентний мінімальний детермінований кінцевий автомат має саме стани. Звідси випливає, що у випадку з чотирибуквенним алфавітом відсутні "магічні числа", тобто отвори в ієрархії. Це покращує аналогічний результат, отриманий Геффертом для зростаючого алфавіту розміру n + 2 (Proc. 7th DCFS, Como, Italy, 23-37).

Отже, я вважаю, що відповідь на ваше запитання - ні.


питання полягає в тому, щоб задати "алгоритм", який працює в субекспоненціальному часі та просторі для перетворення NFA.
— Marcos Villagra

@Marcos: Якщо ваш вихід експоненціальний, ви, можливо, не можете мати алгоритм, який працює в субекспоненціальний час.
— Арябхата

1
Це загальний результат. Якщо існують відомі обмеження щодо класу вхідних NFA, можливо, це можливо зробити і краще.
— Андраш Саламон

@Andras: Погодився, але враховуючи, що це, мабуть, пов'язане з програмуванням (яке підтримуватиме Kleen * тощо), я сумніваюся, чи буде набір вхідних NFA обмежений належним підмножиною.
— Ар'ябхата

5
Цей результат нещодавно був підсилений, щоб використовувати трибуквенний

13

Класичним прикладом для мови з експоненціальним поділом між розміром DFA та розміром NFA є така кінцева мова: двійкові рядки довжиною рівно 2n, в якій перша половина не дорівнює другій половині. NFA вгадає індекс i, в якому перша та друга половина не згодні. Нижня межа для DFA випливає, наприклад, із складності зв'язку.


8

У мінімальному DFA, що відповідає NFA, у гіршому випадку є 2 ^ n станів, тому ви нічого не можете гарантувати. Не маючи конструктивного прикладу, міркування полягає в тому, що в NFA ви можете перебувати в будь-якому довільному підмножині станів після читання певного вхідного рядка, і кожен такий підмножина може поводитися по-різному при спостереженні за одним символом. Припустимо, мова з двома символами в алфавіті (a і b) та NFA N з n станами, що починається з приймаючого стану в s_0. Тепер перерахуйте всі підмножини станів N і побудуйте таблицю переходу таким чином, що спостереження "a" з підмножини S_i приведе вас до підмножини S_i + 1, а спостереження b призведе до підмножини S_i-1 (це можливо для деяких перерахувань, я думаю ). Тепер цей автомат має n станів і приймає послідовності ma і nb такі, що mn = 0 mod 2 ^ | N |, і не може бути виражена за допомогою DFA, який має менше 2 ^ | N | стани (оскільки може знадобитися проходження по всіх підмножинах станів NFA N).


Чи можна це перетворити на аргумент, який говорить: "якщо (якась погана річ) уникнути в NFA, то DFA має субекспоненціальну кількість штатів"?
— Андраш Саламон

1
@ András, так. "Якщо в NFA уникнути недетермінізму, то DFA має субекспоненціальну кількість станів".
— П Швед

2
Павло, так, очевидно. Чи є якась нетривіальна властивість, яку можна ефективно розпізнати, що також гарантує субекспонентне вибух?
— Андраш Саламон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.