Вы находитесь на странице: 1из 4

Абстрактные автоматы и автоматные соответствия

Абстрактным автоматом будем называть объект, который может принимать различные


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

Абстрактный автомат функционирует в дискретном времени, принимающем


последовательные целые положительные значения 1,2… В любой фиксированный момент
(дискретного) времени он находится в каком-то определенном внутреннем состоянии,
получает определенный входной и выдает вполне определенный выходной сигнал.

Абстрактный автомат А определяется заданием 3-х множеств (множества внутренних


состояний ( μ ) S, входного алфавита X, выходного алфавита (μ)(γ), элемента а1, множества
´(µ) S (начального состояния) и двух функций (функции переходов φ, и функции выходов
ψ), определяющих функционирование автомата в дискретном времени. Функция
переходов определяет состояние: S(t +1)=S [S (t) , x (t)]. Функция выхода определяет
зависимость выходного сигнала y(t) от состояния автомата и выходного сигнала в тот же
самый момент времени t : y ( t)=λ (S (t) , x (t)). Входной и выходной алфавит автомата -
конечные. Множество внутренних состояний S( μ ) , то в общей теории алфавитов на него не
накладывается никаких ограничений. Если множество, конечно, то и соответствующий
ему абстрактный алфавит называется конечным алфавитом. Предполагается, что функции
переходов и выходов φ δ и ψ λ обе однозначны и всюду определены. Если, сохранив
условия однозначности, предполагать, что эти функции заданы лишь на некоторых, а не
обязательно на всех парах ( S(t ), x (t)), то придем к понятию частичного автомата. Для
конечных автоматов функции переходов и выходов задаются обычно конечными
таблицами с двумя входами, называемыми, соответственно, таблицами переходов и
выходов автомата.

Столбцы в таблице будут обозначать внутреннее состояние, а строки — входные сигналы


(буквами входного алфавита). Если автомат частичный, то в тех местах таблицы, в
которых функции переходов и выходов не определены, будем ставить черточки.
Зависимость величин от времени в таблице опускается. Начальное состояние — будем
относить самый левый столбец таблицы. Таблица переходов и выходов можно совмещать
в одну. Более наглядно задание абстрактных автоматов с помощью направленных графов.
Вершины графа отождествляются с внутренними состояниями автомата, а соединяющие
их стрелки (направленные ребра) обозначаются входными сигналами, вызывающими
соответствующий переход в автомате. Вершина, соответствующая состоянию Si,
соединяется стрелкой, обозначаемой через Xj, с вершиной, соответствующей состоянию
Sak, т. и т.т., к входной сигнал Xj переводит автомат из состояния Sai в состояние Sak.
Обозначенная через xj стрелка, выходящая из вершины Sai, получает второе обозначение
— выходным сигналом ѵB ym= λψ (Si ; Xj), соответствующим паре (Sai, Xj)
Если направление автомата A с множеством внутренних состояний (1,2,3), входным
алфавитом (x,y) и выходным алфавитом (u,v) был задан таблицей переходов и выходов.

1 2 3 1 2 3

x 2 3 3 x w u
y 3 2 2 y v u u

,то его можно задать графом:

X(u) y(v)

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

Автоматом Мура называется такой абстрактный автомат, у которого выходной сигнал в


произвольный момент времени t, однозначно определяется внутренним состоянием
автомата в момент времени t+ 1: y (t )=η [S(t +1)]. Функция y=η(S) называется сдвинутой
функцией выходов, а соответствующая ей (однострочная) таблица — сдвинутой таблицей
выходов, (допускает, и зависимость выхода в настоящий момент времени от состояния
автомата в последний момент времени); предположения о мгновенности переходов из
одного состояния в другое. В случае автоматов Мура можно интерпретировать выход
сигнала так, что он будет зависеть от состояния автомата в тот же самый момент времени.
Автомат Мура удобнее вместо таблицы выходов задавать его сдвинутой таблицей
выходов. Соответственно, на графе автомата Мура выходными сигналами обозначаются
не ребра, а те состояния, в которые они входят. Пусть состояния автомата Sai отмечаются
соответствующими им выходными сигналами y=η(Sai). В случае автоматов Мура счет
времени удобно начинать не с первого, а с нулевого момента времени.

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

Автомат Мура однозначно задается своей отмеченной таблицей переходов. Для того
чтобы настроить обычную таблицу выходов для автомата Мура, достаточно в его таблицу
переходов вместо состояний Sa(t+ 1)=φδ [Sa (t) , x (t )] подставить отмечающие их
выходные символы η [Sa (t+1)]. Обратный переход аналогичен.

Упрощение: если Sa — внутреннее состояние автомата, а X — произвольный входной


сигнал, то через Sax будем обозначать состояние φδ(aS,x), в которых переходит автомат из
состояния Sa под действием входного сигнала X.

Распространим определение функций переходов и выходов на произвольные конечные


упорядоченные последовательности входных сигналов (слова во входном алфавите). Если
l=x (1)x (2)... x (n) — произвольное слово длины n во входном алфавите, то при n=1
функции переходов φδ(a,l) и выходов ψλ (a,l) уже определены. Для l1 = lx (n+1) положим:

φδ(α S, li = φδ [ φδ ( aS ,l ) , x ( n+ 1 ) ] ). По индукции определения продолжено на все слова во


входном алфавите. Как и для отдельных входных сигналов (слов длины 1 ), для
произвольного слова l во входном алфавите состояние φδ(aS,l), в которых переводится
автомат из состояния aS последовательностью входных сигналов l, обозначается через
aS*l. Для произвольного слова ln =x (1) x (2)... x( n) во входном алфавите автомата, или,
кратко, для произвольного входного слова ln рассмотрим процесс последовательного
развертывания этого слова во времени. При этом будут последовательно появляться слова
l 1=x (1) , l2=x (1) x (2) ...li=x (1) x (2)... x (i), ln=x (1) x (2)... x (n), которые назовем
начальными отрезками входного слова ln. Если слово ln подать на вход автомата A,
находящегося первоначально в некотором начальном состоянии Sa, то автомат выдает
конечную последовательность qn= y (1) y (2) — y (n) выходных сигналов слово выходном
алфавите, имеющие ту же самую длину , что и слово ln. Подавая на вход автомата А
любой начальный отрезок li слова ln, получим на выходе алфавита соответствующий
начальный отрезок qi слова qn, если исходить при этом из того же самого начального
состояния Sa.

Т.о., абстрактный автомат А (с фиксированным начальным состоянием Sa) осуществляет


соответствие ξ между словами во входном и выходном алфавитах, удовлетворяющее
следующим двум условиям: 1) по любому слову l во входном алфавите X соответствие ξ
сопоставляет слово ξ(l) в выходном алфавите (η) γ, имеющее одинаковую со словом l
длину; 2) если слово l1, совпадает с начальным отрезком слова ξ(l), имеющим равную со
словом l2 длину.

Назовем сформулированные условия условиями автоматности частичного соответствия ξ,


а всякое соответствие между словами в алфавитах X и Y, удовлетворяющее этим 2-м
условиям, - автоматным соответствием, или автоматным оператором.

Утверждение: Всякое автоматное соответствие может быть реализовано с помощью


некоторого абстрактного автомата (не обязательно конечного).
Доказательство: Действительно, пусть автоматное соответствие ξ отображает множество
слов в алфавите X = (X1,...Xn) во множество слов в алфавите Y = (y1,ym). Построим
автомат А, внутренними состояниями которого будут всевозможные слова в алфавите X,
причем начальным состоянием будет служить пустое слово e. Функция переходов φδ
определяется: если l- любое состояние автомата (слово в алфавите X), а Xi — любой
входящий сигнал, то φδ (l , xi ) полагается равной слову l∗xi .Определив функцию выходов
ψλ соотношением (ψλ)(l , xi)= yi, где yi — последняя буква слова ξ(lxi), получим автомат,
который реализует исходное соответствие ξ.

Если отображение ξ (соответствие) множества слов в алфавите X множество слов в


алфавите Y задается частичным автоматом, то оно будет частичным отображением,
определенном не на всех словах. Для него будут выполняться два условия автоматности
при дополнительном предложении, что ξ(l) элемент. Второе условие автоматности
приобретает условную форму: если ξ(l) элемент, а l1 — начальный отрезок слова, то ξ(l1).
Это условия автоматности частичного соответствия ξ, а всякое частичное соответствие,
удовлетворяющее этим условием, - частное автоматное соответствие.

Утверждение. Всякое частичное автоматное соответствие может быть реализовано с


помощью некоторого частичного автомата (не обязательно конечного). Требование
равенства длин входных и выходных слов не выполняется для большей части алгоритмов,
которые должны выполнятся теми или иными автоматами. Это устраняется посредством
перекодирования входной и выходной информации. Стандартный прием превращения
любого частичного соответствия ξ между словами в алфавитах X и Y в частичное
автоматное соответствие основан на введении в алфавиты X и Y не содержащейся в них
ранее буквы ‫ﺛ‬α — пустой буквы. Появление пустой буквы на входе автомата
соответствует случаю, когда на вход ничего не подается. Появление пустой буквы в
качестве выходного сигнала означает отсутствие к-л сигналов на входе автомата.

Рассмотрим произвольное слово l длины n в алфавите X, которое первоначально заданное


частичное соответствие ξ сопоставляет слово q = ξ (l) в алфавите Y, имеющее длину m.
Обозначим через l1 слово в алфавите X 1= XU (2), получающееся приписыванием к слову
l справа m экземпляров букв α. Это — стандартный прием выравнивания длин слов.
Определим новое частичное соответствие ξ1 между словами в алфавитах X1 и Y1, полагая
q1=ξ1(l1) и повторяет этот прием для слова l в алфавите X, на котором соответствие ξ
определено. Доопределим это соответствие на всех начальных отрезках l1 (i) слов l1,
полагая, что ξ1 (l1(i)) совпадает с начальным отрезком слова ξ(l1), имеющим равную с
l1(i) длину.