Skip to content

Преобразования и алгоритмы

IgorFilimonov edited this page Oct 9, 2024 · 1 revision

Конструктор вычислителей поддерживает как локальные преобразования отдельных переходов, состояний и строительных блоков, так и глобальные преобразования всего вычислителя в целом

Для выполнения локального преобразования кликните правой кнопкой мыши по текстовой метке перехода, состоянию или строительному блоку и выберите преобразования в показанном контекстном меню

Для выполнения глобального преобразования используйте пункты меню "Преобразовать"

Также есть поддержка некоторых алгоритмов над вычислителями. Чтобы посмотреть полный список, выберите меню "Алгоритмы"

Поддерживаемые преобразования и алгоритмы

Преобразование и алгоритмы Доступно для вычислителей Субъект преобразования
Детерминизация Конечный автомат Весь вычислитель
Минимизация Конечный автомат Весь вычислитель
Упрощение регулярного выражения Конечный автомат Отдельный переход
Устранение эписилон-перехода Конечный автомат, автомат с магазинной памятью, регистровый автомат Отдельный переход
Преобразование машины Мили в машину Мура (и обратно) Машина Мура/Мили Весь вычислитель
Перемещение выходных строк из входящих переходов в состояние (и обратно) Машина Мура/Мили Отдельное состояние
Перевод в контекстно-свободную грамматику (в CNF) Автомат с магазинной памятью Весь вычислитель
Алгоритм Хеллингса Конечный автомат Весь вычислитель

Пример преобразования регулярного выражения в минимизированный ДКА

Этапы:

  • Регулярное выражение
  • НКА (недетерминированный конченый автомат)
  • ДКА (детерминированный конченый автомат)
  • минимизированный ДКА
regex_to_dfa.mp4

Пример пошагового преобразования регулярного выражения в минимизированный ДКА

regex_to_dfa_step_by_step.mp4

Пример работы алгоритма Хеллингса

hellings_algo.mp4