ПТЦА - Лекции / Лекция 7
.pdf
Лекция 7 – Основные понятия теории автоматов
Термин автомат, как правило, используется в двух аспектах. С одной стороны, автомат – устройство, выполняющее некоторые функции без непосредственного участия человека. В этом смысле ЭВМ – автомат, так как после загрузки программы и исходных данных ЭВМ решает заданную задачу без участия человека. С другой стороны, термин «автомат» как математическое понятие обозначает математическую модель реальных технических автоматов. В этом аспекте автомат представляется как «черный ящик», имеющий конечное
число входов и выходов и |
некоторое множество внутренних |
состояний |
Q={q1 t ,q2 t ... qn t } , в которые |
он под воздействием входных сигналов |
переходит |
скачкообразно, т. е. практически мгновенно, минуя промежуточное состояние. Однако это условие не выполняется в реальности, так как любой переходный процесс длится конечное время.
Автомат называется конечным, если множество его внутренних состояний и множество значений входных сигналов – конечные множества.
В практике часто используется понятие цифрового автомата, под которым понимают устройство, предназначенное для преобразования цифровой информации.
Входные сигналы в цифровых автоматах представляются в виде конечного множества мгновенных сигналов. Теоретически это означает, что входные сигналы не имеют длительности, хотя практически это не так. Такое допущение упрощает рассмотрение процессов, происходящих в автоматах, так как все события (состояния) должны относиться к фиксированному моменту времени t . Условно также принимается, что число выходных сигналов y t конечно и они возникают в результате действия входных сигналов. При этом следует учитывать, что одновременно с появлением выходного сигнала происходит
скачкообразный переход автомата из состояния q1 t в состояние |
q2 t . |
|
Цифровой автомат называется правильным, если выходной сигнал |
y t определяется |
|
только его состоянием q t−1 или |
q t и не зависит от входных сигналов. |
|
Пусть имеется цифровой автомат с одним входом (рисунок 1).
Рисунок 1 – Абстрактный автомат с одним входом и одним выходом Математической моделью цифрового автомата является абстрактный автомат, заданный совокупностью шести объектов:
1) конечное множество |
X входных сигналов (входной алфавит автомата): |
|
X ={x1 t , x2 t ... xn t }; |
2)конечное множество |
Y выходных сигналов (выходной алфавит автомата): |
Y={y1 t , y2 t ... y k t };
3)произвольное множество Q состояний автомата:
|
|
|
Q={q1 t ,q2 t ... qs t }; |
4) |
начальное состояние автомата до, как элемент множества Q : |
||
|
|
q , x |
q0 t Q; |
5) |
функция |
(функция перехода автомата из одного состояния в другое); |
|
6) |
функция |
q , x |
(функция выходов автомата). |
В начальный момент времени t0 автомат находится в состоянии q0 . В каждый момент времени t автомат способен принять входной сигнал x t и выдать соответствующий выходной сигнал y t .
Пример 1. Опишем поведение родителя, отправившего сына в школу. Сын приносит двойки и пятерки. Отец не хочет хвататься за ремень каждый раз, как только сын получит очередную двойку, и выбирает более тонкую тактику воспитания. Опишем входные, внутренние и выходные состояния системы.
X ={2,5} ;
Q={оченьплохое настроение,плохое настроение ,нормальное настроение ,}.
хорошее настроение ,очень хорошее настроение
Y ={брать ремень , ругатьсына , успокаивать сына ,}.
надеяться , радоваться , ликовать q0=нормальное настроение.
Сына, получившего двойку, будет ждать разная реакция отца в зависимости от предыстории, т. е. его предыдущих оценок, которые будут влиять на внутреннее состояние отца.
Пример 2. Английский текст, составленный из 26 букв алфавита и пробелов, просматривается с целью подсчета числа слов, начинающихся с un и заканчивающихся на d (understand, united). Для простоты обозначим пропуски символом буквой , а все другие
буквы, кроме d, n и u – буквой |
. |
|
|
X ={d , n , u , , } ; |
}. |
новое слово, ждать нового слова , появление u , |
||
Q={ |
появление un ,появление un−d |
|
Y ={считать, не считать }. q0 =ждать нового слова.
Рассмотренные примеры показывают, что конечным автоматом может представляться игра, алгоритм, живой организм, т. е. в принципе любая система, в которой выходной сигнал и состояние системы зависят от предыдущих состояний и входных состояний системы.
Понятие состояния автомата используется для описания систем, выходы которых зависят не только от входных сигналов в данный момент времени, но и от некоторой предыстории, т. е. сигналов, которые поступили на входы системы ранее. Состояние автомата соответствует некоторой памяти о прошлом, позволяя устранить время как явную переменную и выразить выходные сигналы как функцию состояний и входных сигналов.
Работу абстрактного автомата следует рассматривать применительно к конкретным интервалам времени, так как каждому интервалу дискретности t будет соответствовать свой выходной сигнал y t . Выходной сигнал на одном из выходов автомата может появиться только после соответствующего этому же моменту времени входного сигнала с одновременным переходом из состояния q t−1 в состояние q t . Время для цифрового автомата имеет также важное значение. Для решения задач анализа и синтеза цифровых автоматов обычно вводится автоматное время. Функционирование автомата рассматривается через дискретные интервалы времени конечной продолжительности (интервал дискретности).
Существует два способа введения автоматного времени, по которым цифровые автоматы делят на два класса. В синхронных автоматах моменты времени, в которых фиксируются изменения состояний автомата, задаются специальным устройством – генератором синхросигналов, выдающим импульсы через равные промежутки времени (постоянный интервал дискретности). В асинхронных автоматах моменты перехода автомата из одного состояния в другое заранее не определены и зависят от каких-то событий. В таких автоматах интервал дискретности является переменным.
Общая теория автоматов при сделанных выше допущениях разбивается на две больших части — абстрактную теорию автоматов и структурную теорию автоматов. Различие между ними заключается в том, что в абстрактной теории мы отвлекаемся от структуры как самого автомата, так и его входных и выходных сигналов. Не интересуясь способом построения автомата, абстрактная теория изучает лишь те переходы, которые претерпевает автомат под воздействием входных сигналов, и те выходные сигналы, которые он при этом выдает. Абстрактная теория автоматов близка теории алгоритмов, является ее дальнейшей детализацией.
В противоположность абстрактной теории, в структурной теории автоматов рассматриваются прежде всего структуры как самого автомата, так и его входных и выходных сигналов. В структурной теории изучаются способы построения автоматов из
элементарных автоматов, способы кодирования входных и выходных сигналов элементарными сигналами и т. п.
Автоматы классифицируют по двум наиболее распространенным признакам.
1.Объем памяти. Памятью автомата называют число его состояний.
Автоматы Поста (или Тьюринга) являются бесконечными автоматами, так как имеют неограниченную память на ленте. Конечными автоматами являются отдельные части ЭВМ или вся машина.
2. Механизм случайного выбора. В детерминированных автоматах поведение и структура автомата в каждый момент времени однозначно определены текущей входной информацией и состоянием автомата. В вероятностных автоматах они зависят от случайного выбора.
Втеории автоматов установлено, что для осуществления различных преобразований информации совсем не обязательно каждый раз строить новые автоматы: в принципе это можно сделать на универсальном автомате с помощью программы и соответствующего кодирования.
Втеории автоматов наиболее полно описаны синхронные автоматы.
Взависимости от способа определения выходного сигнала в синхронных автоматах существует две возможности:
1) |
выходной |
сигнал |
y t |
однозначно |
определяется |
входным |
сигналом |
x t |
и |
состоянием |
q t−1 автомата в предшествующий момент; |
|
|
|
|
||||
2) |
выходной |
сигнал |
y t |
однозначно |
определяется |
входным |
сигналом |
x t |
и |
состоянием |
q t в данный момент времени. Следовательно, закон функционирования |
||||||||
абстрактного автомата может быть задан следующим образом: для автомата первого рода
q t = q t−1 , x t , |
(1) |
|
{y t = q t−1 , x t , t=1,2,... ; |
||
|
||
для автомата второго рода |
|
|
q t = q t−1 , x t , |
(2) |
|
{y t = q t , x t , t=1,2, ... ; |
||
|
Рассмотрим вопрос о взаимосвязи автоматов первого и второго родов.
Пусть произвольный автомат S второго рода задан уравнениями (2). Для этого автомата построим новую функцию
1 q t−1 , x = q t−1 , x t , x t .
На основании закона функционирования (2) |
|
y t = q t−1 , x t , x t = 1 q t−1 , x t = 1 q1 , x t . |
(3) |
Получили новый автомат R первого рода, заданный той же функцией перехода |
q , x и |
функцией выходов 1 q1 , x . |
|
Таким образом, для каждого автомата S второго рода существует эквивалентный ему абстрактный автомат R первого рода, функция выходов которого получается в результате подстановки функции переходов автомата S в его сдвинутую функцию выходов:
1 q1, x = q1 , x , x .
Произвольные автоматы первого рода (формула (1)) будут называться автоматами Мили, а частный случай автоматов второго рода, для которых сдвинутая функция выходов q , x
не зависит от второй переменной |
х – автоматами Мура. |
|
|
Закон функционирования автоматов Мура задается в виде: |
|
||
q t = q t−1 , x t , |
(4) |
||
{ |
y t = q t . |
||
|
|||
В отличие от автомата Мили, выходной сигнал в автомате Мура зависит только от текущего состояния автомата и в явном виде не зависит от входного сигнала.
Между моделями Мили и Мура существует соответствие, позволяющее преобразовать закон функционирования одного из них в другой или обратно.
Совмещенная модель автомата (С-автомат). Абстрактный С-автомат – математическая модель дискретного устройства, для которого заданы следующие параметры:
Q={q1 ,... ,qs }− множество состояний; |
|
|
|
|
X ={x1 t , x2 t ... xn t }− входной алфавит; |
|
|
|
|
Y ={y1 t , y2 |
t ... y k t }− выходной алфавит типа 1; |
|
|
|
U ={u1 t ,u2 |
t ... um t }− выходной алфавит типа 2; |
|
|
|
:Q× X Q− функция переходов, реализующая отображение в D Q× X в |
Q ; |
|||
1 :Q× X Y − функция выходов, реализующая отображение |
D 1 Q×X на |
Y ; |
||
2 :Q U − функция выходов, реализующая отображение |
D 2 Q на U ; |
|
||
q0 Q− начальное состояние автомата.
Абстрактный С-автомат можно представить в виде устройства с одним входом, на который поступают сигналы из входного алфавита X, и двумя выходами, на которых появляются сигналы из выходных алфавитов Y и U (рисунок 2).
Рисунок 2 – Совмещенная модель автомата с одним входом и двумя выходами. Отличие С-автомата от моделей Мили и Мура состоит в том, что он одновременно реализует две функции выходов 1 и 2 , каждая из которых характерна для этих моделей в отдельности. Этот автомат можно описать следующей системой уравнений:
Выходной сигнал u= 2 qs выделяется все время, пока автомат находится в состоянии
qs . Выходной сигнал уk = 1 qs , хn |
выдается во время действия входного сигнала хn |
при нахождении автомата в состоянии |
qs . От С-автомата легко перейти к автоматам Мили |
или Мура (с учетом возможных сдвигов во времени на один такт), так же как возможна трансформация автомата Мили в автомат Мура, и наоборот.
