обчислення мінімальної NFA для DFA


17

Багато років тому я чув, що обчислення мінімальної NFA (недетермінований кінцевий автомат) від DFA (детермінованої) було відкритим питанням, на відміну від навпаки напрямку, яке було відоме десятиліттями і добре досліджене з ефективним алгоритм. Хтось придумав алгоритм?О(нlgн)

Швидкий пошук дав мені цей документ, який доводить, що це, безумовно, важка проблема. Мабуть, алгоритм не заданий.

[1] Мінімальні проблеми NFA важкі / Дао Цзян та Б. Равікумар

Мене нагадали про цю проблему наступним запитанням на сайті CS.SE, з яким алгоритм мінімізації DFA-> NFA буде тісно пов'язаний. Це наступне питання мені здається рівнем дослідження. Я запропонував перенести його на TCS, і я написав відповідь, в якій пропонував статистичну / емпіричну атаку.

[2] Які умови для NFA, щоб його еквівалентний DFA був максимальним за розміром?


4
Папір, яку ви цитуєте, демонструє повноту PSPACE. Зокрема, проблема полягає в PSPACE, який негайно пропонує алгоритм. Які алгоритми ви шукаєте? Практичні та / або евристичні? Найвідоміші межі на показник часу роботи? Щось ще?
Джошуа Грохов

8
Насправді це не так незвично. До того, як проблема, як відомо, була завершена PSPACE, всі спроби розробки ефективних алгоритмів зазнали невдач, тому мало було опубліковано. Після того як проблема, як відомо, була повною PSPACE, ніхто не намагався розробити ефективні алгоритми, оскільки вони знали, що вони вийдуть з ладу, тому було опубліковано ще менше.
Jeffε

4
(1) Що означає "навпаки напрямок, відомий десятиліттями і добре досліджений за допомогою ефективного алгоритму O (n lg n")? Мінімальний коефіцієнт DFA для NFA з n станами може мати показник розміру в n, тому знадобиться деяке нетривіальне кодування виводу. (2) Не існує такого поняття, як "мінімальний NFA для даної звичайної мови". Порівняйте це з наявністю мінімальної DFA.
Цуйосі Іто,

1
JEFFE, у вас є хороший момент, але я впевнений, що існує багато проблем з повним Pspace, які все ще мають складні алгоритми, які використовують перевагу структури проблеми, окрім того, що просто перераховують усі можливі рішення, правда? зізнайтеся, я не можу придумати жодної верхньої частини голови. може, ти можеш? здогадуйтесь, що тут було б поставити ще одне цікаве питання.
vzn

2
а+

Відповіді:


25

Це справді вперта - і добре вивчена - проблема. Що стосується позитивних результатів, точного алгоритму Камеди та Вайнера, евристичного підходу Полака та недавнього підходу із застосуванням рішень SAT від Geldenhuys et al. прийти в голову. Але, здається, є набагато більш негативні результати, що виключають інші можливі підходи (наприклад, алгоритми наближення, особливі випадки, менш потужні моделі NFA, ...) Деякі посилання див. Нижче.

Т. Камеди та П. Вайнера. Про мінімізацію стану недетермінованих кінцевих автоматів. Операції IEEE на комп’ютерах, C-19 (7): 617–627, 1970.

А. Мальчер. Мінімізація кінцевих автоматів обчислювально важко. Теоретичні інформатики 327: 375-390, 2004.

Л. Поляк. Мінімалізація NFA з використанням універсального автомата. Міжнародний журнал «Основи інформатики», 16 (5): 999–1010, 2005.

Г. Грамліха та Г. Шнітгера. Мінімізація NFA та регулярних виразів. Симпозіум з теоретичних аспектів інформатики (STACS 2005), LNCS 3404, с. 399–411.

Х. Грубер та М. Хольцер. Неможливість недетермінованого стану та складності переходу при P <> NP. Розробки в мовній теорії (DLT 2007), LNCS 4588, с. 205–216.

Х. Грубер та М. Хольцер. Обчислювальна складність мінімізації NFA для кінцевих та одинарних мов. Теорія та застосування мови та автоматів (LATA 2007), стор. 261–272.

Х. Бьорклунд та В. Мартенс. Межа тяговості для мінімізації NFA. Міжнародний колоквіум з питань автоматів, мов та програмування (ICALP 2008), LNCS 5126, с. 27–38.

J. Geldenhuys, B. van der Merwe, L. van Zijl: Зменшення недетермінованих кінцевих автоматів за допомогою SAT Solvers. Методи кінцевих держав та обробка природних мов (FSMNLP 2009), LNCS 6062, 81–92.

EDIT (8 червня 2015 р.)

Оновлення: У наступному документі представлений евристичний алгоритм зменшення розміру недетермінованих автоматів Бючі, а також експерименти на випадкових автоматах. Як вони стверджують у висновку, їх метод застосовується і до НФА: "Хоча ми представляли наші методи в контексті автомати Büchi, більшість з них тривіально переходять до більш простого випадку автоматів над обмеженими словами".

Річард Майр, Лоренцо Клементе. Розширене мінімізація автоматичних даних. POPL 2013. Розширений технічний звіт EDI-INF-RR-1414.

Їх інструмент командного рядка « Зменшити v1.2» можна викликати параметром «-кінцевий» для зменшення заданої NFA. Реалізація є відкритим кодом та випускається під загальною ліцензією GNU.


3
Чи знаєте ви, чи існують реалізовані програми з відкритим кодом для будь-якого з цих перебігів?
jmite

Привіт Германне, велике спасибі за всю інформацію! Я знаю, що за умови NFA важко знайти найменший еквівалент NFA. А як щодо наступного: Враховуючи DFA, знайдіть найменший еквівалент NFA. Це важко? Як важко?
Майкл Вехар

Вибачте, зараз я бачу! Перший перелічений документ вирішує це: springerlink.com/content/y61724u571v487x5 Також інший документ, який ви перераховували, вирішує це для кінцевих регулярних мов: hermann-gruber.com/data/lata07-final.pdf Дякую, що ви мені це пояснили! :)
Майкл Вехар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.