Главная > Разное > Логика, автоматы, алгоритмы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

б) Построение таблицы переходов по заданной таблице последовательностной машины

Пусть требуется на устойчивых состояниях построить последовательностную машину, заданную в форме исходной таблицей — совмещенной таблицей автомата и преобразователя (табл. 5.6).

Таблица 5.6

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

Это перестроение таблиц продемонстрируем здесь на примере табл. 5.6.

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

Подсчитывается величина где — число различных состояний входа. В нашем случае . Далее заготовляется таблица (табл. 5.7), имеющая такое же количество столбцов, как и исходная, а количество строк в ней делается равным . Входная (верхняя) строка табл. 5.7 заполняется так же, как и исходная, символами , а во входной (в крайний левый) столбец вписываются подряд символы новой переменной . Для нашего случая . Далее начинается заполнение клеток таблицы. В первый столбец вписываются подряд, начиная с первой строки, различные символы (общим числом ), взятые из первого столбца исходной таблицы. В случае исходной табл. 5.6 это будут (последовательность расположения этих символов в столбце табл. 5.7 может быть любой). В эти же клетки вписываются соответствующие строкам символы . Этим клеткам соответствуют равновесные состояния; их отметим квадратиками. Во втором столбце таким же образом заполняется клеток, но заполнение идет не с первой строки таблицы, а с первой пустой строки. В нашем случае в четвертую и пятую клетки второго столбца вписываются пары Подобным же образом заполняется по клеток каждого столбца.

Далее, рассматривая первую строку табл. 5.7, мы видим вписанный в клетку первого столбца символ (в нашем случае ); отыскиваем в первом же столбце исходной табл. 5.6 клетку, содержащую этот же символ, и отмечаем вписанный в эту клетку символ (в нашем случае это ).

Таблица 5.7

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

В нашем случае получаем вписанными во вторую, третью и четвертую клетки первой строки символы Точно так же поступая с каждой строкой табл. 5.7, заполним все ее клетки символами . Теперь в клетки (табл. 5.7), заполненные лишь символами , вписываем еще и символы и делаем это так, чтобы в одном столбце одним и тем же соответствовали одни и те же , иначе говоря, в каждом столбце мы разносим в соответствии с этим условием символы , взятые из квадратов. Таким образом, табл. 5.7 оказывается заполненной. Она эквивалентна так называемой таблице переходов Хафмана. Ее следует интерпретировать как таблицу «быстрой» последовательностной машины, заданной в форме П — П. Эта «быстрая» машина, если в ней наблюдать переменные лишь в равновесных состояниях, будет работать как исходная.

<< Предыдущий параграф Следующий параграф >>
Оглавление