Особенности дискретно-детерминированных моделей, используемых при формализации процесса функционирования систем, рассмотрим на примере применения в качестве математического аппарата теории автоматов. На основе этой теории система представляется в виде автомата, перерабатывающего дискретную информацию и меняющего свои внутренние состояния лишь в допустимые моменты времени[11].
Автомат можно представить как некоторое устройство, на которое подаются входные сигналы и снимаются выходные и которое может иметь некоторые внутренние состояния. Конечным автоматом называется автомат, у которого множество внутренних состояний и входных сигналов (а следовательно, и множество выходных сигналов) являются конечными множествами.
Абстрактно конечный автомат (англ. finite automata) можно представить как математическую схему, характеризующуюся шестью элементами: конечным множеством Х входных сигналов (входным алфавитом); конечным множеством Y выходных сигналов (выходным алфавитом); конечным множествомZ внутренних состояний (внутренним алфавитом или алфавитом состояний); начальным состоянием z0, z0ÎZ ; функцией переходов j(z,x); функцией выходов y(z,x). АвтоматF=<Z, X, Y, j, y, z0> функционирует в дискретном времени, моментами которого являются такты, т. е. примыкающие друг к другу равные интервалы времени, каждому из которых соответствуют постоянные значения входного и выходного сигналов и внутренние состояния. Обозначим состояние, а также входной и выходной сигналы, соответствующие t-му такту при t=0, 1, 2,…, через z (t), x(t), y(t). При этом, по условию, z(0)=z0, a z(t)ÎZ, x(t)ÎX, y(t)ÎY.
Абстрактный конечный автомат имеет один входной и один выходной каналы. В каждый момент t=0, 1, 2,... дискретного времени автомат находится в определенном состоянии z(t) из множества Z состояний автомата, причем в начальный момент времени t=0 он всегда находится в начальном состоянии z(0)=z0. В момент t, будучи в состоянии z(t), автомат способен воспринимать на входном канале сигнал x(t)ÎX и выдавать на выходном канале сигнал y(t)=y[z(t),x(t)], y(t)ÎY, переходя в состояние z(t+1)=j[z(t),x(t)], z(t)ÎZ. Абстрактный конечный автомат реализует некоторое отображение множества слов входного алфавита Х на множество слов выходного алфавита Y. Другими словами, если на вход конечного автомата, установленного в начальное состояние z0, подавать в некоторой последовательности буквы входного алфавита x(0), x(1), x(2),…, т. е. входное слово, то на выходе автомата будут последовательно появляться буквы выходного алфавитаy(0), y(1), y(2),…,образуя выходное слово.
Таким образом, работа конечного автомата происходит по следующей схеме: в каждом t-м такте на вход автомата, находящегося в состоянии z(t), подается некоторый сигнал х (t), на который он реагирует переходом в (t+1)-м такте в новое состояние z(t+1) и выдачей некоторого выходного сигнала. Сказанное выше можно описать следующими уравнениями: для конечного автомата первого рода, называемого также автоматом Мили,
z(t+1)=j[z(t),x(t)], t=0,1,2,..,
y(t)=y[z(t),x(t)], t=0,1,2,…;
для конечного автомата второго рода
z(t+1)=j[z(t),x(t)], t=0,1,2,..,
y(t)=y[z(t),x(t-1)], t=1,2,3,…
Автомат второго рода, для которого
y(t)=y[z(t)], t=0,1,2,…,
то есть функция выходов не зависит от входной переменной х (t), называется автоматом Мура.
По числу состояний различают конечные автоматы с памятью и без памяти. Автоматы с памятью имеют более одного состояния, а автоматы без памяти (комбинационные или логические схемы) обладают лишь одним состоянием. При этом работа комбинационной схемы заключается в том, что она ставит в соответствие каждому входному сигналу х(t) определенный выходной сигнал у(t), т. е. реализует логическую функцию вида
y(t)=y[x(t)], t=0,1,2,….
Эта функция называется булевой, если алфавиты Х и Y, которым принадлежат значения сигналов x и y, состоят из двух букв.
По характеру отсчета дискретного времени конечные автоматы делятся на синхронные и асинхронные. В синхронных автоматах моменты времени, в которые автомат «считывает» входные сигналы, определяются принудительно синхронизирующими сигналами. После очередного синхронизирующего сигнала с учетом «считанного» происходит переход в новое состояние и выдача сигнала на выходе, после чего автомат может воспринимать следующее значение входного сигнала. Таким образом, реакция автомата на каждое значение входного сигнала заканчивается за один такт, длительность которого определяется интервалом между соседними синхронизирующими сигналами.
Асинхронный автомат считывает входной сигнал непрерывно, и поэтому, реагируя на достаточно длинный входной сигнал постоянной величины х(t)=const, он может несколько раз изменять состояние, выдавая соответствующее число выходных сигналов, пока не перейдет в устойчивое, которое уже не может быть изменено данным входным сигналом.
Чтобы задать конечный автомат, необходимо описать все элементы F=<Z, X, Y, j, y, z0 >, т. е. входной, внутренний и выходной алфавиты, а также функции переходов и выходов. Причем среди множества состояний необходимо выделить состояние z0, в котором автомат находился в момент времени t=0. Существуют несколько способов описания работы конечных автоматов, но наиболее часто используются табличный, графический и матричный.
Простейший табличный способ задания конечного автомата основан на использовании таблиц переходов и выходов, строки которых соответствуют входным сигналам автомата, а столбцы - егосостояниям. При этом обычно первый слева столбец соответствует начальному состоянию z0. На пересечении i-й строки и k-ro столбца таблицы переходов помещается соответствующее значение j(zk,xi) функции переходов, а в таблице выходов - соответствующее значение y(zk,xi) функции выходов. Для конечного автомата Мура обе таблицы можно совместить, получив так называемую отмеченную таблицу переходов, в которой над каждым состоянием zk автомата, обозначающим столбец таблицы, стоит соответствующий этому состоянию выходной сигнал y(zk). Описание конечного автомата Мили таблицами переходов j и выходов y иллюстрирует табл.5.1,а описание автомата Мура таблицей переходов - табл. 5.2.
Таблица 5.1. Таблицы переходов и выходов конечного автомата Мили
Пример 5.1.Примеры табличного способа задания конечного автомата Мили F1 с тремя состояниями, двумя входными и двумя выходными сигналами приведены в табл. 5.3, а для конечного автомата Мура F2 - в табл. 5.4.
Таблица 5.3. Табличное описание автомата Мили
zk
xi
z0
z1
z2
Переходы
X1
z2
z0
z0
X2
z0
z2
z1
Выходы
X1
y1
y1
y2
X2
y1
y2
y1
Таблица 5.4. Табличное описание автомата Мура
y
xi
y1
y1
y3
y2
y3
z0
z1
z2
z3
z4
x1
z1
z4
z4
z2
z2
x2
z3
z1
z2
z0
z0
При другом способе задания конечного автомата используется понятие направленного графа. Граф автомата представляет собой набор вершин, соответствующих различным состояниям автомата и соединяющих вершины дуг графа, соответствующих тем или иным переходам автомата. Если входной сигнал xk вызывает переход из состояния zi в состояние zj, то на графе автомата дуга, соединяющая вершину zi с вершиной zj, обозначается xk. Для того чтобы задать функцию выходов, дуги графа необходимо отметить соответствующими выходными сигналами. Для автоматов Мили эта разметка производится так: если входной сигнал xk действует на состояние zi, то, согласно сказанному, получается дуга, исходящаяиз ziи помеченная xk; эту дугу дополнительно отмечают выходным сигналом y(t)=y(zj,xk). Для автомата Мура аналогичная разметка графа такова: если входной сигнал xk, действуя на некоторое состояние автомата, вызывает переход в состояние zj, то дугу, направленную в zj, помечают xk, а вершину zj дополнительно отмечают выходным сигналом y(t)=y(zj).
Заданные ранее таблицами конечные автоматы Мили F1 и Мура F2 приведены на рис. 5.1.
При решении задач моделирования систем часто более удобной формой является матричное задание конечного автомата. При этом матрица соединений автомата есть квадратная матрица , строки которой соответствуют исходным состояниям, а столбцы - состояниям перехода. Элемент cij=xk/ys, стоящий на пересечении i-й строки и j-ro столбца, в случае автомата Мили соответствует входному сигналу xk, вызывающему переход из состояния zi в состояние zj, и выходному сигналу ys, выдаваемому при этом переходе. Для автомата Мили F1, рассмотренного выше, матрица соединений имеет вид
.
Если переход из состояния zi в состояние zj происходит под действием нескольких сигналов, элемент матрицы cij представляет собой множество пар «вход-выход» для этого перехода, соединенных знаком дизъюнкции.
Для автомата Мура элемент cij равен множеству входных сигналов на переходе (zi,zj), а выход описывается вектором выходов
,
i-я компонента которого - выходной сигнал, отвечающий состоянию zi.
Пример 5.2. Для рассмотренного выше автомата Мура F2 запишем матрицу соединений и вектор выходов:
Для детерминированных автоматов выполняется условие однозначности переходов: автомат, находящийся в некотором состоянии, под действием любого входного сигнала не может перейти более чем в одно состояние. Применительно к графическому способу задания конечного автомата это означает, что в графе автомата из любой вершины не могут выходить два и более ребра, отмеченные одним и тем же входным сигналом. Аналогично этому в матрице соединений автомата С в каждой строке любой входной сигнал не должен встречаться более одного раза.
Рассмотрим вид таблицы переходов и графа асинхронного конечного автомата. Для конечного автомата состояние zk называется устойчивым, если для любого входа xiÎX, для которого j(zk,xi)= zk, имеет место y(zk,xi)=yk. Таким образом, конечный автомат называется асинхронным, если каждое его состояние ziÎZ устойчиво.
Необходимо отметить, что вообще на практике автоматы всегда являются асинхронными, а устойчивость их состояний обеспечивается тем или иным способом, например введением сигналов синхронизации. Однако на уровне абстрактной теории, когда конечный автомат выступает в виде математической схемы для формализации конкретных объектов без учета ряда второстепенных особенностей, часто удобно оказывается оперировать с синхронными конечными автоматами.
Пример 5.3. Рассмотрим асинхронный автомат Мура, который описан табл. 5.5 и приведен на рис. 5.2. Очевидно, что если в таблице переходов асинхронного автомата некоторое состояние zk стоит на пересечении строки xiи столбца zs (s¹k), то это состояние zk обязательно должно встретиться в этой же строке в столбце zk. В графе асинхронного автомата, если в некоторое состояние имеются переходы из других состояний под действием каких-то сигналов, то в вершине zk должна быть петля, отмеченная символами тех же входных сигналов. Анализ табл. 5.3 и 5.4 или рис. 5.1 показывает, что представленные там автоматы F1 и F2 являются синхронными.
Понятие конечного автомата является математической абстракцией, удобной для описания широкого класса процессов функционирования реальных объектов в автоматизированных системах управления. В качестве таких объектов, в первую очередь, следует назвать элементы и узлы ЭВМ, устройства контроля, регулирования и управления, системы временной и пространственной коммутации в технике обмена информацией и т. д. Для всех перечисленных объектов характерно наличие дискретных состояний и дискретный характер работы во времени, поэтому их описание с помощью рассмотренных схем является эффективным.