logo
ЛЕТНИЙ СЕМЕСТРФ УП Моделирование систем

Дискретные модели Конечные автоматы

Особенности дискретно-детерминированных моделей, используемых при формализации процесса функционирования систем, рассмотрим на примере применения в качестве математического аппарата тео­рии автоматов. На основе этой теории система представляется в виде автомата, перерабатывающего дискретную информацию и меняю­щего свои внутренние состояния лишь в допустимые моменты вре­мени[11].

Автомат можно представить как некоторое устройство, на которое подаются входные сигналы и снимаются выход­ные и которое может иметь некоторые внутренние состояния. Ко­нечным автоматомназывается автомат, у которого множество внутренних состояний и входных сигналов (а следовательно, и мно­жество выходных сигналов) являются конечными множествами.

Абстрактно конечный автомат (англ. finiteautomata) можно представить как математическую схему,характеризую­щуюся шестью элементами: конечным множествомХвходных сиг­налов (входным алфавитом); конечным множествомYвыходных сигналов (выходным алфавитом); конечным множеством Z внутренних состояний (внутренним алфавитом или алфавитом состояний); начальным состояниемz0, z0Z ; функцией переходов(z,x); функцией выходов(z,x). Автомат F=<Z, X, 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)=[z(t),x(t)], y(t)Y, переходя в состояниеz(t+1)=[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)=[z(t),x(t)], t=0,1,2,..,

y(t)=[z(t),x(t)], t=0,1,2,…;

для конечного автомата второго рода

z(t+1)=[z(t),x(t)], t=0,1,2,..,

y(t)=[z(t),x(t-1)], t=1,2,3,…

Автомат второго рода, для которого

y(t)=[z(t)], t=0,1,2,…,

то есть функция выходов не зависит от входной переменной х (t), называетсяавтоматом Мура.

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

y(t)=[x(t)], t=0,1,2,….

Эта функция называется булевой, если алфавиты ХиY, кото­рым принадлежат значения сигналовxиy,состоят из двух букв.

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

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

Чтобы задать конечный автомат, необходимо описать все эле­менты F=<Z, X, Y,  , z0 >, т. е. входной, внутренний и выходной алфавиты, а также функции переходов и выходов. Причем среди множества состояний необходимо выделить состоя­ниеz0, в котором автомат находился в момент времениt=0. Суще­ствуют несколько способов описания работы конечных автоматов, но наибо­лее часто используются табличный, графический и матричный.

Простейший табличный способзадания конечного автомата основан на использовании таблиц переходов и выходов, строки ко­торых соответствуют входным сигналам автомата, а столбцы - его состояниям. При этом обычно первый слева столбец соответствует начальному состояниюz0. На пересеченииi-йстроки иk-roстолбца таблицы переходов помещается соответствующее значение(zk,xi)функции переходов, а в таблице выходов - соответствующее значение(zk,xi) функции выходов. Для конечного автомата Мура обе таблицы можно совместить, получив так называемую отмеченную таблицу переходов, в которой над каждым состояниемzk автомата, обозначающим столбец таблицы, стоит соответствующий этому состоянию выходной сигнал(zk).Описание конечного автомата Мили таблицами переходови выходов иллюстрирует табл.5.1, а описание автомата Мура таблицей переходов - табл. 5.2.

Таблица 5.1. Таблицы переходов и выходов конечного автомата Мили

zk

xi

z0

z1

zK

Переходы

x1

( z0, x1)

( z1, x1)

( zK, x1)

x2

( z0, x2)

( z1, x2)

( zK, x2)

xi

( z0, xI)

( z1, xI)

( zK, xI)

Выходы

x1

( z0, x1)

( z1, x1)

( zK, x1)

x2

( z0, x2)

( z1, x2)

( zK, x2)

xi

( z0, xI)

( z1, xI)

( zK, xI)

Таблица 5.2. Таблица переходов конечного автомата Мура

( zk)

xi

( z0)

( z1)

( zK)

Z0

z1

zK

x1

( z0, x1)

( z1, x1)

( zK, x1)

x2

( z0, x2)

( z1, x2)

( zK, x2)

xi

( z0, xI)

( z1, xI)

( zK, xI)

Пример 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)=(zj,xk).Для автомата Мура анало­гичная разметка графа такова: если входной сигналxk, дейст­вуя на некоторое состояние ав­томата, вызывает переход в со­стояниеzj, то дугу, направлен­ную вzj, помечаютxk, а вершинуzjдополнительно отмечают выход­ным сигналомy(t)=(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, для которого(zk,xi)= zk, имеет место(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являются синхронными.

Понятие конечного автомата яв­ляется математической абстракцией, удобной для описания широ­кого класса процессов функционирования реальных объектов в ав­томатизированных системах управления. В качестве таких объек­тов, в первую очередь, следует назвать элементы и узлы ЭВМ, устройства контроля, регулирования и управления, системы вре­менной и пространственной коммутации в технике обмена инфор­мацией и т. д. Для всех перечисленных объектов характерно нали­чие дискретных состояний и дискретный характер работы во вре­мени, поэтому их описание с помощью рассмотренных схем является эффективным.