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

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

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

Автомат описывается шестёркой элементов А={Q, X, Y, d, l, q1},

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

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

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

d - функция переходов, реализующая отображение множества Dd Н QxX в Q

(qp = d(qj, xi), qp О Q);

l - функция выходов, реализующая отображение множества Dl Н QxX на Y

(yд = l(qj, xi), yд ОY);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а автомата Мура - уравнениями:

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

x(p) y(p)

Комбинационная

q(p) схема q'(p) Dt

t

0 1 2 3 p p+1

б)

Память

а)

в) г)

Рис. 2.1. Конечный автомат, а - структура, б - автоматное время, в - автомат Мили, г - автомат Мура.

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

- оба автомата одинаково формируют новое состояние (x, q) ® q¢, где q¢ = q(p+1);

- выходной символ в автомате Мили определяется непосредственно входным

символом и состоянием в текущий момент времени t = p ((x, q) ® y). а в автомате Мура - только состояние в текущий момент времени (q ® y) и опосредованно - входным символом и состоянием в предыдущий момент времени t = p-1 ( (x,q) ® y¢, y¢= y(p+1) );

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

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

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

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

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

Таблица 2.х

А1

x1

x2

q1

q2/y1

q3/y2

q2

q3/y3

-

q3

q4/y3

q2/y1

q4

-

q2/y2

Таблица 2.х1

А2

x1

x2

q1/y1

q2

q4

q2/y1

q5

q2

q3/y3

q5

q2

q4/y2

q3

q1

q5/y3

q3

q1

Граф автомата - ориентированный связный граф, вершины которого соответствуют состояниям, а дуги - переходам между ними. Две вершины графа автомата qi и qj (исходное состояние и состояние перехода) соединяются дугой, направленной от qi к qj, если в автомате есть переход qi ® qj, то есть если qj=d(qi, xk) при некотором xk О X. Дуге графа приписывается входной символ xk и выходной символ yg=l(qi, xk), если он определён, и ставится прочерк в противном случае. Если переход qi ® qj происходит под действием нескольких входных символов, то дуге (qi, qj) приписываются все эти входные и соответствующие выходные символы. При описании автомата Мура в виде графа выходной символ yg=l(qj) записывается внутри вершины qj (или рядом с ней). На рис. 2.2 и рис. 2.3 приведены заданные ранее таблицами 2.х и 2.х1 графы автоматов А1 (частичный автомат Мили) и А2 (автомат Мура; здесь переход q2->q2 является петлёй).

рис. 2.2. Пример графа рис. 2.3. Пример графа

частичного автомата Мили частичного автомата Мура

В теории автоматов решаются следующие задачи:

- анализ поведения автомата и определение его реакции (выходного слова) на заданное входное слово;

- преобразование автомата Мура в автомат Мили либо обратное преобразование;

- синтез автомата по заданному описанию (словесному, табличному или графическому);

- минимизация заданного автомата.

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

Соседние файлы в папке Конспект лекций