Алгоритм Бржозовского — различия между версиями
| Строка 31: | Строка 31: | ||
==Литература==  | ==Литература==  | ||
| + | [[Категория: Теория формальных языков]]  | ||
| + | [[Категория: Автоматы и регулярные языки]]  | ||
Версия 05:50, 18 ноября 2014
Эта статья находится в разработке!
| Задача: | 
| Пусть дан автомат . Требуется построить автомат с наименьшим количеством состояний, распознающий тот же язык, что и . | 
Содержание
Алгоритм
Описание
Алгоритм минимизации конечных автоматов Бржозовского (Janusz A. (John) Brzozowski) выделяется, по крайней мере, следующими качествами:
- Он элегантен и весьма оригинален.
 - Он эффективен.
 - Он работает даже с недетерминированными конечными автоматами.
 
Обладая обычными процедурами обращения и детерминизации конечного автомата, мы, с помощью идеи Бржозовского, можем немедленно приступить к минимизации заданного автомата. Для этого надо дважды провести его через обе вышеуказанные процедуры:
, где
- это исходный КА,
 - это процедура обращения КА,
 - это процедура детерминизации КА,
 - это минимизированный КА.
 
Корректность
Пример работы
Псевдокод
См. также
- Минимизация ДКА, алгоритм за O(n^2) с построением пар различимых состояний
 - Минимизация ДКА, алгоритм Хопкрофта (сложность O(n log n))