logo search
ДМ 2012 / +Конспект лекций / ДМ_РБ_Конспект 2010

Тема 10. Синтез автоматов. Абстрактный уровень проектирования автомата.

Термин «автомат», как правило, используется в двух аспектах. С одной стороны, автомат - это устройство, выполняющее некоторые функции без непосредственного участия человека. В этом смысле мы говорим, что ЭВМ – автомат, так как после загрузки программы и исходных данных ЭВМ решает заданную задачу без участия человека. С другой стороны, термин «автомат» как математическое понятие обозначает математическую модель реальных технических автоматов. Автомат есть система

,

где

–входной алфавит;

- выходной алфавит;

- алфавит внутренних состояний;

–функция переходов;

–функция выходов.

Автомат называется конечным, если множество его внутренних состояний и множество значений входных сигналов – конечные множества.

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

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

В современных дискретных автоматах принято обычно отождествлять буквы

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

В состав цифровых автоматов обязательно входят запоминающие элементы

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

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

Второе допущение состоит в том, что после перехода автомата в произвольное состояние переход в следующее состояние оказывается возможным не ранее, чем через некоторый фиксированный для данного автомата промежуток времени t> 0, так называемый интервал дискретности автомата. Это допущение дает возможность рассматривать функционирование цифрового автомата вдискретном времени. При построении автоматов с дискретным автоматным временем различают синхронные и асинхронные автоматы.

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

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

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

Отметим, что при таком допущении входной сигнал рассматривается как мгновенный, хотя в действительности он имеет конечную длительность. Особо следует подчеркнуть, что реальный физический входной сигнал, вызывающий изменение состояния автомата в момент времени t, может кончиться до наступления этого момента, однако, тем не менее, он относится именно к текущему моменту времени t, а не к предыдущему (t –1).

Результатом работы цифрового автомата является выдача выходных сигналов,

передаваемых из автомата во внешние цепи по конечному числу выходных каналов. В отношении выходных сигналов вводятся допущения, аналогичные допущениям для входных сигналов. Во-первых, число различных выходных сигналов для любого цифрового автомата всегда конечно. Во-вторых, каждому отличному от нуля моменту автоматного времени относится соответствующий ему входной сигнал. Реальный физический выходной сигнал y(t), отнесенный к моменту времени t, появляется всегда после соответствующего этому же моменту времени входного сигнала x(t). Что же касается момента времени t перехода автомата из состояния q(t–1) в состояние q(t), то сигнал y(t) может фактически появится либо раньше, либо позже этого момента.

В первом случае принимается, что выходной сигнал y(t) однозначно определяется входным сигналом x(t) и состоянием q(t–1) автомата в предыдущий момент времени, во втором случае сигнал y(t) однозначно определяется парой (x(t), q(t)). Будем считать, что для любого момента времени всегда имеет место лишь одна из этих возможностей (одновременно для всех переходов).

Цифровые автоматы, в которых выходной сигнал y(t) определяется парой (x(t), q(t – 1)), будем называть автоматами первого рода, а автоматы, в которых сигнал y(t) определяется парой (x(t), q(t)), –автоматами второго рода.

Цифровой автомат (первого или второго рода) называется правильным, если выходной сигнал y(t) определяется одним лишь его состоянием (q(t –1) или q(t)) и не зависит явно от входного сигнала x(t).

Автоматы первого рода обычно называют автоматами Мили, а автоматы второго рода –автоматами Мура.

Законы функционирования автоматов:

а) для автоматов первого рода (автоматов Мили)

,

;

б) для автоматов второго рода

,

;

в) для правильных автоматов второго рода (автоматов Мура)

,

.

Общая теория автоматов при сделанных выше допущениях разбивается на две большие части, которым присвоены названия абстрактной теории автоматов иструктурной теории автоматов. Различие между ними заключается в том, что в абстрактной теории не учитываются структура как самого автомата, так и структуры его входных и выходных сигналов. Входные и выходные сигналы рассматриваются при этом просто как буквы двух фиксированных для данного автомата алфавитов: входного и выходного. Не интересуясь способом построения автомата, абстрактная теория изучает лишь те переходы, которые претерпевает автомат под воздействием входных сигналов, и те выходные сигналы, которые он при этом выдает.

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

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

Частным случаем дискретных автоматов являются автоматы, обладающие лишь одним внутренним состоянием. Такие автоматы называются комбинационными схемами илиавтоматами без памяти. Работа таких автоматов состоит в том, что они сопоставляют каждому входному сигналу x(t) выходной сигнал y(t).

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

Пример.

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

Входной алфавит в описании задан явно: X={1, 2, 3}.

Выходной алфавит будет содержать буквы (сигналы): Б - выдает билет, В - возвращает деньги, Н - ничего не выдает, т.е. Y={Н, Б, В}.

Внутренние состояние будем отождествлять с суммой, которую помнит автомат. Будем иметь в виду, что после продажи билета или возврата денег автомат помнит нулевую сумму: Q={q0, q1, q2}, здесь индекс cответствует сумме.

Автомат в виде графа представлен на рис. 1

Рисунок 1.

Это автомат Мили. Надпись 1/Б; 2,3/В у стрелки q2q0 означает, что если в состоянии q2 будет принят сигнал 1, выходной сигнал будет Б, а для входных сигналов 2 и 3 выходным будет В. Этот же автомат можно представить в виде двух таблиц: таблицы переходов (табл.1) и таблицы выходов (табл.2)

Таблица 1 Таблица 2

2. Построить автомат, на вход которого могут поступать монеты 1, 2 и 3 коп. Автомат выдает сигнал “чет.” (Ч), если сумма опущенных монет четная, и “нечет.” (Н), если нечетная (рис.2).

Рисунок 2

q0 q1 q2

1 q1 q2 q0

2 q2q0q0

3 q0q0q0

q0 q1 q2

1 Н Н Б

2 Н Б В

3 Б В В

Сумма 0 считается четной. Это автомат Мура, т.е. его выходной сигнал однозначно определяется состоянием, в которое автомат перешел, поэтому выходные сигналы приписаны прямо к состояниям. Этот же автомат можно представить отмеченной таблицей переходов (табл.3 ).

Таблица 3

Н Ч

qн qч

1 qч qн

2 qн qч

3 qч qн

Автомат называется частичным, если некоторые комбинации “состояние– входной сигнал” не могут возникнуть в реальных условиях. При этом в графе автомата появляются состояния, из которых определены выходы не для всех входных сигнаов (т.е. присутствуют не все стрелки), а в таблицахпереходов и выходов (и в отмеченной таблице переходов) имеются незаполненные клеточки.

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

Пример.

Грузовой лифт, обслуживающий 3х этажный магазин имеет кнопку вызова на каждом этаже и работает по следующим правилам: куда нажал, туда и едет, если 2 или 3 кнопки, то лифт движется на самый нижний из всех этажей на которых нажата кнопка. Ни одна кнопка не может быть нажата во время движения лифта.

Определяют входной алфавит, выходной алфавит и множество состояний.

X={x1, x2, x3, x1x2, x1x3, x2x3, x1x2x3}.

Y={1, 2, 1, 2, }.

S={s1, s2, s3}.

si – лифт на i-ом этаже.

Формализуем эту систему в виде графа.

Эквивалентной формализацией графа автомата является представление в виде автоматной таблицы.

Таблица состоит из 2х частей: в виде таблицы переходов и таблицы выходов.

Автоматная таблица:

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

si+1=(xi, si). yi=(xi, si).

si\xi

x1

x2

x3

x1x2

x2x3

x1x3

x1x2x3

x1

x2

x3

x1x2

x2x3

x1x3

x1x2x3

s1

s1

s2

s3

s1

s2

s1

S1

1

2

1

s2

s1

s2

s3

s1

s2

s1

s1

1

1

1

1

1

s3

s1

s2

s3

s1

s2

s1

s1

2

1

2

1

2

2

Задания.

  1. Построить (синтезировать) автомат по содержательному описанию.

Y = 0, еслиf = 0; Y = 1, еслиf = 1 и суммарное число случаев, включая данный, когдаf равнялась единице, нечетно;Y = 2 в остальных случаях.

  1. Привести примеры автоматов:

  1. Придумать автомат, имеющий не менее трёх и не более пяти состояний.

  2. Преобразовать автомат Мили в автомат Мура:

  1. Преобразовать автомат Мура в автомат Мили: