Як швидко ми можемо вирішити, чи мінімальний показник DFA?


11

Мінімізація детермінованих кінцевих автоматів (DFA) є проблемою, детально вивченою в літературі, і було запропоновано кілька алгоритмів для вирішення наступної проблеми: Дано DFA , обчислити відповідний мінімальний DFA, приймаючи ту саму мову, що і . Більшість із цих алгоритмів працює в поліноміальний час.АА

Однак мені цікаво, чи варіант рішення цієї проблеми - "заданий DFA , мінімальний?" - можна вирішити ефективніше, ніж фактично обчислити мінімальний автомат. Очевидно, це також можна зробити ефективно, запустивши, наприклад , алгоритм уточнення розділів Hopcroft, а потім вирішивши, чи містять усі розділи саме один стан.AАА

Як пропонує у своїй відповіді Юваль Філіус , варіант рішення може бути вирішений швидше, можливо, використовуючи стандартні алгоритми. На жаль, я не бачу, як це (сподіваюсь, я тут не пропускаю очевидного моменту).

У коментарях Юваль зазначає, що найвідоміші алгоритми (як той, що описаний вище) працюють у часі для алфавітів постійного розміру. Тому мене цікавлять не тільки асимптотично значні вигоди в процесі виконання, оскільки це здається досить малоймовірним. Що мене найбільше турбує, це те, що я не уявляю жодного "ярлика", який може бути зроблений з того, що нас цікавить лише відповідь "так-ні-відповідь" - навіть не ярлик, який дозволяє заощадити асимптотично незначну кількість часу. Я відчуваю, що кожен розумний алгоритм, який визначає мінімальність DFA, повинен насправді мінімізувати DFA і побачити, чи зміниться щось під час процесу.О(нжурналн)


Алгоритм Хопкрофта вже працює в квазілінійний час, тому можливостей для вдосконалення не так багато.
Yuval Filmus

Так, я відредагував своє запитання так, щоб воно відображало цей факт, @YuvalFilmus
Cornelius Brand

1
Я вважаю, що найшвидший відомий алгоритм мінімізації DFA все ще є цим . Це швидше, ніж будь-який алгоритм, опублікований до 2008 року, працює за час, де m - кількість переходів. O(n+mlogn)м
Juho

мені здається малоймовірним проблема рішення є еквівалентною за складністю проблемі мінімізації; перша здається, можливо, більш складною, оскільки передбачає тестування на еквівалентність DFA, яка не є нетривіальною. тому здається, що складність проблеми рішення - це максимум "тестування мінімізації або еквівалентності". і яка складність тестування на еквівалентність?
взн

@vzn Припускаючи, що ви мали на увазі "[...] що нетривіально": це не обов'язково, оскільки, наприклад, процедура, яку я подав у своєму запитанні, уникає перевірки на еквівалентність. Однак я також думаю, що проблема не є легшою, ніж мінімізація.
Корнелій

Відповіді:


5

Це може бути не такий тип відповіді, який ви шукаєте, але, оскільки ви запитували про проблеми з рішенням, я подумав, що вас може зацікавити складність проблеми. Це -повне.NL

Тепер, що означає для DFA мінімальний? Є два властивості:

  1. Кожен стан є доступним: таким, що ми можемо досягти q із стартового стану s , слідуючи w ; у символах: s w q .qQwΣqswswq

  2. Кожна пара станів відрізняється: з q r q,rQqr такими, що q w s і r w t і | { s , t } F | = 1 (лише один із s , t - стан прийняття).wΣqwsrwt|{s,t}F|=1s,t

Зауважте, що можна обчислити в просторі журналу (тобто L ; просто відстежуйте своє поточне положення, дотримуючись w одну букву за один раз). Крім того, існує лише кінцеве число чергувань між і так як наслідок теореми Іммерман-Szelepcsenyi , ми маємо , що проблема полягає в N L .xwуLшNL

Найпростіший спосіб побачити, що важко - помітити, що властивість 1 вирішує s - t спрямовану недосяжність, що є прототиповою важкою проблемою. Але навіть якщо ви розглядаєте лише доступні ДФА, проблема все ще є важкою (тобто властивість 2 є N L- твердою), і ви можете знайти відносно прямий доказ у леммі 2.2 Cho & Huynh (1992) .NLстNL

Звичайно, я використовував недетермінізм, тож це трохи кашлю в тому, чим він відрізняється від алгоритму Хопкрофта. Але ми знаємо, що , тому ви можете використовувати ці конструкції, щоб отримати собі більш ефективний простір алгоритм, ніж Хопкрофт (який за своєю суттю має відслідковувати n багатьох розділів).NLL2н


це, здається, покращує простір, але не складність часу?
vzn

Я згоден з взн. Хоча мені ця відповідь подобається, я все ж цікавлюсь уявленнями, які більш тісно пов'язані з оригінальним запитанням.
Корнелій

@ C.Brand Моя відповідь має бути дотичною (звідси відмова на початку;)) Я щойно дав вам найнижчий клас складності, для якого я знаю, що проблема є повною. Існує стандартна методика перетворення алгоритмів у P (тобто BFS на графіку конфігурації ), але я не думаю, що побудова дасть вам швидший алгоритм часу. NLП
Артем Казнатчеєв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.