Почему минимизация NFA является серьезной проблемой, а минимизация DFA - нет?

14

Я знаю, что мы можем минимизировать DFA, находя и объединяя эквивалентные состояния, но почему мы не можем сделать то же самое с NFA? Я не ищу доказательств или чего-то в этом роде - если только доказательство не проще для понимания. Я просто хочу интуитивно понять, почему минимизация NFA так сложна, чем минимизация DFA.

Дункан
источник

Ответы:

8

Для DFA есть хорошая алгебраическая структура, которая определяет, какие состояния могут быть эквивалентными, эквивалентность по Ниходе по Милхиллу связана с минимизацией DFA.

Для NFA ситуация сложная, так как нет единственного минимального NFA в целом.

Вот пример для конечного языка . Оба автомата являются минимальными по состоянию. Пример из статьи «Замечание о минимальных недетерминированных автоматах » Арнольда, Дики и Нивата.{aб,aс,бс,бa,сa,сб}

два НФА для одного языка

Этот ответ пытается выразить тот факт, что эти две проблемы "технически" разные. Посмотрите ответ vzn для деталей, как проблемы отличаются в вычислительной сложности.

Хендрик Ян
источник
8
Ни у задачи с кратчайшим путем, ни у минимального связующего дерева (всегда) нет уникальных решений, но они все еще эффективно решаемы.
Рафаэль
5

Вы спрашивали об интуитивном восприятии.

В DFA любой заданный входной префикс может достигать не более одного состояния. Затем можно объединить пары состояний, которые неразличимы для любого суффикса. Состояния, которые можно различить по некоторому суффиксу, не могут быть объединены. Это приводит к минимальному автомату, который изоморфен всем другим минимальным автоматам.

пQпппQQпQпQ

N2N

Андраш Саламон
источник
1

О(NsжурналN)

см. также этот вопрос TCS.se для вычисления минимального NFA для DFA

ВЗН
источник
Я не знаю, как определить трудно, но я имел в виду, что нет эффективного алгоритма для его решения.
Дункан
@duncan Хорошо, тогда вы действительно использовали это слово в техническом смысле. поэтому есть некоторые разъяснения по технической твердости. в CS «эффективный» также является техническим термином, принятым / определенным так же, как PTime. так что ваш вопрос на самом деле связан с важным открытым вопросом в TCS - широко распространено подозрение / сформулировано, что минимизация NFA (вместе со всеми полными проблемами PSpace) действительно «трудна», то есть не в P, но еще не доказана.
vzn