Алгоритм Бржозовского
Версия от 01:06, 27 декабря 2014; Kamigan4eg (обсуждение | вклад)
Эта статья находится в разработке!
| Задача: |
| Пусть дан автомат . Требуется построить автомат с наименьшим количеством состояний, распознающий тот же язык, что и . |
Алгоритм
Описание
Алгоритм минимизации конечных автоматов Бржозовского (Janusz A. (John) Brzozowski) выделяется, по крайней мере, следующими качествами:
- Он элегантен и весьма оригинален.
- Он эффективен.
- Он работает даже с недетерминированными конечными автоматами.
Обладая обычными процедурами обращения и детерминизации конечного автомата, мы, с помощью идеи Бржозовского, можем немедленно приступить к минимизации заданного автомата. Для этого надо дважды провести его через обе вышеуказанные процедуры:
, где
- это исходный КА,
- это процедура обращения КА,
- это процедура детерминизации КА,
- это минимизированный КА.
Корректность
Пример работы
- Исходный НКА ():
- Первый шаг алгоритма ():
- Второй шаг алгоритма ():
переименовывает состояния, после этого всегда является начальным состоянием
- Третий шаг алгоритма ():
После выполнения этого шага алгоритма оба состояния и являются начальными.
- Заключительный шаг алгоритма ():




