Скачиваний:
199
Добавлен:
15.02.2014
Размер:
403.97 Кб
Скачать

4.2.5 Гомоморфизм, изоморфизм и эквивалентность автоматов

Ранее уже упоминались эквивалентные автоматы. В этом разделе будет дано строгое определение эквивалентности. Но прежде дадим понятия гомоморфизма и изоморфизма.

Пусть S = (XS,QS,YS,S,S),иТ = (XТ,QТ,YТ,Т,Т),есть два автомата. Три отображения: XS XT, g: QS QT иh: YS YTназываютсягомоморфизмомавтоматаS в автоматT, если для любыхx XS, q QS, и

y YSвыполняются условия:

T (g(q), (x)) = g(S(q,x)),

T (g(q), (x)) = h(S(q,x)).(4.2.3)

В этом случае автомат Тназывается гомоморфным автоматуS. Если все три отображения сюрьективны, то эта тройка называетсягоморфизмомSнаТ. Если, кроме того, эти отображения взаимно однозначны, то они называютсяизоморфизмом SнаТ. Автоматы, для которых существует изоморфизм, называются изоморфными. Этот факт обозначается так:S T.

Понятно, что мощности соответствующих алфавитов у таких автоматов должны быть одинаковыми. Изоморфизм можно пояснить так: автоматы SиTизоморфны, если входы, выходы и состоянияSможно переименовать так, что автоматная таблицаSпревратится в автоматную таблицуТ. Изоморфизм соответствующих графов переходов является необходимым, но недостаточным условием изоморфизма автоматов. При гомоморфизме, кроме переименования, происходит еще и "склеивание" некоторых состоянийSв одно состояниеT.

Теперь пусть оба автомата SиTимеют одинаковые входные и выходные алфавиты. СостояниеqавтоматаSи состояниеrавтоматаTназываютнеотличимыми,если для любого входного словаS(q,x) = T(r,x).

Автоматы SиTназывают неотличимыми, если для любого состоянияqавтоматаSнайдется неотличимое от него состояниеrавтоматаТи наоборот. Неотличимость автоматов означает, что любое автоматное отображение, реализуемое одним из них, может быть реализовано другим. Иначе говоря, их возможности по переработке входной информации в выходную совпадают. Отношение неотличимости между состояниями (и автоматами) рефлексивно, симметрично и транзитивно, а, следовательно, является отношением эквивалентности. Это и явилось основанием называть неотличимость эквивалентностью и говорить обэквивалентных состояниях илиэквивалентных автоматах,имея в виду отношение неотличимости.

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

4.2.6 Минимизация автоматов

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

Теорема 4.2.3 Для любого автоматаSсуществует минимальный автоматS0 , единственный с точностью до изоморфизма; если множество состоянийSразбивается наlклассов эквивалентности(l n), тоSoимеетlсостояний.

Доказательство. Еслиqj1иqj2- состояния из одного класса эквивалентностиCj,то для любой входной буквыхcостоянияs(qj1, х)и

s(qj2, х)находятся в одном классе эквивалентности (допустим вCk). Действительно, если это не так (т.е.s(qj1, х) иs(qj2, х)не эквивалентны ), то найдется словоxтакое, чтоs (s(qj1, х),x) s s(qj2, х),x).

Тогда, учитывая соотношение (4.1.2), будем иметь s(qj1, хx) s(qj2, хx),то естьqj1, и qj2,не эквивалентны, что противоречит условию. Теперь определим автоматS0 = (XS,QSo, YS, So,So )cледующим образом:QSo = C1,…Cl;для любогоCi и любой входной буквых Soi,x) = Cj, гдеCj- класс эквивалентности, содержащий состояниеS(qir,x) (qir Ci- любое состояние из классаCi );Soi,x) = S,(qir,x).

Ясно, что SoэквивалентенSи по построению не имеет эквивалентных состояний. Покажем теперь, чтоSoминимален. Предположим, что это не так и имеется эквивалентный автоматуS о автоматS о с меньшим числом состояний. Тогда по определению неотличимости для каждого состоянияSo найдется эквивалентное ему состояниеS о , а посколькуS о состояний меньше, чем вSo,то каким - то двум состояниямSo окажется эквивалентным одно состояниеSo . В силу транзитивности эти два состоянияSoбудут эквивалентны, а это противоречит отсутствию вsoэквивалентных состояний. Следовательно,So минимален.

Осталось показать, что любой другой минимальный автомат So изоморфенSo .Действительно, разSo минимален, он имеет такое же число состояний, что иSo,то есть различным состояниямSoсоответствуют различные же состоянияSo . Это соответствие и есть искомый изоморфизм. Что и требовалось доказать.

Только что доказанная теорема, к сожалению, не конструктивна, поскольку не дает метода нахождения классов эквивалентности. Само определение неотличимости также не дает такого метода, поскольку предполагает перебор по бесконечному множеству входных слов. Среди многочисленных алгоритмов минимизации наибольшее распространение получил алгоритм Мили, который и приводится ниже (он описан индуктивно).

Дан автомат S = (X,Q,Y,,)сnсостояниями. На каждом шаге алгоритма строится некоторое разбиениеQна классы, причем разбиение на каждом последующем шаге получается расщеплением некоторых классов предыдущего шага.

Шаг 1. Два состояния qиq относим в один классС1j,если и только если для любогоx X (q, x) = (q, x).

Шаг i+ 1. Два состоянияqиq из одного классаCij относим в один классСi+1j, если и только если для любогох Хсостояния (q, x) = (q , x)принадлежат одному и тому же классуCil. Еслиi+1-й шаг не меняет разбиения, то алгоритм заканчивает свою работу и полученное разбиение является разбиением на классы эквивалентных состояний, в противном случае применяем шагi+1к полученному разбиению.

Так как на каждом шаге число классов увеличивается (а всего их не более n), то приведенный алгоритм заканчивается не больше, чем за(n-1)шагов. Нетрудно показать, что алгоритм действительно дает разбиение на классы эквивалентности.

Соседние файлы в папке Учебное пособие 1