Обобщая алгоритм минимизации ДФА Бжозовского для конечных автоматов с различными классами принимающих состояний?

9

Алгоритм Бжозовского для преобразования DFA в эквивалентный DFA с минимальным состоянием удивительно прост: если R(D) обозначает NFA, образованный путем обращения всех ребер в DFA Dпревращение старого начального состояния в принимающее состояние и превращение старого принимающего состояния в стартовые состояния, и если P(N) обозначает результат применения конструкции подмножества к NFA N, тогда

P(R(P(R(D))))
является DFA с минимальным состоянием и тем же языком, что и D,

Мы можем думать о DFA как о вычислительном устройстве, которое принимает входную строку w а затем выводит 0, если w заканчивается в состоянии отказа и 1, если wзаканчивается в принимающем состоянии. Естественное обобщение DFA связывает каждое состояние в DFA с некоторым натуральным числом от 0 доk1включительно.

Насколько мне известно, можно минимизировать эти модифицированные классы DFA, используя алгоритм минимизации на основе различимости, такой как канонический алгоритм Хопкрофта. Однако я не понимаю, как можно было бы адаптировать алгоритм минимизации Бжозовского к этому новому классу автоматов, потому что ключевой шаг (реверсирование автомата) больше не имеет четкой интерпретации в этой обобщенной установке.

Известно ли обобщение алгоритма Бжозовского для минимизации автоматов такого типа? Если нет, то есть ли теоретические причины, по которым мы ожидаем, что такого модифицированного алгоритма не будет?

templatetypedef
источник
«обобщение» не представляется четко определенным. что такоеk? это просто говорит о связывании каждого состояния в DFA с ограниченным целочисленным значением? тогда что? какой пример? кто работает с этим? и т.д.
ВЗН
@vzn Вы можете думать о каждом состоянии в нормальном DFA как о 0 или 1 (состояния отклонения и принятия соответственно). Я подумываю обобщить это на случай, когда каждое состояние DFA связано с некоторым значением в{0,1,2,3,...,k1}и DFA выводит число, связанное с состоянием, в котором заканчивается строка.
templatetypedef
хорошо, это вообще не сообщается в посте, "DFA выводит #, связанный с состоянием, в котором заканчивается строка", предлагаю вам это исправить. кроме того, ДФА технически не имеют «выхода». может быть вы имеете в виду датчик FSM? действительно, существует некоторая частичная теория, связанная с минимизацией датчика FSM, которая, очевидно, не («еще»?) полностью связана с минимизацией DFA.
vzn

Ответы:

7

Ответ на ваш вопрос - да.

См. Статьи Бончи, Бонсанге, Руттена и Сильвы ( алгоритм) Бжозовского (со) алгебраически (более короткая версия конференции) и Двойственность алгебры и коалгебры в алгоритме минимизации Бжозовского (более длинная версия журнала с большим количеством обобщений).

Они дают (слегка) категоричное представление алгоритма Бжозовского и используют его для выведения его версий для более общих классов автоматов, включая автоматы Мура (что дает утвердительный ответ на ваш вопрос).

Нил Кришнасвами
источник
6

Просто чтобы добавить ответ Нила, в моей книге « Автоматические последовательности с Жаном-Полем Аллюшем» мы обсуждаем DFAO (детерминированные конечные автоматы с выходами), о которых вы и просили (связать выход с каждым состоянием). И теорема 4.3.3 описывает, как обратить вспять такую ​​машину.

Джеффри Шаллит
источник