Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
98
Добавлен:
10.02.2016
Размер:
869.38 Кб
Скачать

2.3. Модели дискретной обработки информации

2.3.1. Конечные автоматы

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

Автомат описывается шестёркой элементов А=(Q, X, Y,,q1),

где Q = {q1,q2,...,qr} - множество состояний (алфавит состояний);

X = {x1, x2,..., xn} - множество входных символов (входной алфавит);

Y = {y1, y2,..., ym} - множество выходных символов (выходной алфавит);

 - функция переходов, реализующая отображение множества D,

DQX, на множество Q (qp = (qj, xj), qpQ);

 - функция выходов, реализующая отображение множества D DQX, на множество Y (yd = (qj, xi), yd  Y);

q1 - начальное состояние автомата.

В общем случае автомат может иметь некоторое количество входов и выходов, и тогда каждому входу и каждому выходу может соответствовать свой алфавит. Рассмотрим более простой случай автомата с одним входом и одним выходом.

Автомат называется конечным, если конечны множества Q, X и Y. Автомат называетсяполностью определённым,если D=D=QX; участичногоавтомата функциииопределены не для всех пар (qj,xi)QY.

Символами xiиyk обозначаютсобытияв процессе илисигналыв устройствах. Иногда используют вместо понятия “символ” понятие “буква”; а последовательность букв называютсловом.

В отличие от привычного рассмотрения времени (время непрерывно и задается на континууме), при изучении и проектировании автоматов удобно рассматривать воображаемое дискретное время (автоматное время, заданное на счётном множестве). Разобьём непрерывную числовую полуось на бесконечное число конечных интервалов, не обязательно равных между собой, и обозначим точки, разделяющие интервалы, неотрицательными целыми числами, начиная с 0 (рис. 2.1,а).

Будем называть дискретным временем t время, которое принимает лишь эти целочисленные значения. Моменты времени, обозначенные числами 0,1,2,..., будем называть тактами.

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

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

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

Понятие “состояние автомата” определяет некоторую предысторию его поведения как реакции на символы, которые поступали ранее на его входы, т. е. состояние соответствует некоторойпамяти о прошлом.

Строгое определение понятия состояния связывается с той ролью, которую оно играет при определении конечных автоматов. Во-первых, значение выходной переменной на p-м такте (p-present-настоящее)y(p)однозначноопределяется состояниемq(p) и значением входной переменнойx(p) на том же такте, т. е.y(p)=(q(p), x(p)). Во-вторых, состояниеq(p+1) в следующем, (p+1)-м такте, однозначноопределяется состояниемq(p) и входной переменнойx(p) в рассматриваемом такте -q(p+1)=(q(p), x(p)).

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

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

Термин “состояние” позволяет устранить время как явную переменную и выразить выходные символы как функцию состояний автомата и входов в данный момент (такт). В каждый момент t=0,1,2,... дискретного времени КА находится в определённом состоянииq(t) из множества Q состояний автомата, причём в начальный моментt=0 он всегда находится в начальном состоянииq(0)=q1. В моментp(рис. 2.1,б), находясь в состоянииq(p), КА способен воспринять на входе символx(p)X и выдать на выходе сигналy(p)=(q(p),x(p)), переходя в состояниеq(p+1)=(q(p),x(p),);q(p)Q,y(p)Y.

Таким образом, КА реализует некоторое отображение множества слов входного алфавита X во множество слов выходного алфавита Y: если на вход автомата, установленного в начальное состояниеq1, подавать некоторую последовательность букв входного алфавитаx(0),x(1),x(2),..., т. е. входное слово, то на выходе КА будут последовательно появляться буквы выходного алфавитаy(0),y(1),y(2),..., т. е. выходное слово. Относя к каждому входному слову соответствующее ему выходное слово, получим отображение, индуцированное конечным автоматом.

Автомат без памяти называется тривиальным автоматом, иликомбинационной схемой.В таких автоматах значения выходных переменных определяются только комбинацией входных переменных в данный момент; для комбинационных схем функция переходов не имеет смысла, а функция выходов вырождается к видуy(p)=(x(p)).

На практике наибольшее распространение получили автоматы Мили и Мура, приведенные на рис. 2.1,виг; здесь:F1 иF2 - комбинационные схемы; D - задержка на один такт (память),q’ - новое (следующее) состояние в моментt = p.

Закон функционирования автомата Мили задается уравнениями:

q(t+1) =(q(t),x(t));y(t) =(q(t),x(t)),t= 0, 1, 2, ..., (2.11)

а автомата Мура -

q(t+1) =(q(t),x(t));y(t) =(q(t)),t= 0, 1, 2, ..., (2.12)

Отметим особенности функционирования автоматов Мили и Мура:

 оба автомата одинаково формируют новое состояние (q,x)q’, которое затем задерживается на один такт,q(p+1) =q’(p);

 выходной символ в автомате Мили определяется непосредственно входным символом и состоянием в текущий моментt=p((q, x)y),а в автомате Мура - только состоянием в текущий момент (qy) и опосредованно - состоянием и входным символом в предыдущий моментt=p-1 (y(p)=(q(p)), гдеq(p)=(q(p-1),x(p-1)));

 поскольку в автомате Мура выходной символ однозначно определяется его состоянием, то это позволяет идентифицировать состояние автомата по символам на его выходе, т. е. проверять правильность функцио-нирования синтезированного автомата;

 автомат Мили обычно проще (в смысле меньшего числа состояний) эквивалентного ему автомата Мура.

При анализе и синтезе КА используются в основном две стандартные формы представления автомата: табличная и графическая. Рассмотрим эти формы.

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

При табличном представлении строки именуются символами состояний, а столбцы - символами входа; в клетках таблиц проставляются символы состояний, причём состояния записываются рядом через разделитель “/” с соответствующими выходными символами: для автомата Мили - в клетках, а для автомата Мура - в именующем столбце.

Для примера табл. 2.1 описывает поведение автомата Мили, а табл. 2.2 - автомата Мура.

Таблица 2.1 Таблица 2.2

A1

x1

x2

A2

x1

x2

q1

q2/y1

q3/y2

q1/y1

q2

q4

q2

q3/y3

---

q2/y1

q5

q2

q3

q4/y3

q2/y1

q3/y3

q5

q2

q4

---

q2/y2

q4/y2

q3

q1

q5/y3

q3

q1

Граф автомата - ориентированный связный граф, вершины которого соответствуют состояниям, а дуги - переходам между ними. Две вершины графа автомата qiиqj(исходное состояние и состояние перехода) соединяются дугой, направленной отqiкqj, если в автомате есть переходqiqj, т. е. еслиqj=(qi,xk) при некоторомxkX. В случае автомата Мили дуге графа приписываются входной символxkи выходной символyg=(qi,xk), Если некоторые состояния автомата не определены, то в соответствующих клетках таблицы ставится прочерк; в этом случае автомат являетсячастичным. Если переходqiqjпроисходит под действием нескольких входных символов, то дуге (qi,qj) приписываются все эти входные и соответствующие выходные символы. При описании автомата Мура в виде графа выходной символyg=(qj) записывается рядом с вершинойqj (или внутри неё).

На рис. 2.2 и 2.3 приведены заданные ранее табл. 2.1 и 2.2 графы автоматов А1 (частичный автомат Мили) и А2 (автомат Мура; здесь переход q2q2являетсяпетлёй).

Соседние файлы в папке Основаная часть