Мы знаем, что DFAs эквивалентны NFAs в силе выразительности; Существует также известный алгоритм для преобразования NFA в DFA (к сожалению, я теперь знаю изобретателя этого алгоритма), который в худшем случае дает нам состояния, если у нашего NFA было S состояний.
Мой вопрос: что определяет наихудший сценарий?
Вот транскрипция алгоритма в случае неоднозначности:
Пусть - NFA. Построим DFA A ′ = ( Q ′ , Σ , δ ′ , q ′ 0 , F ′ ), где
- ,
- ,
- , и
- ,
где δ является расширенной функцией переходов A .
Ответы:
Алгоритм, на который вы ссылаетесь, называется Powerset Construction и был впервые опубликован Майклом Рабином и Даной Скотт в 1959 году.
Чтобы ответить на ваш вопрос, как указано в заголовке, не существует максимального DFA для обычного языка, поскольку вы всегда можете взять DFA и добавить столько состояний, сколько хотите, с переходами между ними, но без переходов между одним из исходных состояний. и один из новых. Таким образом, новые государства не будут достижимы из начального состояния , так что язык , принимаемый автоматом не изменится (так как б ( д 0 , ш ) будет оставаться одинаковой для всех ж Е Е * ).Q0 δ^( д0, ш ) w ∈ Σ*
Тем не менее, ясно, что на NFA не может быть условий для того, чтобы его эквивалентный DFA был максимальным, поскольку не существует уникального эквивалентного DFA. Напротив, минимальный DFA уникален с точностью до изоморфизма.
Каноническим примером языка, принятого NFA с состояниями с эквивалентным DFA из 2 n состояний, является L = { w ∈ { 0 , 1 } ∗ : | ш | ≥ n и n-й символ из последнего равен 1 } . НКА для L является = ⟨ Q , { 0 , 1 } , δ , д 0 , {n + 1 2N
источник
источник
Я считаю, что это вопрос на границе знаний, то есть, в основном, вопрос исследования. Из быстрого поиска в Google, кажется, в основном открыто. Кроме того, в течение многих лет я считал, что это важно и связано с нижними границами теории сложности. Вы не упоминаете непосредственно статистический анализ, но именно это подразумевает ваш вопрос. Вот два примера статистических исследований по DFA / NFA, которые похожи, чтобы показать общий подход к вопросам такого типа. Похоже, что базовые эмпирические исследования таких вопросов до сих пор в основном не изучены. По общему признанию, второе не имеет прямого отношения к вашему вопросу, но это самое близкое, что я мог найти из текущих исследований.
Эта метрика будет связана с метриками теории графов, такими как граничная плотность и так далее. Вероятно, есть некоторая очень важная метрика теории графов или набор метрик, который оценивает «взрыв», но это не сразу очевидно для меня. Я мог бы предложить что-то вроде метрики раскраски графа или метрики клика, может быть. Затем сравните метрику с двумя наборами «взорван» против «не взорван».
Другие ответы на ваш вопрос пока только дают пример «взрыва» (полезно для тематического исследования), но не затрагивают ключевой вопрос общей метрики.
Еще одной областью, на которую стоит обратить внимание на успешно разработанную программу эмпирических исследований, является исследование точки перехода SAT. Это разработало очень глубокие связи с понятиями физики и термодинамики. Мне кажется вероятным, что подобные концепции применимы здесь. Например, можно найти аналогичные метрики типа точки перехода; возможно граничная плотность и т. д. Отметим параллели с теорией сжимаемости Колмогорова.
Я также предполагаю, что NFA, которые «взрываются» по сравнению с теми, которые этого не делают, в некоторой степени аналогичны «сложным» и «легким» случаям NP-завершенных проблем.
Еще один способ изучения этой проблемы - сформулировать проблему минимизации NFA. То есть, учитывая DFA, найдите минимальный NFA, который, как я слышал (много лет назад), все еще оставался открытой проблемой.
[1] О производительности алгоритмов минимизации автоматов Марко Алмейда, Нельма Морейра, Рожериу Рейс
[2] Автоматы, распознающие слова: статистический подход. Кристиан С. Калуде, Цезарь Кампеану, Моника Думитреску
источник