- - 0 -, -10-, 1 - 0 -, то переход к п.7, иначе переход к п.8.
7. Доопределить неопределенные значения r-го разряда четверкиa, b, g, d так, чтобы значения этого разряда образовали набор 1100. Переход к п.9.
8. Дополнить коды состояний автомата одним неопределенным разрядом. Увеличить r на единицу. Переход к п.4.
9. Пара переходов (am,as), (ak,al ) развязана. Конец.
Длина кода, получаемого в результате применения изложенного алгоритма, в большинстве случаев оказывается неминимальной, так как при введении нового разряда кода могут развязываться пары переходов, которые были уже развязаны ранее. В связи с этим, необходимо минимизировать длину получаемых кодов состояний, что делается следующим образом. Исключаем один из разрядов кодов, в результате чего некоторые пары переходов могут оказаться связанными, и применяем алгоритм развязывания пар переходов. После этого исключаем еще один разряд, вновь применяем алгоритм противогоночного кодирования и так далее, до тех пор, пока длина кода не перестанет уменьшаться. Если в результате работы алгоритма значения не всех разрядов будут определены, то их можно определить произвольно, но так, чтобы состояния были закодированы различными кодами.
Рассмотрим пример противогоночного кодирования. Закодируем состояния автомата, таблица переходов которого изображена на рис.3.5.
a1 |
a2 |
a3 |
a4 |
a5 |
|
x1 |
a2 |
a2 |
a5 |
---- |
a5 |
x2 |
---- |
a1 |
a4 |
a4 |
---- |
x3 |
a1 |
a2 |
---- |
a1 |
a2 |
Рис.3.5.
Пары должны быть развязаны в каждом из массивов переходов M1, M2, M3 , происходящих под действием сигналов x1, x2 , x3.
M1 M2 M3
(a1 ,a2) (a2 ,a1) (a1 ,a1)
(a2 ,a2) (a3 ,a4) (a2 ,a2)
(a3,a5) (a4,a1) (a4,a1)
(a5,a5) (a5,a2)
Развязывание пар переходов в М1 начнём с первого перехода (а1,а2). Из-за совпадения состояния перехода пары типа (а1,а2), (а2,а2) развязывать не надо. Первая пара переходов, которая должна быть развязана, есть (а1,а2), (а3,а5).
Вводим переменную t1 и образуем по этой переменной четвёрку (0011) для состояний а1, а2, а3, а5. Рассматриваемая пара переходов (а1, а2), (а3, а5), развязана (таблица 3.1).
Таблица 3.1. t1
а1 0
а2 0
а3 1
а4 -
а5 1
Пара переходов (а1,а2), (а5,а5) соответствует четвёрке (0011), то есть эта пара тоже развязана. Парам переходов (а2,а2), (а3,а5); (а2,а2), (а5,а5) также соответствует четвёрка (0011), то есть они развязаны.
Далее переходим к рассмотрению пар из множеств М2. В этом множестве подлежат развязыванию пары (а2,а1), (а3,а4) и (а2,а1), (а4,а4). Пара переходов (а2,а1), (а3,а4) образуют четвёрку (001-). Для развязывания доопределим четвёрку до (0011), для чего состоянию а4 поставим в соответствие t1=1.
Таблица 3.2. t1
а1 0
а2 0
а3 1
а4 1
а5 1
Паре (а2,а1), (а4,а4) соответствует четвёрка (0011) (таблица 3.2).
Переходим к рассмотрению пар из множества М3. Развязыванию подлежат пары: (а1,а1), (а2,а2); (а1,а1), (а5,а2); (а2,а2), (а4,а1); (а4,а1), (а5,а2).
Из таблицы следует, что парам (а1,а1), (а2,а2) соответствует четвёрка (0000), то есть они развязаны. Вводим переменную t2 и полагаем для а1 значение t2=0, а для а2 значение t2 равно 1 (таблица 3.3).
Для развязывания пар (а1,а1), (а5,а2), которым соответствует четвёрка
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.