Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
27.04.2015
Размер:
208.9 Кб
Скачать

Лабораторная работа № 4 Кодирование внутренних состояний автомата

Цель работы: изучение способов кодирования внутренних состояний автомата.

Пример 4.1. Выполнить кодирование внутренних состояний частичного автомата (табл.4.1), используя алгоритм единичного кодирования:

Таблица 4.1

Совмещенная таблица переходов и выходов частичного автомата Мили

a1

a2

a3

a4

a5

a6

a7

z1

1, w1

-

4, -

4, w2

1, -

-

1, -

z2

2, -

2, w2

-

-

-

7, -

7, w2

z3

6, -

3, -

3, w1

5, -

5, w2

6, w2

-

Решение.

Кодирование - это сопоставление каждому внутреннему состоянию автома­та набора значений переменных, описывающих состояния элементов памяти.

Единичное кодированиекодирование, при котором наиболее связанные состояния кодируются минимальным числом единиц.

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

1. Каждому состоянию автомата ставится в соответствие целое числоNm , ко­торое равно количеству дуг на графе, входящих в данное состояние .

Поскольку мы используем таблицу, то для определения числа достаточно по табл.4.1. определить количество состояний имеющихся в этой таблице. Так, например, состояниевстречается три раза по входному сигналу, следовательно, для данного состояния число равно 3. Состояние в таблице встречается два раза, следовательно, . Этот подсчет продолжим для всех встречающихся в таблице 4.1 состояний и получим таблицу 4.2.

Таблица 4.2.

Состояния частичного автомата

и соответствующие им числа

Состояние

Число

2. Числа , упорядочиваются по убыванию.

Видим, что в нашем случае числа уже упорядочены, поэтому нет необходимости строить новую таблицу.

3. Состояние с наибольшим Nm , у нас это состояние , кодируется комбинацией изN нулей: 00...00 , определяемых по соотношению

N =|log2M|,

где М - число состояний автомата,

- операция взятия наибольшего ближайшего целого.

В примере M=7 и так как ,то, округляя до ближайшего целого, получим . Таким образом, для кодирования состояний достаточно кодовой комбинации из трех нулей . Тогда код состояниябудет 0 0 0.

4. Все остальные состояния в соответствии со значением Nm кодируются путем прибавления одной единицы в кодовую комбинацию из нулей.

5. Если не хватает одной единицы, то добавляется вторая и т.д. до тех пор, пока не будут закодированы все состояния.

В итоге получим следующую таблицу (табл.4.3).

Таким образом, при данном способе кодирова­ния наиболее связанные состояния кодируются минимальным числом единиц.

Таблица 4.3.

Состояния автомата и их кодовые комбинации,

полученные с использованием алгоритма единичного кодирования

Состояние

Число

Код состояния

0 0 0

0 0 1

0 1 0

1 0 0

0 1 1

1 0 1

1 1 0

.

Соседние файлы в папке Лаб.работы по ТА