Абстрактный синтез конечного автомата

Курсовая работа

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

Можно выделить два основных аспекта работы автомата.

1. Автоматы-распознаватели, которые распознают входные слова, т.е. отвечают на вопрос, принадлежит ли поданное на вход слово данному множеству.

2. Автоматы-преобразователи, которые преобразуют входные слова в выходные, т.е. реализуют автоматные отображения.

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

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

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

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

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

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

8 стр., 3914 слов

Шпоры по теории автоматов

... изучает общие приемы построения структурных схем автоматов на основе элементарных автоматов. Абстрактная теория ... состояние автомата. Структурный ЦА – учитывает структуру входных и выходных сигналов, а также его внутреннее устройство на уровне структурных схем. Структурная теория ЦА ...

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

Внутренние состояния автомата также меняются. Моменты срабатывания (такты), определяются либо принудительно тактирующими синхросигналами, либо асинхронно, наступлением внешнего события, то есть приходом сигнала.

Существует два вида реализации конечного автомата — аппаратная и программная. В первую очередь, реализация конечного автомата требует построения устройства памяти для запоминания текущего состояния автомата. Обычно используются двоичные элементы памяти, или триггеры, запоминающие значение одного двоичного разряда.

1. АБСТРАКТНЫЙ СИНТЕЗ КОНЕЧНОГО АВТОМАТА

1.1 Формирование алфавитного оператора

Для определения параметров задания необходимо ввести первичную информацию:

  • порядковый номер в журнале;
  • год поступления;
  • номер группы;

Для данного задания это соответственно:

21, 08, 02.

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

Y1= 0,210802

Вторичная информация Y,Y3 ,Y4 получаются путем возведения 1 в степени 2, 3, 4 и удалением в дроби всех нулей между запятой и первой значимой цифрой.

Y2 = 0,444374

Y3 = 0,93675

Y4 = 0,19747

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

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

Y1 = 0011010111110111

Y2 = 0111000111000010

Y3 = 1110111111001110

Y4 = 0011001010001101

Полученные значения записываются в столбцах: первые 8 значений в левой части, вторые 8 – в правой части. Алфавитный оператор соответствия представлен в таблице 1.

Таблица 1. Алфавитный оператор соответствия

Входные сигналы Выходные сигналы
0010 1111
0110 1110
1111 1000
1101 1000
0010 0011
1010 1011
0011 1110
1110 1001

1.2 Приведение оператора к автоматному виду

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

1. Любым двум одинаковым начальным отрезкам входных слов должны соответствовать одинаковые начальные отрезки выходных слов;

2. Длина входного слова должна равняться длине выходного слова;

3. Последний символ должен возвращать автомат в начальное состояние.

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

Таким образом, автоматный вид оператора примет, следующий вид:

Таблица 2. Автоматный вид

Входные сигналы Выходные сигналы
0010 1111
0110 1110
1111 1000
1101 1000
00100000 11110011
1010 1011
0011 1110
1110 1001

1.3 Построение графа переходов абстрактного автомата

Построим по таблице 2 граф переходов автомата. При этом предполагается, что последний символ каждого входного слова должен переводит автомат в начальное состояние.

Граф переходов абстрактного автомата представлен в приложении 1.

1.4 Минимизация абстрактного автомата

По графу переходов построим таблицу переходов-выходов заданного автомата (таблица 3).

Таблица 3. Таблица переходов-выходов автомата

a(t-1) 0 1

a 0

a 1 /1

a 2 /1

a 1

a 3 /1

a 4 /1

a 2

a 10 /0

a 11 /0

a 3

a 5 /1

a 4

a 6 /1

a 5

a 8 /1

a 9 /0

a 6

a 8 /0

a 7

a 0 /-

a 0 /-

a 8

a 0 /-

a 0 /-

a 9

a 0 /-

a 0 /-

a 10

a 12 /1

a 11

a 14 /0

a 15 /0

a 12

a 13 /1

a 13

a 0 /-

a 0 /-

a 14

a 16 /0

a 15

a 17 /1

a 18 /0

a 16

a 0 /-

a 0 /-

a 17

a 0 /-

a 0 /-

a 18

a 0 /-

a 0 /-

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

0 класс эквивалентности:

a 0, a1

b 0

a 2, a11

b 1

a 14

b 2

a 3, a4, a10

b 3

a 5, a15

b 4

a 6

b 5

a 7, a8, a9, a13, a16, a17, a18

b 6

a 12

b 7

1 класс эквивалентности:

a 0

c 0

a 1

c 1

a 2

c 2

a 3

c 3

a 4

c 4

a 5, a15

c 5

a 6

c 6

a 10

c 7

a 11

c 8

a 12

c 9

a 14

c 10

a 7, a8, a9, a13, a16, a17, a18

c 11

2 класс эквивалентности:

a 0

d 0

a 1

d 1

a 2

d 2

a 3

d 3

a 4

d 4

a 5, a15

d 5

a 6

d 6

a 10

d 7

a 11

d 8

a 12

d 9

a 14

d 10

a 7, a8, a9, a13, a16, a17, a18

d 11

Из разбиения видно, что классы 1 и 2 совпадают, значит, продолжать не имеет смысла.

Таблица переходов-выходов минимизированного автомата представлена в таблице 4:

Таблица 4. Таблица переходов-выходов минимизированного автомата

d(t-1) 0 1

d 0

d 1 /1

d 2 /1

d 1

d 3 /1

d 4 /1

d 2

d 7 /0

d 8 /0

d 3

d 5 /1

d 4

d 6 /1

d 5

d 11 /1

d 11 /0

d 6

d 11 /0

d 7

d 9 /1

d 8

d 10 /0

d 5 /0

d 9

d 11 /1

d 10

d 11 /0

d 11

d 0 /-

d 0 /-

Граф переходов минимизированного автомата представлен в приложении 2.

2. СТРУКТУРНЫЙ СИНТЕЗ КОНЕЧНОГО АВТОМАТА

2.1 Кодирование состояний, входных и выходных сигналов

Для кодирования состояний, входных и выходных сигналов конечного автомата, необходимо вычислить число элементов памяти:

а) рассчитаем число элементов памяти: Н = ] log 2 h [, где h — число состояний после минимизации D = { кодирование состояний 1}

H = ] log 2 12 [ = 4

б) рассчитаем число входных (L) и выходных (М) шин:

L = ] log 2 n[

М =] log 2 m [,

где n, m — число букв входного и выходного алфавитов

Z = {0, 1} L = ] log 2 2 [ = 1

W = {0, 1} M = ] log 2 2 [ = 1

Из приведённого выше следует, что для кодирования состояний необходимо 4 элемента памяти, обозначим их Q 0 , …, Q 3 . Закодируем состояния (таблица 5) случайными кодами.

Таблица 5. Таблица кодированных состояний

d(t-1)

Q 0

Q 1

Q 2

Q 3

d 0

0 0 0 0

d 1

0 0 0 1

d 2

0 0 1 0

d 3

0 0 1 1

d 4

0 1 0 0

d 5

0 1 0 1

d 6

0 1 1 0

d 7

0 1 1 1

d 8

1 0 0 0

d 9

1 0 0 1

d 10

1 0 1 0

d 11

1 0 1 1

2.2 Формирование функций возбуждения и выходных сигналов структурного автомата

По минимизированному графу переходов абстрактного автомата (Приложение 2) можно составить таблицу переходов, выходных сигналов и сигналов возбуждения D -триггеров автомата Мили (таблица 6), Т -триггеров автомата Мили (таблица 7), RS -триггеров (таблица 8), JK -триггеров (таблица 9).

D -триггер – элемент задержки – имеет один информационный вход D и один выход Q и осуществляет задержку поступившего на его вход сигнала на один такт. Состояние, в которое переходит триггер, совпадает с поступившим на его вход сигналом D(t).

Таблица 6. Таблица переходов, выходных сигналов и сигналов возбуждения D -триггеров

Номер перехода Исходное состояние Код исходного состояния Следующее состояние Код следующего состояния Входной набор Выходные сигналы Сигналы возбуждения
0 1

D 3

D 2

D 1

D 0

1

d 0

0000

d 1

d 2

0001

0010

0

1

d 0 0

d 0 1

d 0 1

d 0 0

2

d 1

0001

d 3

d 4

0011

0100

0

1

d 1 0

d 1 1

d 1 1

d 1 0

d 1 0

3

d 2

0010

d 7

d 8

0111

1000

0

1

d 2 0

d 2 1

d 2 1

d 2 0

d 2 0

d 2 0

4

d 3

0011

d 5

0101 1

d 3 1

d 3 1

d 3 1

5

d 4

0100

d 6

0110 1

d 4 1

d 4 1

d 4 1

6

d 5

0101

d 11

1011 0Ú1

d 5 0

d 5 1

d 5

d 5 1

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

7

d 6

0110

d 11

1011 0

d 6 0

d 6 0

d 6 0

d 6 0

8

d 7

0111

d 9

1001 1

d 7 1

d 7 1

d 7 1

9

d 8

1000

d 10

d 5

1010

0101

0

1

d 8 0

d 8 1

d 8 0

d 8 1

d 8 0

d 8 1

10

d 9

1001

d 11

1011 0

d 9 0

d 9 0

d 9 0

d 9 0

11

d 10

1010

d 11

1011 1

d 10 1

d 10 1

d 10 1

d 10 1

12

d 11

1011

d 0

0000

Из таблицы следует, что выходные сигналы автомата Мили описываются следующими выражениями:

 формирование функций возбуждения и выходных сигналов структурного автомата 1 = d2 0 Úd2 1 Úd5 0 Úd6 0 Úd8 0 Úd8 1 Úd10 1= d2 Úd5 0 Úd6 0 Úd8 Úd10 1

 формирование функций возбуждения и выходных сигналов структурного автомата 2 = d0 0 Úd0 1 Úd1 0 Úd1 1 Úd3 1 Úd4 1 Úd5 1 Úd7 1 Úd9 0= d0 Úd1 Úd3 1 Úd4 1 Úd5 1 Úd7 1 Úd9 0

Также следует, что сигналы возбуждения D-триггеров автомата Мили описываются следующими выражениями:

D 3 = d2 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd8 0 Úd9 0 Úd10 1= d2 1 Úd5 Úd6 0 Úd7 1 Úd8 0 Úd9 0 Úd10 1

D 2 = d1 1 Úd2 0 Úd3 1 Úd4 1 Úd8 1

D 1 = d0 1 Úd1 0 Úd2 0 Úd4 1 Úd5 0 Úd5 1 Úd6 0 Úd8 0 Úd9 0 Úd10 1=

=d 0 1 Úd1 0 Úd2 0 Úd4 1 Ú d5 Ú d6 0 Úd8 0 Úd9 0 Úd10 1

D 0 = d0 0 Úd1 0 Úd2 0 Úd3 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd8 1 Úd9 0 Úd10 1=

=d 0 0 Úd1 0 Úd2 0 Úd3 1 Úd5 Úd6 0 Úd7 1 Úd8 1 Úd9 0 Úd10 1

Функциональная схема автомата Мили на D-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 3.

Таблица 7. Таблица переходов, выходных сигналов и сигналов возбуждения T -триггеров

Номер перехода Исходное состояние Код исходного состояния Следующее состояние Код следующего состояния Входной набор Выходные сигналы Сигналы возбуждения
0 1

T 3

T 2

T 1

T 0

1

d 0

0000

d 1

d 2

0001

0010

0

1

d 0 0

d 0 1

d 0 1

d 0 0

2

d 1

0001

d 3

d 4

0011

0100

0

1

d 1 0

d 1 1

d 1 1

d 1 0

d 1 1

3

d 2

0010

d 7

d 8

0111

1000

0

1

d 2 0

d 2 1

d 2 1

d 2 0

d 2 1

d 2 0

4

d 3

0011

d 5

0101 1

d 3 1

d 3 1

d 3 1

5

d 4

0100

d 6

0110 1

d 4 1

d 4 1

6

d 5

0101

d 11

1011 0Ú1

d 5 0

d 5 1

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

7

d 6

0110

d 11

1011 0

d 6 0

d 6 0

d 6 0

d 6 0

8

d 7

0111

d 9

1001 1

d 7 1

d 7 1

d 7 1

d 7 1

9

d 8

1000

d 10

d 5

1010

0101

0

1

d 8 0

d 8 1

d 8 1

d 8 1

d 8 0

d 8 1

10

d 9

1001

d 11

1011 0

d 9 0

d 9 0

11

d 10

1010

d 11

1011 1

d 10 1

d 10 1

12

d 11

1011

d 0

0000

Из таблицы следует, что сигналы возбуждения T-триггеров автомата Мили описываются следующими выражениями:

T 3 = d2 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd8 1= d2 1 Ú d5 Úd6 0 Úd7 1 Úd8 1

T 2 = d1 1 Úd2 0 Úd3 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd8 1= d1 1 Úd2 0 Úd3 1 Úd5 Úd6 0 Úd7 1 Úd8 1

T 1 = d0 1 Úd1 0 Úd2 1 Úd3 1 Úd4 1 Úd5 0 Úd5 1 Úd7 1 Úd8 0 Úd9 0= d0 1 Úd1 0 Úd2 1 Úd3 1 Úd4 1 Úd5 Úd7 1 Úd8 0 Úd9 0

T 0 = d0 0 Úd2 0 Úd6 0 Úd8 1 Úd10 1

Функциональная схема автомата Мили на T-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 4.

Таблица 8. Таблица переходов и сигналов возбуждения RS -триггеров

Номер перехода Сигналы возбуждения

R 3

S 3

R 2

S 2

R 1

S 1

R 0

S 0

1

d 0 1

d 0 0

2

d 1 1

d 1 0

d 1 1

3

d 2 1

d 2 0

d 2 1

d 2 0

4

d 3 1

d 3 1

5

d 4 1

6

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

7

d 6 0

d 6 0

d 6 0

8

d 7 1

d 7 1

d 7 1

9

d 8 1

d 8 1

d 8 0

d 8 1

10

d 9 0

11

d 10 1

12

Из таблицы следует, что сигналы возбуждения RS-триггеров автомата Мили описываются следующими выражениями:

R 3 = d8 1

S 3 = d2 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd9 0= d2 1 Úd5 Úd6 0 Úd7 1 Úd9 0

R 2 = d5 0 Úd5 1 Úd6 0 Úd7 1= d5 Úd6 0 Úd7 1

S 2 = d1 1 Úd2 0 Úd3 1 Úd8 1

R 1 = d2 1 Úd3 1 Úd7 1

S 1 = d0 1 Úd1 0 Úd4 1 Úd5 0 Úd5 1 Úd8 0= d0 1 Úd1 0 Úd4 1 Úd5 Úd8 0

R 0 = d1 1

S 0 = d0 0 Úd2 0 Úd6 0 Úd8 1 Úd10 1

Функциональная схема автомата Мили на RS-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 5.

Таблица 9. Таблица переходов и сигналов возбуждения JK -триггеров

Номер перехода Сигналы возбуждения

J 3

K 3

J 2

K 2

J 1

K 1

J 0

K 0

1

d 0 1

d 0 0

2

d 1 1

d 1 0

d 1 1

3

d 2 1

d 2 0

d 2 1

d 2 0

4

d 3 1

d 3 1

5

d 4 1

6

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

d 5 0

Ú

d 5 1

7

d 6 0

d 6 0

d 6 0

8

d 7 1

d 7 1

d 7 1

9

d 8 1

d 8 1

d 8 0

d 8 1

10

d 9 0

11

d 10 1

12

Из таблицы следует, что сигналы возбуждения RS-триггеров автомата Мили описываются следующими выражениями:

J 3 = d2 1 Úd5 0 Úd5 1 Úd6 0 Úd7 1 Úd9 0= d2 1 Úd5 Úd6 0 Úd7 1 Úd9 0

K 3 = d8 1

J 2 = d1 1 Úd2 0 Úd3 1 Úd8 1

K 2 = d5 0 Úd5 1 Úd6 0 Úd7 1= d5 Úd6 0 Úd7 1

J 1 = d0 1 Úd1 0 Úd4 1 Úd5 0 Úd5 1 Úd8 0= d0 1 Úd1 0 Úd4 1 Úd5 Úd8 0

K 1 = d2 1 d3 1 d7 1

J 0 = d0 0 Úd2 0 Úd6 0 Úd8 1 Úd10 1

K 0 = d1 1

Функциональная схема автомата Мили на JK-триггерах, построенная по выражениям, описывающим выходные сигналы, приведена в Приложении 6.

ЗАКЛЮЧЕНИЕ

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

В данной работе мной было выполнено проектирование конечного автомата по алфавитному отображению с использованием канонического метода структурного синтеза автоматов. Построены граф переходов абстрактного автомата с 17 состояниями и таблицы переходов-выходов. Минимизация состояний автомата выполнена путем разбиения на группы эквивалентных между собой состояний. После чего был построен минимальный граф Мили с 11 состояниями. Выполнен структурный синтез конечного автомата. Построены функциональные схемы автомата Мили на D, T, RS и JK-триггерах.

СПИСОК ЛИТЕРАТУРЫ

[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/kursovyie-rabotyi-teoriya-avtomatov/

1. Баранов С.И. Синтез микропрограммных автоматов (граф-схемы и автоматы).

– 2-е изд., перераб. и доп. – Л.: Энергия, 1979. – 232 с., ил.

2. Дегтярев В.М., Ерош И.Л., Михайлов В.В. Проектирование цифровых автоматов.-Л.:ЛИАП, 1974г.

3. Козин И.В., Иванов Н.М., Лупал А.М. Проектирование управляющих автоматов по алфавитному отображению. Учебное пособие по курсовому проектированию/ЛИАП. – Л., 1991. – 82 с., ил.

4. Лупал А.М. Теория автоматов. Учебное пособие/СПбГУАП. – СПб., 2000. – 120 с., ил.

5. Лысиков Б.Г. Арифметические и логические основы цифровых автоматов. Учебник для вузов по спец. «Электронные вычислительные машины». – 2-е изд., перераб. и доп. – Мн.: Выш. школа, 1980. – 336 с., ил.

6. Конспект лекций по дисциплине «Теория автоматов», преподаватель Глебов Е.А., 2005-2006 уч.г.

ТРИГГЕРЫ Общие сведения о триггерах Триггер — логическое устройство, способное хранить 1 бит данных. К триггерным принято относить все устройства …

Общие сведения о триггерах

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

Разрешающий вход Е0-1 аналогичен синхронизирующему входу D- триггера и используется для управления сразу двумя триггерами D0 и D1 внутри ИС.

Раздел:

Тип: учебное пособие

СТРУКТУРНАЯ СХЕМА ЦИФРОВОГО АВТОМАТА ЦА представляет собой последовательностную схему и служит для обработки дискретной информации структурная схема …

Функции возбуждения триггеров и формирование выходных сигналов .

В исходном состоянии а0 = 1, при этом на триггер Т0 действуют управляющие сигналы S0=1 и R0=0. На триггер Т1 действуют управляющие сигналы S1=R1=0,.на триггер Т2 действуют …

Раздел:

Тип: реферат

Министерство образования Российской Федерации Архангельский государственный технический университет Факультет промышленной энергетики, IV курс 3 …

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

На входах 10, 13, 12, 11 дешифратора D1 будет комбинация 1000, а на входах 10, 13, 12, 11 дешифратора D2 будет комбинация 1001.

Раздел:

Тип: курсовая работа

Министерство общего и профессионального образования РФ Вятский государственный технический университет Факультет автоматики и вычислительной техники …

На основе отмеченной ГСА построен граф автомата Мили (рисунок 4).

Граф автомата Мили имеет 10 вершин, соответствующих состояниям автомата а0, а1,…,а9, дуги его отмечены входными

Логические выражения для каждой функции возбуждения D-триггера получают по таблице как конъюнкции соответствующих исходных состояний am и входных сигналов , которые объединены …

Раздел:

Тип: реферат

… Южно-Уральский Государственный Университет Кафедра Автоматики и Управления Пояснительная записка к курсовой работе по курсу: «Цифровые автоматы » …

Цифровой автомата (первого или второго рода) называется правильным, если выходной сигнал y(t) определяется одним лишь его состоянием (a(t-1) или a(t)) и не зависит явно от входного

Структурный синтез цифрового автомата — это кодирование его входных и переменных и состояний автомата и получение функции возбуждения и функций выходов триггера .

Раздел:

Тип: курсовая работа