Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2331.pdf
Скачиваний:
11
Добавлен:
15.11.2022
Размер:
1.42 Mб
Скачать

4.2. Автоматные языки

Среди автоматных (стандартных) языков наиболее распространены таблицы и матрицы переходов и выходов, а также графы автоматов [12].

4.2.1. Таблицы переходов и выходов

Таблица переходов (выходов) представляет собой таб-

лицу с двойным входом, строки которой нумерованы входны-

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

Описание работы автомата Мили таблицами переходов и выходов иллюстрируется на примере автомата S1 (табл. 4.1 и 4.2):

Таблица 4.1

δ: Q><XQ*

 

q1

q2

q3

x1

q2

q3

q2

x2

q3

q2

q1

Таблица 4.2

λ: Q><XY*

 

q1

q2

q3

x1

y1

y3

y3

x2

y2

y1

y1

На пересечении столбца qm и строки xi в таблице пере-

ходов (табл. 4.1) ставится состояние qs=δ(qm, xi), в которое автомат переходит из состояния qm под действием сигнала xi, а в

таблице выходов (табл. 4.2) соответствующий этому пере-

ходу выходной сигнал yg=λ(qm, xi).

Иногда при задании автоматов Мили используют одну совмещенную таблицу переходов и выходов, в которой на пересечении столбца qm и строки xi записываются в виде qs/yg следующее состояние и выдаваемый выходной сигнал. Так,

43

для автомата S1 имеем следующую совмещенную таблицу

(табл. 4.3):

 

 

 

Таблица 4.3

 

δ:Q><XQ; λ:Q><XY

 

 

 

 

 

 

q1

q2

 

q3

x1

q2/y1

q3/y3

 

q2/y3

x2

q3/y2

q2/y1

 

q1/y1

Так как в автомате Мура выходной сигнал зависит только от состояния, автомат Мура задается одной отмеченной таблицей переходов, в которой каждому ее столбцу приписан,

кроме состояния qm, еще и выходной сигнал yg=λ(qm), соответствующий этому состоянию. Пример табличного описания автомата Мура S2 показан в табл. 4.4:

Таблица 4.4

δ:Q><XQ, λ:QY:

 

y1

y1

y3

y2

y3

 

q1

q2

q3

q4

q5

x1

q2

q5

q3

q3

q3

x2

q4

q2

q2

q1

q1

Для частичных автоматов, у которых функции δ или λ

определены не для всех пар (qm, xi) Q><X, на месте неопределенных состояний и неопределенных выходных сигналов ставится прочерк.

4.2.2. Матрицы переходов и выходов

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

44

qm под действием входного сигнала xi в состояние qs, с выдачей выходного сигнала yi, то на пересечении строки qs и столбца qm записывается пара xi/yi.

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

Ниже приведены матрицы переходов и выходов для рассмотренных ранее автоматов S1 (табл. 4.5) и S2 (табл. 4.6):

 

 

 

 

 

 

 

Таблица 4.5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q1

 

q2

 

q3

 

 

 

q1

 

 

 

 

 

x2/y1

 

 

 

 

 

q2

x1/y1

x2/y1

 

x1/y3

 

 

 

 

 

q3

x2/y2

x1/y3

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.6

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

y1

 

y3

 

y2

 

y3

 

 

q1

 

q2

 

q3

 

q4

 

q5

q1

 

 

 

 

 

 

 

x2

 

x2

q2

 

x1

 

x2

 

x2

 

 

 

 

 

q3

 

 

 

 

 

x1

 

x1

 

x1

q4

 

x2

 

 

 

 

 

 

 

 

 

q5

 

 

 

x1

 

 

 

 

 

 

 

4.2.3. Граф автомата

Часто автомат задают с помощью графа автомата.

Этот язык удобен и нагляден. Граф автомата ориентированный граф, вершины которого соответствуют состояниям, а ду-

ги переходам между ними. Две вершины графа автомата qm и qs (исходное состояние и состояние перехода) соединяются дугой, направленной от qm к qs, если в автомате имеется пере-

ходиз qm в qs, т.е. если qs=δ(qm, xi) при некотором xi X. Дуге

45

(qm, qs) графа автомата приписывается входной сигнал xi и вы-

ходной сигнал yg=λ(qm, xi). При описании автомата Мура в виде графа выходной сигнал yg записывается внутри вершины qm или рядом с ней. На рис. 4.6, а, б приведены графы автоматов S1 и S2, описанных ранее табличным способом.

 

 

 

 

 

 

 

 

y

 

 

x

2

 

 

а)

 

q

 

 

 

б)

q11 x 1

 

q2

y2

 

y2

3

x 1

 

 

 

x

 

 

x1

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

x

2 y3

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q5

x1

 

 

 

 

 

 

 

 

y3 y

 

 

 

 

 

y3

x2

x2

 

 

 

x1

 

 

 

 

 

 

y1

 

 

x

 

 

 

 

 

 

 

 

 

1

2 q

 

 

 

q

 

 

q 1 x1

 

 

 

y1 q2 x2

 

y2

 

4 x 1

 

 

 

3 y3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

Рис. 4.6. Графы автомата для автоматов S1 (а) и S2 (б)

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

Состояние автомата, вершина графа для которого имеет только исходящие дуги, но не имеет входящих дуг, называется переходящим. В такое состояние попасть нельзя, из него можно только выйти.

Состояние автомата называется тупиковым, если соответствующая вершина графа не содержит исходящих дуг, но имеет хотя бы одну входящую дугу.

Изолированным состоянием называется также состояние, которому соответствует вершина графа, не имеющая как входящих, так и исходящих дуг.

Таким образом, с помощью графов абстрактная модель автомата записывается в виде некоторого пространственного

46

изображения, которое помогает при решении задач анализа или синтеза.

Любое разбиение множества состояний автомата на ряд подмножеств, объединяющих некоторые состояния, приводит

кпонятию подавтомата.

4.3.Языки описания структурных автоматов 4.3.1. Язык алгебры логики (булевой алгебры)

Конечная цель синтеза цифровых автоматов – построение заданного автомата из ограниченной совокупности некоторых элементарных автоматов.

Канонический метод структурного синтеза цифровых автоматов разработан советским ученым В.М. Глушковым [14]. Данный метод предполагает сведение задачи синтеза произвольных автоматов к задаче синтеза комбинационных автоматов (автоматов без памяти).

Структурным алфавитом современных цифровых автоматов является двоичный алфавит, т.е. алфавит, содержащий всего два различных нечисловых символа. Эти символы обозначают самыми разными способами: "включено" и "выключено"; "высокий уровень напряжения" и "низкий уровень напряжения"; "есть ток" и "нет тока"; "единица" и "нуль" и т.п.

Данное обстоятельство играло решающую роль для выбора математического аппарата, который бы мог эффективно использоваться для структурного синтеза цифровых автоматов. В качестве такого аппарата стал широко использоваться начальный раздел математической логики – исчисление высказываний, или алгебра логики. Логика – наука о законах и формах мышления. Математическая логика занимается изучением возможностей применения формальных методов для решения логических задач [15]. Иногда алгебру логики называют булевой алгеброй по имени английского математика Джорджа Буля, который в 1847 году изложил основы такой алгебры в работе "Математический анализ логики, сопровождаемый наброском исчисления дедуктивных рассуждений". В 1948 году (че-

47

рез 100 лет после создания алгебры логики!) американский ученый К. Шеннон и советский ученый В.И. Шестаков независимо друг от друга показали возможность практического использования алгебры логики для анализа и синтеза релейноконтактных схем, отождествив понятия "истина" и "ложь" в алгебре логике с понятиями "замкнуто" и "разомкнуто" в ре- лейно-контактных схемах. В последствии алгебра логики стала широко использоваться для проектирования цифровых электронных вычислительных машин.

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

Исчисление высказываний основано на том, что каждое высказывание можно рассматривать как некоторую двоичную переменную, которая может принимать только одно из двух своих возможных значений. Такие переменные условились называть логическими (булевыми) переменными и приписывать им значение 1 в случае истинности высказывания и значение 0 в случае ложности высказывания.

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

сказывания.

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

48

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]