Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 3 нов 2009.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
535.55 Кб
Скачать

Лекция № 3 Конечные автоматы и их связь с формальными языками и грамматиками.

  1. Классификация языков по Хомскому.

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

  3. Автоматные языки (таблицы и матрицы переходов и выходов, графы автоматов).

1. Классификация языков по Хомскому.

Для описания (задания) ЦА используются разнообразные средства, называемые языками, которые делятся на начальные и автоматные языки. Поскольку языки базируются на алфавитах, то применительно к ЦА множество Х трактуется в качестве входного алфавита, множество Y - выходного алфавита, а множество S - внутреннего алфавита. Как и для других объектов, для автоматов используются разные таблицы, матрицы, графы.

Наиболее общее при выработке выходных сигналов, формировании новых состояний под действием входных сигналов отражается законом функционирования автомата [4, 12]:

s(t)=  (s(t-1), x(t)),

y(t)=  (s(t-1), x(t)).

Как видно, закон функционирования представляет собой совокупность двух функций: функции перехода  и функции выхода .

В формулах используются обозначения:

t - данное автоматное время,

t-1 - предыдущее автоматное время,

 - оператор формирования данного состояния s,

 - оператор формирования данного выходного сигнала y,

х - входной сигнал.

Видно, что данное состояние s(t) зависит от предыдущего состояния

s(t-1) и входного сигнала в данный момент времени, что выходной сигнал в данный момент времени так же определяется предыдущим состоянием и входным сигналом в данный момент времени.

ЦА строится по имеющемуся алгоритму, представленному в виде граф-схемы алгоритма (ГСА). Определяются состояния, число триггеров памяти, синтезируются логические схемы.

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

Н ад имеющимися автоматами можно выполнять другие разнообразные операции, их результаты будут новыми автоматами. Например, операция пе-ресечения ЦАС= ЦАА ЦАВ даёт автомат С, состоящий из совпадающих фрагментов исходных автоматов А и В.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1

2

8

3

=

9

4 >

1 0

5 >

1 1

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

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