Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Минимизация конечных автоматов




 

Для любого конечного автомата (КА) существует бесконечное число других КА, которые распознают тоже самое множество цепочек. При конструировании распознавателей для данной проблемы естественно учитывать возможность существования какого-либо другого автомата, который определяется проще и при реализации в качестве программы будет занимать меньше памяти.

В этом разделе мы установим, что для каждого конечного распознавателя существует единственный КА, распознающий то же самое множество цепочек, при этом число его состояний не больше числа состояний любого другого КА для этого множества. То есть существует единственный конечный автомат M½, имеющий наименьшее число состояний среди всех КА, допускающих язык L(M). Такой автомат будем называть минимальным.

Когда мы говорим единственный, то имеется в виду, что с точностью до имен состояний. Для любого автомата можно построить новый с тем же числом состояний, но другими именами. Однако, имена состояний на практике не играют никакой роли для распознания цепочек. Поэтому автоматы, различающиеся только именами состояний, можно считать одинаковыми.

Первый шаг в изложении теории минимизации - понятие эквивалентности состояний. Неформально - два состояния эквивалентны, если они одинаково реагируют на все возможные продолжения входной цепочки. Это понятие применимо и к состояниям одного и того же автомата и различных автоматов.

 

Состояние s конечного распознавателя M эквивалентно состоянию t конечного распознавателя N тогда и только тогда, когда автомат M, начав работу в состоянии s будет допускать в точности те же цепочки, что и автомат N, начавший работу в состоянии t.

 

Если два состояния s и t одного автомата эквивалентны, то автомат можно упростить, заменив в таблице переходов все вхождения имен этих состояний каким-нибудь новым именем, а затем удалив один из двух столбцов, соответствующих s и t.

 

Пример 3.2. На рис. 3.6 (а) представлен автомат, у которого состояния q4 и q5 явно

эквивалентны, так как оба они допускающие, при чтении символа a переходят в q2, а при чтении b переходят в q3. Объединяя q4 и q5 в одно состояние x, получим автомат, представленный на рис. 3.6 (б). Обычно, эквивалентность состояний менее очевидна, чем в этом примере, и необходим специальный тест на эквивалентность. •

 

Вторая цель проверки состояний на эквивалентность состоит в выяснении того, делают ли два автомата одно и тоже, то есть совпадают ли множества допустимых ими цепочек. Это достигается просто проверкой эквивалентности начальных состояний автоматов. Если они эквивалентны, то по определению эквивалентности состояний оба автомата допускают и отвергают одни и те же цепочки.

 

Таким образом автоматы M и N эквивалентны тогда и только тогда, когда эквивалентны их начальные состояния.

 

Если два состояния неэквивалентны, то любая цепочка, под воздействием которой одно из них переходит в допускающее состояние, а другое в отвергающее, называется цепочкой, различающей два этих состояния.

 

Пример 3.3. На рис. 3.7 представлены два автомата, у которых состояния X и A неэквивалентны, так как различающая их цепочка - 101:

,

причем C - допускающее состояние, а Z - нет.

Поскольку A и X начальные состояния двух автоматов, то они неэквивалентны. •

 

Два состояния эквивалентны тогда и только тогда, когда не существует различающей их цепочки.

 

Эквивалентность состояний является отношением эквивалентности в математическом смысле: оно рефлексивно (каждое состояние эквивалентно самому себе), симметрично (из s º t следует, что t º s ) и транзитивно (если s º t и t º u, то s º u ).

 




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 2678; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.