logo
discrete_math1

48. Эквивалентные состояния автомата-распознавателя, эквивалентные автоматы-распознаватели, минимизация автоматов-распознавателей, алгоритм Мили.

Особый интерес представляет автомат с наименьшим числом состояний, т.к. он имеет самое простое описание. Задача построения такого автомата называется задачей минимизации автомата.

Определение.Состоянияvkиviавтоматов Т и Т΄соответственно называются эквивалентными, если для любого входного слова γА*выходные слова Т(γ, vk) и Т΄(γ, vi) совпадают.

Рассмотрим алгоритм Мили, с помощью которого можно за конечное время узнать, эквивалентны ли интересующие нас состояния произвольного автомата Т с функциями выходов и переходов fиg. На первом этапе множествоVсостояний автомата разбивают на непересекающиеся классы. Два состоянияv′ иv″ помещают в один и тот же класс только тогда, когда для любого входного символа аА соответствующие выходные символыf(a, v′) иf(a, v″) совпадают. Если же найдется символ аА, такой чтоf(a, v′) ≠f(a, v″), то состоянияv′ иv″ относят к разным классам. На каждом последующем этапе производится расщепление некоторых полученных ранее классов на новые непересекающиеся классы. ЧерезCобозначим один из классов, полученных по окончанииn-го этапа, и рассмотрим последовательность действий на (n+ 1)-м этапе. Если при каждом аА и любых состоянияхu′,u″Cновые состоянияg(a, и′) иg(a, и″) принадлежат одному из классов, полученных по окончанииn-го этапа, то на (n+ 1)-м этапе классCне расщепляется. Если же для некоторого аА найдутся такиеu′,u″C, что новые состоянияg(a, и′) иg(a, и″) принадлежат разным классам, полученным по окончанииn-го этапа, то на (n+ 1)-м этапе класс С расщепляется. Будем говорить, что расщепление класса С произошло по этому входному символу а. После его расщепления состоянияu′ иu″ помещают в разные новые классы. Эти новые классы расщепляются аналогичным образом до тех пор, пока это возможно. Как только процедуру расщепления нельзя будет применить ни к одному из образовавшихся классов, (n+ 1)-й этап заканчивается.

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

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

Определение.Автомат называется минимальным, если все его состояния попарно неэквивалентны.

Задача минимизации состоит в построении минимального автомата, эквивалентного заданному. Очевидно, такой минимальный автомат существует для любого детерминированного конечного автомата. Чтобы его найти, сначала используют алгоритм Мили, позволяющий разбить все состояния исходного автомата на классы эквивалентности, а затем каждый класс эквивалентности объявляют состоянием искомого минимального автомата и получают его функции выходов и переходов.