Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория автоматов учебное пособие томского политехнического университета.DOC
Скачиваний:
147
Добавлен:
11.04.2014
Размер:
2.89 Mб
Скачать

1.11. Краткая историческая справка о зарождении и развитии автоматов. Виды теорий автоматов

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

Первое суммирующее устройство разработал Б.Паскаль (1623 г.). Первым в мире арифмометром стала “арифметическая машина” Г.Лейбница (конец ХVII века).

Со 2-ой половины 18-го века начинается широкое применение автоматов в промышленности (регулятор, ткацкий станок и т.д.). Здесь следует упомянуть изобретателя перфокарты француза Жаккара.

До недавнего времени строили автоматы, чтобы заменить ими человека при физическом труде. В 40-50 годах нашего столетия появились автоматы для выполнения некоторых видов умственного труда (цифровые устройства,

вычислительные машины). Проектировщиками первых цифровых вычислительных машин были американцы Д.Эккерт, Д.Моучли, россияне С.А.Лебе-дев, Ю.А. Базилевский и Б.И.Рамеев. Большой вклад внесли также наши ученые и инженеры И.С.Брук, Н.П Брусенцов, В.М.Глушков, Г.П.Лопатко, В.С.Семенихин, В.В.Пржиялковсий, армяне Г.П.Овсепян и Ф.Т.Саркисян и др.

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

2. Способы задания (описания) цифровых автоматов

Для задания (описания) автоматов используются языки описания, в настоящее время под языком понимается совокупность средств описания.

Все языки применительно к автоматам делятся на начальные и на автоматные (рис. 9).

2.1. Начальные языки

Начальные языки трактуются как языки неявного задания ЦА или языки явного описания автомата на начальных этапах его рассмотрения. К таким языкам относятся: язык регулярных выражений алгебры событий, логическая схема алгоритма (ЛСА), графическая схема алгоритма (ГСА), матричная схема алгоритма (МСА), функциональная микропрограмма (ФМП), система формул перехода (СФП), входной, внутренний и выходной языки (алфавиты), законы функционирования.

СА, ГСА, МСА, ФМП и СФП подробно описаны в [11]. Тем не менее

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

Рис.9. Классификация языков описания автоматов

2.1.1. Графическая схема алгоритма

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

Поскольку ГСА предложена для алгоритмов операций ЭВМ, то в ней нет средств для отражения ввода-вывода.

Вместо блоков в ГСА используются вершины: начальные Y0 , конечные Yк, операторные вершины Y1,Y2, … , условные вершины X1,X2, … .

На рис.10 показана СА классического алгоритма нахождения наиболь-

шего общего делителя (ННОД),

где: А и С - исходные числа,

НОД - наибольший общий делитель.

Видно, что заданные числа при А<С меняются местами (блоки 57). По-

скольку после этого получается А >С, то число А заменяется на значение

А - С. Подобные циклы повторяются до получения А= С (блоки 38), число А и будет требуемым результатом (блок 9).

Имеются отличия применительно к условным вершинам. Прежде всего, условие (чаще всего отношение) записывается в закодированном виде.

1

2

8

3

=

9

4>

10

5>

11

6

7

Рис. 10. СА ННОД чисел A и D

Если оно выполняется, то результату присваивается единичное значение, в противном случае - нулевое значение. С учетом этого выходы вершины отмечаются указанными значениями вместо “да” и “нет”.

Содержательная и закодированная граф-схемы алгоритмов представлены на рис.11 и 12 соответственно, коды микроопераций уi, микрокоманд Yi и условий XI - в табл.1.

Y3

Y0

1 1 Y4

0 0

Y5

1 1

0 0

Y1 YK

Y2

Рис. 11. ГСА ННОД Рис.12. Закодированная ГСА ННОД

Таблица 1

Коды

Микрооперация,

условие

Коды

Микро-

операция,

условие

микро- операции,

условия

микро- команды

микро- операции,

условия

микро- команды

y1

y2

y3

Y1

Y2

Y3

НОД:=А

А:=С

С:=НОД

y4

X1

X2

Y4

A:=A-C

A=C

A>C

Условия корректности ГСА похожи на условия корректности схемы алгоритма [14]:

  1. у ГСА должна быть одна начальная и одна конечная вершины;

  2. каждый выход соединен только с одним входом;

  3. каждый вход соединен, по крайней мере, с одним выходом;

  4. выходы условных вершин помечаются с помощью цифр “0” и “1”;

  5. из начальной вершины должен быть путь к любой вершине;

6) из любой вершины должен быть путь в конечную вершину;

7) для любых наборов логических условий должен быть путь из началь-

ной вершины в конечную вершину.