Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2042

.pdf
Скачиваний:
36
Добавлен:
07.01.2021
Размер:
2.75 Mб
Скачать

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

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

переменной xi , а Yi – алфавит выходной переменной yi . Конечный автомат с n входами и m выходами характеризуется входным

алфавитом

X X1 X2 ... Xn

и

выходным

алфавитом

Y Y1 Y2 ... Ym ,

причем

символами

входного

алфавита служат

слова

x x1,...,xn

длины

n,

а символами выходного алфавита –

слова

y y1, y2,..., ym длины

m ,

где

xi Xi и

yi Yi . Тогда в

упрощенном виде конечный автомат можно представить в виде

схемы, изображенной на рис. 5.1., где

М – устройство,

преобразующее входные сигналы в выходные.

 

x1

 

 

y1

М

 

x2

 

y2

 

 

xn

 

 

ym

Рис. 5.1

 

 

 

Пусть Q1,Q2,...,Qk – конечные алфавиты переменных состояния q1,q2,...,qk , тогда множество состояний (алфавит) Q Q1 Q2 ...Qk .

Подчеркнем, что все указанные алфавиты конечны.

Из разъяснений понятия состояния, приведенных ранее, следует,

что, во-первых, значения совокупности выходных переменных на -м

такте

y y1 , y2 ,..., ym

однозначно

определяются

значениями

входных

переменных

x x1 , x2 ,...,xn и

состоянием

q q1 ,q2 ,...,qk

на том же

такте, то есть

y x ,q , и,

во-вторых, состояние q 1

в следующем

1 -м такте однозначно определяется входными переменными x и состоянием q в предыдущем такте, то есть q 1 x ,q . Функции q 1 , y часто называют характеристическими

функциями, причём q 1 - функция переходов, y - функция

выходов.

Для того чтобы сохранять предыдущие состояния до следующего такта, автомат должен обладать памятью. Тогда общая блок-схема функционирования автомата может быть представлена в виде, изображенном на рис. 5.2. Комбинационная часть реализует характеристические функции и .

После того, как объяснены основные понятия и термины, можно дать точное определение конечного автомата.

x

Комбинационная часть

Память

y q 1

Рис. 5.2

Конечным автоматом называется упорядоченная пятерка

Α X,Y,Q,δ,λ ,

где X,Y,Q – непустые конечные множества; X – входной алфавит, а

его элементы – входные сигналы, их последовательности – входные слова; Y – выходной алфавит, его элементы – выходные сигналы, а их последовательности – выходные слова; Q – множество (внутренних)

состояний;

– функция переходов,

: X Q Q ; – функция

выходов, : X Q Y .

 

 

Мощности множеств X,Y,Q равны соответственно

 

n

m

k

 

pi , ri , si ,

где pi ,ri ,si -

i 1

i 1

i 1

количество символов в алфавитах входной переменной

xi , выходной переменной yi и переменной состояния si .

При двоичной структуре

всех

алфавитов мощности равны

соответственно 2n ,2m ,2k .

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

сигналы из множества X и выдавать сигналы из множества Y .

Способы задания автоматов

Автомат может быть задан различными способами, например, путем словесного описания функционирования или перечислением элементов множеств X,Y,Q с указанием отношений между ними. При

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

Элементы множеств X,Y,Q можно пронумеровать порядковыми

числами, начиная

с нуля, например:

X 0,1, 2,3 ;

Y 0,1 ;

Q 0,1,2,3 . Тогда

характеристические

функции и

можно

представить двумя таблицами, строки которых соответствуют состояниям, а столбцы – входам.

Таблица 5.1 Таблица 5.2

x

0

1

2

3

q

 

 

 

 

 

 

 

 

 

0

3

2

1

3

1

3

2

1

3

2

3

2

2

3

3

3

0

0

1

x

 

0

1

2

3

q

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

0

0

0

1

 

1

0

0

1

2

 

1

0

1

1

3

 

0

0

1

1

Табл. 5.1 соответствует функции q 1 x ,q , эту

таблицу называют таблицей переходов. В клетки этой таблицы записывают внутренние состояния автомата q 1 , в которые

переходит автомат из состояния q в данный тактовый момент с номером при воздействии x .

Табл. 5.2 соответствует функции y x ,q . Эту таблицу

называют таблицей выходов. В клетки этой таблицы записывают значения выходов y в данный тактовый момент с номером ,

которые соответствуют воздействию на входе x и состоянию q

в тот же момент.

Обе таблицы обычно объединяют в общую таблицу переходов, при этом в клетках записывают пары чисел: номер следующего состояния в числителе и номер выхода в знаменателе. Такое представление показано в табл. 5.3.

Таблица 5.3

x

0

1

2

3

q

 

 

 

 

0

3/0

2/0

1/0

3/0

 

 

 

 

 

1

3/1

2/0

1/0

3/1

 

 

 

 

 

2

3/1

2/0

2/1

3/1

 

 

 

 

 

3

3/0

0/0

0/1

1/1

 

 

 

 

 

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

Граф автомата строится таким образом, что его вершины соответствуют состояниям автомата и однозначно помечаются символами из множества Q (каждый символ из Q используется ровно

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

На рис. 5.3 показан граф, построенный в соответствии с приведенной выше общей таблицей переходов (см. табл. 5.3).

Так как из состояния 0 автомат переходит в состояния 1, 2,3, то из вершины 0 графа исходят дуги в вершины 1, 2,3. При этом переход

в состояние 1 совершается под воздействием входа 2 и ему соответствует выход 0, поэтому дуга из вершины 0 в 1 помечается как

20 . Переход в состояние 2 совершается под воздействием 1 и ему соответствует выход 0, поэтому дуга из вершины 0 в 2 помечается как 10 . Переходы в состояние 3 совершаются под воздействием 0 и 3 и им обоим соответствует выход 0, поэтому дуга из вершины 0 в 3

помечается как дизъюнкция 00 30 . Аналогично определяются и

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

Рассматриваемый автомат переходит из состояния 2 в 2 под воздействиями 1 и 2, которым соответствуют выходы 0 и 1. Поэтому

петля при вершине 2 помечается как дизъюнкция 10 21 .

Матрица переходов (или матрица соединения) автомата А представляет собой квадратную таблицу, в которой номера строк и столбцов соответствуют номерам состояний. Клетка матрицы на пересечении i -й строки и j -го столбца заполняется дизъюнкцией пар

«вход-выход», которая приписана дуге графа, исходящей из i -й в j

вершину. При отсутствии такой ветви клетка заполняется нулем (или остается свободной).

 

2 0

 

 

 

 

 

2 0

 

 

 

 

 

 

1

 

 

 

 

10

 

 

 

 

1

 

 

1

2

 

 

 

0

 

2

0

1

 

 

1

 

 

0

 

3

 

 

 

 

 

 

 

 

 

1

1

 

0

3

0

3

 

3

 

0

0

1

 

1

 

1

1

2

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

3

00

 

 

 

 

 

 

Рис. 5.3

Для рассматриваемого примера получена табл. 5.4.

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.4

 

 

0

 

1

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1

 

0

 

3

0

0

 

 

 

 

1

 

0

 

0

 

 

А=

 

 

 

2

 

1

 

0

 

3

1

1

 

 

 

0

 

0

 

1

 

 

 

 

 

 

 

1

 

2

0

 

3

1

2

 

 

 

 

 

0

1

1

 

 

 

1

 

2

3

 

 

 

 

0

 

 

3

 

0

1

1

 

 

 

 

0

 

 

 

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

наборами символов

(или их

номеров) из

алфавитов X

и Y

одинаковой

длины

.

Для

такого

описания,

кроме

характеристических функций, необходимо определить или задать начальное состояние автомата.

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

номерами вершин, через которые проходит этот путь.

 

Для графа

на

рис. 5.3

для

входной

последовательности

2,0,1,1, 2,3

и

начального

состояния 0

имеем

выходную

последовательность

0,1,0,0,1,1 и

смену

состояний

автомата

1,3,0, 2, 2,3 .

При

начальном

состоянии 2 и той же входной

последовательности

получаем

соответственно 1,1,0,0,1,1 и

2,3,0, 2, 2,3 .

 

 

 

 

 

 

 

Типы конечных автоматов

Различают комбинационные и последовательностные автоматы.

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

такого автомата можно описать некоторыми однозначными функциональными зависимостями между его входными и выходными переменными:

y1 1 x1,..., xn ; y2 2 x1,..., xn ;

…………………;

ym 1 x1,..., xn .

Таким образом, для комбинационных автоматов функция перехода не имеет смысла, а функция выходов вырождается к виду y x . Их называют автоматами без памяти или

тривиальными автоматами. Схема такого автомата изображена на рис. 5.1.

П р и м е р . Пусть на входе имеются три переменные x1, x2, x3 , а на выходе – две логические функции y1, y2 . Допустим, что на выходах

имеем значения x1 1; x2

0; x3

1; значения

выходов при

указанных значениях входов

будут

y1 1;

y2 0 .

Если автомат

комбинационный, то изменение комбинации состояния его выходов

(например, y1 0;

y2 0 ) возможно лишь

в случае

изменения

состояния его входов (допустим, что x1 1; x2

0; x3 0

или x1 0;

x2 0; x3 1). Каждая комбинация выходов однозначно определена той или иной комбинацией входов. Тогда выходную функцию y1

можно выразить булевыми функциями:

y1 x1 x2 x3; y1 x1 x2 x3 x1 x2 x3

или представить таблицей истинности (табл. 5.5).

 

 

 

 

Таблица 5.5

x1

x2

x3

y1

y2

1

0

1

1

0

1

0

0

0

0

0

0

1

0

0

В последовательностных автоматах одна и та же совокупность состояний входных символов может в разные тактовые моменты цикла определять разные состояния выходных функций. Например, на -м такте при совокупности входов x1 1; x2 0; x3 0 выходная

функция y1 0, а на k -м такте при такой же совокупности

входов выходная функция y1 1 (табл. 5.6). Таким образом, условия работы этого автомата противоречивы.

 

 

 

 

Таблица 5.6

 

 

 

 

Таблица 5.7

 

x1

 

x2

 

x3

y1

 

 

x1

x2

x3

 

z

 

y1

 

1

 

0

 

0

0

 

 

1

0

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

0

1

 

 

1

0

0

 

1

 

1

 

 

Различные внутренние состояния автомата в этом случае

определяются

 

не

только

состояниями

входов,

 

но

и

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

Переменная z является одновременно и функцией выхода и входной переменной, однако не изменяет количество входных переменных и на блок-схеме автомата имеет вид обратной связи. В этом случае функция y1 будет определена следующими логическими

выражениями:

y1 x1 x2 x3 z ; y1 x1 x2 x3 z .

Наличие памяти z обусловливает внутренние состояния автомата q , которые, в свою очередь, определяют выходную функцию y ,

наряду с состояниями входов x . Очевидно, в последовательностных

автоматах присутствуют и функции переходов и функции выхода.

Если характеристические функции и определены для всех наборов из множества X Q , то такой автомат называют полным;

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

или частично определенным и его таблицы выходов и переходов будут иметь некоторые незаполненные клетки.

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

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

П р и м е р . Граф автомата Мура представлен на рис. 5.4. Выход этого автомата определяется однозначно тем состоянием, в которое автомат переходит после приема входного сигнала. Например, в состояние 1 можно прийти по трем переходам: из состояния 0 под воздействием входного сигнала b , из состояния 2 под воздействием

входаab , из состояния 1 также под воздействием входа b .

 

 

 

b

а/0

 

 

b/2

b

 

 

 

 

 

 

 

0

b/2

1

0 0

1 2

 

 

 

 

 

 

 

 

b

 

 

а/0

 

b/2

 

a

 

 

 

 

 

 

 

 

 

 

b/1

 

 

b

 

 

а/2

a

 

2

 

3

 

 

 

 

 

 

 

2 2

3 1

 

 

 

 

 

Рис. 5.4

 

 

 

 

Рис. 5.5

 

Во всех трех случаях выходная реакция автомата одна и та же: на выходе образуется сигнал y2 . Эквивалентный этому автомату Мура

автомат Мили изображен на рис. 5.5.

П р и м е р . Пусть функция переходов автомата принимает значение входного символа, то есть q 1 x , а функция выходов

– значение состояния, то есть y q . Общая таблица переходов

такого автомата представлена табл. 5.8. Формирование выходной последовательности при различных начальных состояниях автомата в зависимости от входной последовательности показана в табл. 5.9.

Таблица 5.8

x

0 1

q

000 10

1

0 1

1 1

 

 

Таблица 5.9

x

0

0

1

1

0

1

0

0

0

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

0

0

0

1

1

0

1

0

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

1

0

0

1

1

0

1

0

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1

 

0 0

0

1

1 1

10

Рис. 5.6

Согласно табл. 5.9, автомат на выходе независимо от своего начального состояния просто сдвигает все входные символы на одну позицию вправо. Обычно такой автомат называют автоматом задержки на один такт. Граф его представлен на рис. 5.6.

Контрольные вопросы

1.Дайте определение конечного автомата.

2.Укажите структурную схему конечного автомата и дайте комментарии к ней.

3.Дайте определения основным типам конечных автоматов.

4.Укажите способы задания конечных автоматов.

 

 

Упражнения

 

1. Дан граф автомата

Мили с входным

алфавитом X x1, x2 ,

выходным алфавитом Y y1, y2, y3 и состояниями S s1,s2,s3 :

 

 

s2

 

x1

y1

x2

y2

 

 

x2 y2

 

x1 y1

 

s1

 

s3

 

 

x1 y3

Представить этот автомат общей таблицей переходов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]