Минимальная x-z-функция

Если известна память µ конечного автомата М, то автомат может быть охарактеризован уравнением вида

Функцию f, соответствующую выражению (6.26), будем называть x-z-функцией автомата М. Часто x-z-функция содержит целый ряд несущественных переменных и может быть сведена к виду

где 0 ≤ i1 < i2 <... < iu, 1 ≤ j1 < j2 <... < jv, а iu = µ и (или) j v = µ. Функция f называется минимальной x-z-функцией М, если u + vг»—минимальное число аргументов хi и zi, необходимых для выражения z, как функции входных воздействий и выходных реакций в форме (6.27). Таким образом, минимальная x-z-функция получается из x-z-функции путем вычеркивания из последней максимально возможного числа аргументов xi и zi. Получение минимальной x-z-функции, или минимизация x-z-функции представляет интерес для целого ряда задач анализа и синтеза, когда для заданного конечного автомата желательна наиболее компактная форма его описания, т. е. форма (6.27).

Задача минимизации x-z-функции может быть сформулирована более точно на языке x-z-таблицы, общая форма которой показана в таблице 6.5.

Таблица разделена на q групп строк, по одной группе для каждого выходного символа в выходном алфавите {ζ1, ζ2,..., ζq} автомата M c n состояниями. Группу строк, обозначенную в столбце zv символом ζk, будем называть ζk –гpyппой. Столбцы xv, zv, xv-µ+1, zv-µ+1,..., xv-1, zv-1, xv заполняются следующим образом. Пусть (ξik)является парой вход-выход, связанной с дугой, которая начинается в состоянии σi, и пусть (ξi1k1) (ξi2k2)... (ξ) -

последовательность вход-выход в множестве Q(i)µ (такие последовательности могут быть получены из таблицы для Q(1)µ, Q(2)µ,..., Q(k)µ построенной для определения µ по алгоритму 6.1). Тогда последовательность символов ξ l1, ξ k1, ξ l2, ξ k2,..., ξ , ξ , ξ l (записанная в таком порядке) является строкой ζk группы. Следуя этим правилам в отношении всех n состояний, можно заполнить все клетки таблицы. Если число последовательностей в Q(i)µ равно ri и число,символов вход-входного алфавита равно р, то число строк в x-z-таблице равно . Таким образом x-z-таблица является табличным воспроизведением x-z-функции, в котором значения zv перечисляются для каждого из тех упорядоченных наборов зна-

чений (2µ+l) переменных (xv, zv, xv-µ+1, zv-µ+1,..., xv-1, zv-1, xv), которые могут встретиться в данном автомате. Например, таблица 6.6 является x-z-таблицей автомата A28, показанного на рис. 6.6.

Из матрицы (6.23) видно, что пара вход-выход (0/0) связана с дугой, которая начинается в состоянии 1. Из таблицы 6.4 видно, что множество Q(1)2 состоит из последовательностей вход-выход (1/1) (1/0) и (0/1) (1/0). Следовательно, 0-группа в x-z-таблице должна содержать строки 1,1,1.0,0 и 0,1,1,0,0. Остальные строки в таблице 6.6 заполняются аналогичным образом. Чтобы облегчить последующее изложение материала, придадим строкам и столбцам этой таблицы порядковые номера.

Задача минимизации x-z-функции на языке x-z-таблицы может быть сформулирована следующим образом: вычеркнуть максимальное число столбцов из таблицы так, чтобы ни одна строка любой одной группы не стала одинаковой ни с какой строкой любой другой группы. Пусть столбцами, которые остались после такого вычеркивания, являются xv-i1, zv-i2,..., xv-iu, zv-j1, zv-j2,...,zv-j v . Поскольку v+u обязательно является минимальным числом аргументов и поскольку ни один упорядоченный набор значений u + v переменных не появляется в двух различных ζk-группах x-z-таблицы, мы имеем:

где f—минимальная x-z-функция.

Таким образом, чтобы найти минимальную x-z-функцию, можно воспользоваться следующим алгоритмом.

Алгоритм 6.2. Задана х-z-таблица автомата М. Чтобы определить минимальную x-z-функцию М: (1) Полагаем h = 1. (2) Для каждой комбинации из h столбцов проверяем, делает ли вычеркивание остающихся столбцов строки из различных ζk групп одинаковыми. (3) (а) Если каждая комбинация делает строки в различных ζk-группах одинаковыми, то увеличиваем h на единицу и возвращаемся к (2). (б) Если есть

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

столбцам xv-i1, xv-i2,..., xv-iu, zv-j1, zv-j2,...,zv-j v . Минимальная x-z-функция определяется выражением (6.28).

Выполнение алгоритма 6.2 становится значительно проще, если учесть следующие факты: (1) Каждая рассматриваемая комбинация из h столбцов должна включать либо столбец xv, либо столбец zv-µ. (2) Если две строки, принадлежащие двум различным ζk -группам, отличаются символами в единственном столбце, то этот столбец включается в каждую рассматриваемую комбинацию из h столбцов. (3) Столбец, который содержит один итот же символ в каждой строке, не должен включаться ни в какую рассматриваемую комбинацию из h столбцов. (4) Два одинаковых столбца вместе не должны включаться ни в какую рассматриваемую комбинацию из h столбцов.

Например, в таблице 6.6 можно заметить, что строки 3 и 18 различаются только значением переменной в столбце 2. Строки 1 и 16 различаются только значением переменной в столбце 4, строки 1 и 6 — только в столбце 5. Следовательно, при применении алгоритма 6.2 столбцы 2, 4 и 5 должны включаться в любую рассматриваемую комбинацию из h столбцов. Проверка строк в этих трех столбцах показывает, что нет такой строки в 0-группе, которая была бы одинаковой с какой-либо строкой в 1-группе. Таким образом, для автомата A28 можно записать:

В этом выражении число аргументов минимально.

Минимальная x-z-функция может быть представлена в табличной форме путем вычеркивания из x-z-таблицы найденных по алгоритму 6.2 столбцов и объединения всех одинаковых строк. Получаемая в результате таблица называется минимальной х-z-таблицей. Минимальная x-z-таблица для автомата A28 показана в таблице 6.7.

6.6. Линейные двоичные автоматы [37]

В этом и следующих двух параграфах мы будем изучать специальный класс автоматов с конечной памятью, называемых линейными двоичными автоматами, которые вследствие своих интересных и полезных свойств оправдывают повышенное внимание к ним. В линейных двоичных автоматах входным и выходным алфавитами являются {0,1} и выход в любой заданный момент времени равен сумме по модулю 2 значений выбранных входных символов в прошедшие моменты времени (и, возможно, в настоящий момент времени) и выходных символов в прошедшие моменты времени. Обозначив сложение по модулю 2 знаком , линейный двоичный автомат можно охарактеризовать соотношением

Основное состояние линейного двоичного автомата определяется как состояние автомата, в котором

Будем говорить, что автомат находится в покое, если он находится в основном состоянии.

Теорема 6.2. Пусть М есть линейный двоичный автомат,, находящийся в покое в момент времени t0, и пусть в момент t0 к автомату М прикладывается входная последовательность х0 х1... xk. Тогда реакция

М в момент tk (k ≥ 0) определяется выражением

где коэффициенты сы равны либо 0, либо 1.

Доказательство. Пусть автомат М имеет память µ Тогда М может быть охарактеризован уравнением

где коэффициенты δi и ei принимают значения 0 или 1. Если М находится в состоянии покоя в момент t0, то

Это равенство доказывает теорему для k = 0. Положим, что теорема справедлива для k=0, 1,..., l. Тогда

Так как по (6.33) все переменные xi с отрицательными индексами равны 0, то (6.35) можно записать в виде

где коэффициенты a i принимают значения либо 0, либо 1. Следовательно, если теорема справедлива для /k= 0, 1,..., l, то она должна быть справедливой для k = l + 1. По индукции, теорема справедлива для всех k ≥ 0.

Теорема 6.2, в сущности, утверждает, что выходная реакция линейного двоичного автомата, находящегося в состоянии покоя, может быть выражена как линейная комбинация входных воздействий в настоящий и прошедшие моменты времени. Пусть ξ´i0ξ´i1...ξ´ik—входная последовательность, приложенная к двоичному автомату М, находя-

щемуся в состоянии покоя, и пусть ζ´jk является выходной реакцией автомата М на входное воздействие ξ´ik. Тогда

Аналогично пусть — ξ´´i0ξ´´i1...ξ´´ik входная последователь, приложенная к автомату М, находящемуся в состоянии покоя, и пусть ζ´´jk — реакция автомата М на ξ´´jk. Тогда

Поэтому линейный двоичный автомат, выведенный из покоя, подчиняется принципу суперпозиции: выходная реакция на сумму (по модулю 2) входных воздействий равна сумме (по модулю 2) выходных реакций на отдельные входные воздействия.

Теперь введем оператор задержки D, определяемый так:

где у может обозначать как х, так и z. Вместо D0 будем писать I. В терминах операторов задержки выражение (6.30) может быть записано так:

Характеристики вход-выход линейного двоичного автомата М могут быть выражены передаточным отношением, обозначаемым через Т(М):

Если задано передаточное отношение автомата, то функция l в том виде, как она представлена равенством (6.30), всегда может быть определена выполнением в обратном порядке операций, описываемых уравнениями (6.41) — (6.44).

Из определения D и равенства (6.41) следует, что

Из (6.45) и свойства суперпозиции следует, что если томат, характеризуемый равенством (6.41), находится в состоянии покоя, то обе части (6.41) могут быть умножены без нарушения равенства на произвольный полином от D:

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

Для примера рассмотрим линейный двоичный автомат А29, определенный равенством

Поэтому передаточное отношение для A29 имеет вид

Для того чтобы определить общий наибольший делитель полиномов числителя и знаменателя, применим алгоритм Евклида, заменив вычитание по модулю 2 сложением (и заметив, что

Последний делитель (показанный стрелкой) является общим наибольшим делителем. Для того чтобы понизить передаточное отношение, разделим его числитель и знаменатель на этот делитель:

Из (6.51) и (6.52) получаем:

Поэтому работа автоматаA, находящегося в начальный момент времени в состоянии покоя, может быть охарактеризована выражениями

Например, если A29 находится в.начальный момент времени в состоянии покоя, то его выходная реакция на входную последовательность 100111001010 по равенству (6.55) будет 011011010001. Можно легко проверить, что эта выходная реакция совпадает с реакцией, которая получается при первоначальном (более длинном) соотношении (6.47).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: