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


24

Ми знаємо, що DFA еквівалентні NFA в потужності виразності; Існує також відомий алгоритм перетворення NFA в DFA (на жаль, я зараз знаю винахідника цього алгоритму), який, в гіршому випадку, дає нам станів, якщо в нашому NFA був станів. S2SS

Моє запитання: що визначає найгірший сценарій?


Ось транскрипція алгоритму у випадку неоднозначності:

Нехай - NFA. Побудуємо DFA деA = ( Q , Σ , δ , q 0 , F )A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)

  • Q=P(Q) ,
  • F={SQ|FS} ,
  • δ(S,a)=sS(δ(s,a)δ^(s,ε)) , і
  • q0={q0}δ^(q0,ε) ,

де є розширеною функцією переходу .δ^A


Як зазначають коментарі, ви можете врятувати цей Q, попросивши "мінімальний" NFA для DFA (відкрита проблема). завжди думав, що ця проблема різними способами тісно пов'язана з питанням P =? NP і має подібні формулювання, які це підказують. це аналогічно тим, що ви запитуєте про "стисливі" проти "некомпресивні" DFA, де "несжимаемый" - це найгірший випадок, такий, що мінімальний НФА є майже розміром DFA. Тобто, ймовірно , деяка теорема , як, «більшість ДКІ, взятої випадковим чином , є нестисливі [в NFAS]» , оскільки є подібні ТГМИ в теорії інформації повторно Н. Колмогорова складності рядки і т.д.
ВЗНА

Відповіді:


24

Алгоритм, на який ви посилаєтесь, називається Powerset Construction, і його вперше опублікували Майкл Рабін та Дана Скотт у 1959 році.

Щоб відповісти на ваше запитання, як зазначено в заголовку, немає максимальної DFA для звичайної мови, оскільки ви завжди можете взяти DFA і додати стільки держав, скільки вам потрібно, при переходах між ними, але без переходів між одним із початкових станів і одна з нових. Таким чином, нові стани не будуть доступні від початкового стану , тому мова, прийнята автоматом, не зміниться (оскільки залишиться однаковою для всіх ) .δ ( д 0 , ш ) ш Е Е *q0δ^(q0,w)wΣ

При цьому зрозуміло, що в NFA не може бути умов, щоб його еквівалентний DFA був максимальним, оскільки не існує єдиного еквівалентного DFA. На відміну від цього, мінімальний показник DFA є унікальним аж до ізоморфізму.


Канонічний приклад мови, прийнятої NFA з станами з еквівалентною DFA станів, є NFA для - , з , і для . DFA в результаті застосування побудови живлення до цієї NFA матиме станів, тому що вам потрібно представити всі слів довжиною2 n L = { w { 0 , 1 } : | w | n,  а  n -й символ з останнього - 1 } . Ln+12n

L={w{0,1}:|w|n and the n-th symbol from the last one is 1}.
L& deltaA=Q,{0,1},δ,q0,{qn+1}δ(q0,0)={q0}δ(q0,1)={q0,q1}i { 1 , , n } 2 n 2 n n Lδ(qi,0)=δ(qi,1)={qi+1}i{1,,n}2n2nnв якості суфіксів слова в .L

До речі, якщо ви хочете, щоб фігурні дужки відображалися в режимі математики дисплея, використовуйте \\ {і \\}.
Зак Ленглі

@ZachLangley Я вже спробував, це не працює :-(
Janoma

Здається, це працює для мене в попередньому перегляді. Я не можу подати правки, тому що я додаю лише чотири символи, а мінімум - шість. Ви користуєтесь двома нахилами, і це не спрацювало?
Зак Ленглі

@ZachLangley Це працює зараз, але дві речі: по-перше, це не спрацювало, коли я вперше опублікував відповідь. По-друге, я думаю, що це суперечить поведінці LaTeX-рендерінгу в cteheory, але я можу помилятися.
Янома

Отриманий DFA мінімальний? Не могли б ви трохи поговорити про те, як довести, що це мінімально?
user834

8

Найгірший випадок походить від кількості підмножин станів NFA. Для того, щоб алгоритм з теореми Кліна дав еквівалентну DFA з найгіршим числом станів, повинен бути спосіб дістатися до кожного можливого підмножини станів у NFA. Приклад з двома станами над алфавітом має перехід від початкового стану до єдиного приймаючого стану на символі , перехід від приймаючого стану до початкового на та перехід від приймаючого стану повернутися до себе на чи a . Струни , , , і приводять до підмножини { a , b } a b a b λ a b a b { q 1 } { q 2 } { } { q 1 , q 2 }2s{a,b}ababλabab{q1} , , і відповідно, і для цього потрібні окремі стани в DFA Kleene дає.{q2}{}{q1,q2}


погодився, але питання "чи є спосіб дістатися до всіх можливих підмножин штатів у NFA" є нетривіальним та варто додаткового вивчення ....
vzn

-1

Я вважаю, що це питання на межі знань, тобто в основному питання дослідження. Після швидкого пошуку в Google, здається, він відкритий. Крім того, протягом багатьох років я вважав, що це важливо і пов'язане з нижчими межами теорії складності. Ви не згадуєте безпосередньо статистичний аналіз, але саме це має на увазі ваше запитання. Ось два приклади статистичних досліджень щодо DFA / NFAs, подібні, щоб показати загальний підхід до питань такого типу. Здається, що основні емпіричні дослідження таких питань як і раніше, як правило, не вивчені. Дійсно, другий не стосується безпосередньо вашого запитання, але це найближче, що я міг би знайти в сучасних дослідженнях.

Щоб вивчити своє запитання, можна передбачити статистичну атаку, як описано нижче. Побудовані випадкові НФА. Потім визначається мінімальний коефіцієнт DFA. Графікуйте результати гістограми на кількість результатів DFA розміром . Виділіть "великі" DFA на основі певного порогу. Сформулюйте деякий показник або вимірювання NFA, який дає оцінку отриманого розміру DFA.x

Ця метрика буде пов'язана з метрикою теорії графів, такими як метрова щільність краю. Напевно, є якась дуже важлива метрика теорії графів чи суміш метрик, яка оцінює "вибух", але це не для мене очевидно відразу. Можливо, я б міг запропонувати щось на зразок метрики фарбування графіків чи клікових показників. Потім випробуйте показник на два набори "підірвання" проти "не підірвано".

Інші відповіді на ваше запитання поки що лише дають приклад випадку "підриву" (корисного для прикладу), але не стосуються ключового питання загальної метрики.

Ще однією областю для успішно розробленої програми емпіричного дослідження є дослідження перехідних точок SAT. Це розвинуло дуже глибокі зв’язки з концепціями фізики та термодинаміки. Мені здається, ймовірно, що подібні поняття тут застосовні. Наприклад, можна знайти аналогічні показники типу перехідної точки; можливо, щільність ребер і т. д. Зауважимо паралелі теорії стиснення Колмогорова.

Я гадаю також, що НФА, які "підірвали" проти тих, хто не є аналогічним чомусь "важким" проти "легких" випадків проблем, повних NP.

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


[1] Про ефективність алгоритмів мінімізації автоматичних систем Марко Альмейда, Нельма Морейра, Роджеріо Рейс

[2] Автомати, що не розпізнають слова: статистичний підхід Крістіан С. Калуде, Сезар Кампеану, Моніка Думітреску

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.