Глава 2. Конечные автоматы


Лекция 5. Конечные автоматы

 

 

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

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

Строгое определение понятия состояния связывается с той ролью, которое оно играет при описании конечных автоматов. Во-первых, значения совокупности выходных переменных на -м такте однозначно определяется значениями входных переменных и состоянием на том же такте, т. e. . Во-вторых, состояние в следующем -м такте однозначно определяется входными переменными и состоянием в предыдущем такте, т. е. .

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

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

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

Конечный автомат определяется как система с конечным входным алфавитом , конечным выходным алфавитом , конечным множеством состояний и двумя характеристическими функциями:

;

,

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

Рис. 13.

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

,

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

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

Автомат называется конечным, если конечны множества , , .

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

Автомат носит название инициального, если в нем выделено начальное состояние .

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

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

Среди многообразия различных способов задания автомата наибольшее распространение получили табличный и графический. В первом случае автомат Мили описывается в виде двух таблиц. Одна из них, называемая таблицей переходов, задает функцию d (табл. 5), вторая, называемая таблицей выходов, задает функцию l (табл. 6). Для приведенных таблиц определены множества S = {s1,s2,s3,s4}, X = {x1,x2}, Y = {y1,y2,y3,y4,y5}.

Табл. 5 Табл. 6 Табл. 7
s1 s2 s3 s4 s1 s2 s3 s4 s1 s2 s3 s4
x1 s2 s2 s1 s1 x1 y1 y1 y2 y4 x1 s2/y1 s2/y1 s1/y2 s1/y4
x2 s4 s3 s4 s3 x2 y5 y3 y4 y5 x2 s4/y5 s3/y3 s4/y4 s3/y5

Каждому столбцу обеих таблиц поставлено в соответствие одно состояние автомата из множества S, каждой строке – один входной сигнал из множества X. На пересечении столбца sj и строки xi в таблице переходов записывается состояние ss, в которое должен перейти автомат из состояния sj под действием входного сигнала xi, т.е. ss = d(sj, xi). На пересечении столбца sj и строки xi в таблице выходов записывается выходной сигнал yg, выдаваемый автоматом в состоянии sj при поступлении на вход сигнала xi, т.е. yg = l(sj, xi). Иногда пользуются одной совмещенной таблицей (табл. 7).

Автомат Мура задается одной таблицей переходов (табл. 8), в которой каждому столбцу приписаны не только состояние sj, но и выходной сигнал yg, соответствующий этому состоянию, т.е. yg = l(sj).
Табл. 8
s1 s2 s3 s4
y3 y2 y3 y1
x1 s1 s3 s1 s4
x2 s2 s4 s4 s1

 

Для табл. 8 определены множества S={s1,s2,s3,s4}, X={x1,x2}, Y={y1,y2,y3}. Для частичных автоматов Мили и Мура в рассмотренных таблицах на месте неопределенных состояний и выходных сигналов ставится прочерк.

Граф автомата – это ориентированный граф, вершины которого соответствуют состояниям, а дуги – переходам между ними. Дуга, направленная из вершины sj в вершину ss, задает переход в автомате из состояния sj в состояние ss. В начале дуги записывается входной сигнал xi, вызывающий данный переход, т. е. ss = d(sj, xi). Для графа автомата Мили выходной сигнал yg, формируемый на переходе, записывается в конце дуги, а для автомата Мура – рядом с вершиной sj, отмечающей состояние sj, в котором он формируется. Графы автоматов Мили и Мура, построенные по табл. 7 и табл. 8, приведены на рис. 14 и рис. 15 соответственно.

Рис. 14 Рис. 15

С помощью графа автомата легко выделить следующие характерные типы его состояний:

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

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

3) изолированное состояние, из которого нельзя перейти ни в какое другое состояние и в него нельзя попасть ни из какого другого состояния (соответствующая вершина содержит только петлю).

Реализация конечных автоматов сводится к синтезу соответствующей комбинационной схемы, преобразующей входные переменные и в выходные переменные и в соответствии с заданными характеристическими функциями и . Для сохранения состояний до следующего такта в цепь обратной связи вводится необходимое количество элементов памяти. При реализации автоматов в двоичном алфавите можно использовать рассмотренные ранее методы синтеза комбинационных схем. Но для этого необходимо закодировать состояния схемы и представить характеристические функции в виде булевых функций двоичных переменных. Такое кодирование можно осуществить преобразованием общей (совмещенной) таблицы перехода автомата к таблице соответствия в двоичном структурном алфавите. Если элементы множеств X, Y и S пронумерованы порядковыми числами, начиная с нуля, то им соответствуют коды, представляющие собой двоичные эквиваленты этих чисел. Пусть, например, автомат задан таблицей переходов (табл. 9) и таблицей выходов (табл. 10). Пронумеровав элементы множеств X, Y и S порядковыми числами, например, X={0,1,2,3}, Y ={0,1} и S ={0,1,2,3}, можно получить таблицу переходов (табл. 11), таблицу выходов (табл. 12) и общую (совмещенную) таблицу (табл.13). Далее эту таблицу можно преобразовать к виду (табл. 14).

 

 

Табл. 9   Табл. 10
  x1 x2 x3 x4     x1 x2 x3 x4
s1 s4 s3 s2 s4   s1 y1 y1 y1 y1
s2 s4 s3 s2 s4   s2 y2 y1 y1 y2
s3 s4 s3 s3 s4   s3 y2 y1 y2 y2
s4 s4 s1 s1 s2   s4 y1 y1 y2 y2

 

Табл. 11   Табл. 12   Табл. 13
xi si   xi si   xi si
    3/0 2/0 1/0 3/0
    3/1 2/0 1/0 3/1
    3/1 2/0 2/1 3/1
    3/0 0/0 0/1 1/1

 

Табл. 14
     
     
     
     

 

Заменяя десятичные числа в табл. 14 их двоичными эквивалентами, читаемыми сверху вниз, получаем таблицу соответствия (табл. 15), в которой значения функций и представлены двоичными кодами.

Из табл. 15 видно, что комбинационная схема должна иметь четыре входа, соответствующие входным переменным , и переменным состояния , , а также три выхода, соответствующие переменным состояния , и выходной переменной . Синтезировав комбинационную схему, соответствующую полученной таблице истинности (табл. 15) и введя два элемента памяти (триггера) T1 и T2, построим структурную схему автомата (рис. 16).

 

Табл. 15
     
     
     
     
     
     
     

 

Рис. 16.

 

Контрольные вопросы к лекции 5

 

5-1. Чем последовательностные устройства отличаются от комбинационных?

5-2. Какой автомат называется конечным?

5-3. Что содержит множество состояний автомата?

5-4. Почему последовательностные схемы называются автоматами с памятью?

5-5. Как описывается конечный автомат?

5-6. Какие функции называются характеристическими функциями конечного автомата?

5-7. Что связывает функция переходов конечного автомата?

5-8. Что связывает функция выходов конечного автомата?

5-9. Из каких структурных элементов состоит общая блок-схема конечного автомата?

5-10. Чем отличаются автоматы первого и второго рода?

5-11. Какой автомат называется инициальным?

5-12. Какой автомат называется полностью определенным?

5-13. Какой автомат называется частичным?

5-14. Что представляет собой граф автомата?

5-15. Чему соответствуют вершины графа автомата?

5-16. Чему соответствуют дуги графа автомата?

5-17. Как размечаются дуги графа автомата первого рода?

5-18. Как размечаются дуги графа автомата второго рода?

5-19. Какое состояние автомата называется преходящим?

5-20. Какое состояние автомата называется тупиковым?

5-21. Какое состояние автомата называется изолированным?

5-22. Чем определяется количество элементов памяти в структурной схеме автомата?

5-23. На основе чего синтезируется комбинационная схема в структурной схеме автомата?

 




Дата добавления: 2016-09-06; просмотров: 3590;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.026 сек.