logo
discrete_math1

42. Определение, схема и функционирование абстрактного автомата, способы задания автоматов.

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

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

Определение. Входной алфавит A – это конечное множество А = {а1, а2, …, аs}, элементы которого называются входными сигналами (символами).

Определение. Выходной алфавит В = {b1, b2, …, bk} – это множество выходных сигналов (символов).

В каждый момент времени t = 1, 2, 3, … на вход автомату подается некоторый сигнал из множества А, а на выходе появляется соответствующий сигнал из множества В. Тогда, учитывая описанный выше потактовый принцип работы абстрактного автомата, входной сигнал в момент времени t будем обозначать через x(t), а в следующий момент – через x(t + 1). Соответствующие выходные сигналы обозначим через у(t) и у(t + 1).

Множество состояний – это конечное множество V = {v1, v2, …, vr}. Состояние автомата в момент времени t будем обозначать через q(t). Напомним, что состояние автомата – это состояние (содержимое) его памяти. Таким образом, существенными составляющими любого автомата являются входной и выходной алфавиты А и В, а также множество состояний V.

Схема и функционирование абстрактного автомата. На рисунке структура абстрактного автомата. За один такт его работы происходят следующие события. В момент времени t (начало t-го такта) в функциональный блок синхронно поступают два сигнала: x(t) – по входному каналу и q(t – 1) – из памяти автомата. В функциональном блоке эти сигналы мгновенно перерабатываются в два новых сигнала у(t) и q(t). Сигнал у(t) направляется в выходной канал, а сигнал q(t) – в память автомата. После этого наступает момент времени t + 1, который служит одновременно окончанием t-го такта и началом следующего (t + 1)-го такта. Поскольку первый такт начинается в момент времени t = 1, то сигнал q(0), поступающий в этот момент из памяти автомата в функциональный блок, характеризует начальное состояние автомата, которое обычно считается известным заранее (например, можно считать, что автомат стартует с «чистой» памятью). Пару сигналов (x(t), q(t – 1)) можно сравнить со «стимулом» в момент времени t, а пару (у(t), q(t)) – с мгновенной «реакцией» автомата на этот «стимул».

Определение. Автомат называется детерминированным, если для любых t и t´ из равенств x(t) = x(t´) и q(t – 1) = q(t´– 1) следуют равенства y(t) = y(t´), q(t) = q(t´). Свойство детерминированности автомата означает, что принципы его функционирования с течением времени не меняются.

Определение. Функцией выходов автомата называется функция f, которая каждой паре (ai, vj), где aiА, vjV, ставит в соответствие выходной сигнал f(ai, vj)В. Функция выходов указывает, какой сигнал будет направлен на выход автомата, если он находился в состоянии vj, и на вход ему поступил сигнал ai.

Определение. Функцией переходов автомата называется функция g, которая каждой паре (ai, vj), где aiА, vjV, ставит в соответствие состояние g(ai, vj)V.Функция переходов указывает, в каком состоянии окажется автомат, если он находился в состоянии vj, и на вход ему поступил сигнал ai.

С помощью набора правил функционирования.

1, v1) → (b1, v1),

1, v2) → (b1, v2),

2, v1) → (b2, v1),

2, v2) → (b1, v1),

3, v1) → (b3, v2),

3, v2) → (b3, v2).

v1

vr

a1

f(a1,v1), g(a1,v1)

f(a1,vr), g(a1,vr)

as

f(as,v1), g(as,v1)

f(as,vr), g(as,vr)

С помощью таблицы. Чтобы задать автомат табличным способом, надо заполнить его таблицу выходов и переходов, исходя из функции выходов f и функции переходов g. В крайнем левом столбце таблицы перечислены символы входного алфавита А = {а1, а2, …, аs}, а в верхней строке – элементы множества состояний V = {v1, v2, …, vr}. В клетке, стоящей на пересечении строки ai и столбца vj, стоит пара f(ai, vj), g(ai, vj), которая согласно определению функций f и g указывает, что если автомат находился в состоянии vj и на вход ему подали сигнал ai, то на выходе автомата получим сигнал f(ai, vj), и автомат перейдет в состояние g(ai, vj). Используя такую таблицу, можно для любой последовательности входных сигналов определить, как будет выглядеть соответствующая последовательность выходных сигналов или состояний автомата.

С помощью диаграммы Мура. При таком способе автомат изображается в виде ориентированного графа, в котором допускаются кратные дуги и петли. Число вершин равно r − числу состояний автомата. Каждая вершина помечена символом из множества состояний V = {v1, v2, …, vr}. Дуга выходит из вершины vk в вершину vn тогда и только тогда, когда в данном автомате возможен переход из состояния vk в состояние vn по некоторому входному сигналу. Все дуги, выходящие из вершины vk, помечены парой символов вида (ai, bj), где aiА, bj = f(ai, vk). Иными словами, начало дуги определяет состояние автомата в предшествующий, а её конец – в последующий моменты времени. При этом на самой дуге указывается входной и соответствующий ему выходной сигналы. Граф диаграммы Мура должен удовлетворять условию детерминированности. Оно заключается в том, что для любого входного символа ai из каждой вершины должна выходить только одна дуга, помеченная этим символом. Поэтому в диаграмме Мура из каждой вершины выходит ровно s дуг, где s – это мощность алфавита А.