Алгоритм Бржозовского — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Описание)
Строка 7: Строка 7:
 
==Алгоритм==
 
==Алгоритм==
 
===Описание===
 
===Описание===
Алгоритм минимизации конечных [[Детерминированные_конечные_автоматы|автоматов]] Бржозовского (Janusz A. (John) Brzozowski) выделяется, по крайней мере, следующими качествами:
+
Алгоритм минимизации конечных [[Детерминированные конечные автоматы|автоматов]] Бржозовского (Janusz A. (John) Brzozowski) выделяется, по крайней мере, следующими качествами:
  
 
* Он элегантен и весьма оригинален.
 
* Он элегантен и весьма оригинален.
 
* Он эффективен.
 
* Он эффективен.
* Он работает даже с недетерминированными конечными автоматами.
+
* Он работает даже с [[Недетерминированные конечные автоматы|недетерминированными конечными автоматами]].
  
Обладая обычными процедурами обращения <tex>rev</tex> и детерминизации <tex>det</tex> конечного [[Детерминированные_конечные_автоматы|автомата]], мы, с помощью идеи Бржозовского, можем немедленно приступить к минимизации заданного [[Детерминированные_конечные_автоматы|автомата]]. Для этого надо дважды провести его через обе вышеуказанные процедуры:
+
Обладая обычными процедурами обращения <tex>rev</tex> и детерминизации <tex>det</tex> конечного [[Детерминированные конечные автоматы|автомата]], мы, с помощью идеи Бржозовского, можем немедленно приступить к минимизации заданного [[Детерминированные конечные автоматы|автомата]]. Для этого надо дважды провести его через обе вышеуказанные процедуры:
  
 
<tex>mFA = det(rev(det(rev(FA))))</tex>, где
 
<tex>mFA = det(rev(det(rev(FA))))</tex>, где

Версия 05:52, 18 ноября 2014

Эта статья находится в разработке!
Задача:
Пусть дан автомат [math]\mathcal{A}[/math]. Требуется построить автомат [math]\mathcal{A}_{min}[/math] с наименьшим количеством состояний, распознающий тот же язык, что и [math]\mathcal{A}[/math].


Алгоритм

Описание

Алгоритм минимизации конечных автоматов Бржозовского (Janusz A. (John) Brzozowski) выделяется, по крайней мере, следующими качествами:

Обладая обычными процедурами обращения [math]rev[/math] и детерминизации [math]det[/math] конечного автомата, мы, с помощью идеи Бржозовского, можем немедленно приступить к минимизации заданного автомата. Для этого надо дважды провести его через обе вышеуказанные процедуры:

[math]mFA = det(rev(det(rev(FA))))[/math], где

  • [math]FA[/math] это исходный КА,
  • [math]rev[/math] это процедура обращения КА,
  • [math]det[/math] это процедура детерминизации КА,
  • [math]mFA[/math] это минимизированный КА.

Корректность

Пример работы

Псевдокод

См. также

Литература