Тема 10. Синтез автоматов. Абстрактный уровень проектирования автомата.
Термин «автомат», как правило, используется в двух аспектах. С одной стороны, автомат - это устройство, выполняющее некоторые функции без непосредственного участия человека. В этом смысле мы говорим, что ЭВМ – автомат, так как после загрузки программы и исходных данных ЭВМ решает заданную задачу без участия человека. С другой стороны, термин «автомат» как математическое понятие обозначает математическую модель реальных технических автоматов. Автомат есть система
,
где
–входной алфавит;
- выходной алфавит;
- алфавит внутренних состояний;
–функция переходов;
–функция выходов.
Автомат называется конечным, если множество его внутренних состояний и множество значений входных сигналов – конечные множества.
На практике часто используется понятие цифрового автомата, под которым понимают устройство, предназначенное для преобразования информации. С общей точки зрения, процесс получения информации есть ни что иное, как процесс снятия неопределенности в результате того, что из некоторой совокупности возможных в данной конкретной ситуации явлений выделяется явление, фактически имевшее место. Таким образом, в понятии информации существенно не само происшедшее явление, а лишь его отношение к совокупности явлений, которые могли произойти.
Устройства, служащие для преобразования дискретной информации, называются дискретными автоматами.
В современных дискретных автоматах принято обычно отождествлять буквы
используемого стандартного алфавита с цифрами той или иной системы счисления.
В состав цифровых автоматов обязательно входят запоминающие элементы
(элементы памяти). Выходные сигналы в таких автоматах формируются в зависимости от входных сигналов и состояний, в которых находятся элементы памяти. Поэтому дискретные автоматы принято называть также цифровыми автоматами.
Основным качеством, выделяющим дискретные автоматы из числа всех других преобразователей информации, является наличие дискретного множества внутренних состояний и свойства скачкообразного перехода автомата из одного состояния в другое. Скачкообразность перехода означает возможность трактовать этот переход как мгновенный, хотя для любого реально существующего автомата имеет место конечная длительность переходных процессов, так что требование скачкообразности перехода не удовлетворяется.
Второе допущение состоит в том, что после перехода автомата в произвольное состояние переход в следующее состояние оказывается возможным не ранее, чем через некоторый фиксированный для данного автомата промежуток времени t> 0, так называемый интервал дискретности автомата. Это допущение дает возможность рассматривать функционирование цифрового автомата вдискретном времени. При построении автоматов с дискретным автоматным временем различают синхронные и асинхронные автоматы.
В синхронных автоматах моменты времени, в которые оказывается возможным изменение состояния автомата, определяются специальным устройством –генератором синхронизирующих импульсов. Соседние моменты времени оказываются при этом обычно разделенными равными временными промежутками.
В асинхронных автоматах моменты переходов из одного состояния в другое заранее не определены и могут совершаться через неравные между собой промежутки времени.
Изменения состояний цифрового автомата вызываются входными сигналами, которые возникают вне автомата и передаются в автомат по конечному числу входных каналов. В отношении входных сигналов цифровых автоматов принимаются два допущения: во-первых, для любого цифрового автомата число различных входных сигналов обязательноконечно, а, во-вторых, входные сигналы рассматриваются какпричина перехода автомата из одного состояния в другое и относятся к моментам времени, определяемым соответствующими им переходами.
Отметим, что при таком допущении входной сигнал рассматривается как мгновенный, хотя в действительности он имеет конечную длительность. Особо следует подчеркнуть, что реальный физический входной сигнал, вызывающий изменение состояния автомата в момент времени t, может кончиться до наступления этого момента, однако, тем не менее, он относится именно к текущему моменту времени t, а не к предыдущему (t –1).
Результатом работы цифрового автомата является выдача выходных сигналов,
передаваемых из автомата во внешние цепи по конечному числу выходных каналов. В отношении выходных сигналов вводятся допущения, аналогичные допущениям для входных сигналов. Во-первых, число различных выходных сигналов для любого цифрового автомата всегда конечно. Во-вторых, каждому отличному от нуля моменту автоматного времени относится соответствующий ему входной сигнал. Реальный физический выходной сигнал y(t), отнесенный к моменту времени t, появляется всегда после соответствующего этому же моменту времени входного сигнала x(t). Что же касается момента времени t перехода автомата из состояния q(t–1) в состояние q(t), то сигнал y(t) может фактически появится либо раньше, либо позже этого момента.
В первом случае принимается, что выходной сигнал y(t) однозначно определяется входным сигналом x(t) и состоянием q(t–1) автомата в предыдущий момент времени, во втором случае сигнал y(t) однозначно определяется парой (x(t), q(t)). Будем считать, что для любого момента времени всегда имеет место лишь одна из этих возможностей (одновременно для всех переходов).
Цифровые автоматы, в которых выходной сигнал y(t) определяется парой (x(t), q(t – 1)), будем называть автоматами первого рода, а автоматы, в которых сигнал y(t) определяется парой (x(t), q(t)), –автоматами второго рода.
Цифровой автомат (первого или второго рода) называется правильным, если выходной сигнал y(t) определяется одним лишь его состоянием (q(t –1) или q(t)) и не зависит явно от входного сигнала x(t).
Автоматы первого рода обычно называют автоматами Мили, а автоматы второго рода –автоматами Мура.
Законы функционирования автоматов:
а) для автоматов первого рода (автоматов Мили)
,
;
б) для автоматов второго рода
,
;
в) для правильных автоматов второго рода (автоматов Мура)
,
.
Общая теория автоматов при сделанных выше допущениях разбивается на две большие части, которым присвоены названия абстрактной теории автоматов иструктурной теории автоматов. Различие между ними заключается в том, что в абстрактной теории не учитываются структура как самого автомата, так и структуры его входных и выходных сигналов. Входные и выходные сигналы рассматриваются при этом просто как буквы двух фиксированных для данного автомата алфавитов: входного и выходного. Не интересуясь способом построения автомата, абстрактная теория изучает лишь те переходы, которые претерпевает автомат под воздействием входных сигналов, и те выходные сигналы, которые он при этом выдает.
В противоположность абстрактной теории, структурная теория автоматов учитывает структуры автомата и его входных и выходных сигналов. В структурной теории изучаются способы построения автоматов из нескольких элементарных автоматов, способы кодирования входных и выходных сигналов элементарными сигналами, передаваемыми по реальным входным и выходным каналам.
Таким образом, структурная теория автоматов является продолжением и дальнейшим развитием абстрактной теории. В частности, задача синтеза идеализированного (без учета переходных процессов) цифрового автомата естественным образом подразделяется на этапы абстрактного и структурного синтеза.
Частным случаем дискретных автоматов являются автоматы, обладающие лишь одним внутренним состоянием. Такие автоматы называются комбинационными схемами илиавтоматами без памяти. Работа таких автоматов состоит в том, что они сопоставляют каждому входному сигналу x(t) выходной сигнал y(t).
Абстрактная теория автоматов без памяти совершенно тривиальна, а структурная теория таких автоматов много легче, чем теория произвольных автоматов с памятью. Основная идея излагаемой методики синтеза автоматов состоит в том, чтобы еще на уровне абстрактной теории преодолеть основные затруднения, вызванные наличием памяти, а на уровне структурной теории свести задачу синтеза автомата к задаче синтеза комбинационных схем.
Пример.
Построить (синтезировать) автомат, на вход которого могут поступать в любой последовательности и, возможно, с любым числом повторений монеты 1,2 и 3 коп. Автомат продает билет, если сумма опущенных монет равна 3. В случае превышения суммы автомат возвращает деньги.
Входной алфавит в описании задан явно: X={1, 2, 3}.
Выходной алфавит будет содержать буквы (сигналы): Б - выдает билет, В - возвращает деньги, Н - ничего не выдает, т.е. Y={Н, Б, В}.
Внутренние состояние будем отождествлять с суммой, которую помнит автомат. Будем иметь в виду, что после продажи билета или возврата денег автомат помнит нулевую сумму: Q={q0, q1, q2}, здесь индекс cответствует сумме.
Автомат в виде графа представлен на рис. 1
Рисунок 1.
Это автомат Мили. Надпись 1/Б; 2,3/В у стрелки q2q0 означает, что если в состоянии q2 будет принят сигнал 1, выходной сигнал будет Б, а для входных сигналов 2 и 3 выходным будет В. Этот же автомат можно представить в виде двух таблиц: таблицы переходов (табл.1) и таблицы выходов (табл.2)
Таблица 1 Таблица 2
2. Построить автомат, на вход которого могут поступать монеты 1, 2 и 3 коп. Автомат выдает сигнал “чет.” (Ч), если сумма опущенных монет четная, и “нечет.” (Н), если нечетная (рис.2).
Рисунок 2
q0 q1 q2
1 q1 q2 q0
2 q2q0q0
3 q0q0q0
q0 q1 q2
1 Н Н Б
2 Н Б В
3 Б В В
Сумма 0 считается четной. Это автомат Мура, т.е. его выходной сигнал однозначно определяется состоянием, в которое автомат перешел, поэтому выходные сигналы приписаны прямо к состояниям. Этот же автомат можно представить отмеченной таблицей переходов (табл.3 ).
Таблица 3
Н Ч
qн qч
1 qч qн
2 qн qч
3 qч qн
Автомат называется частичным, если некоторые комбинации “состояние– входной сигнал” не могут возникнуть в реальных условиях. При этом в графе автомата появляются состояния, из которых определены выходы не для всех входных сигнаов (т.е. присутствуют не все стрелки), а в таблицахпереходов и выходов (и в отмеченной таблице переходов) имеются незаполненные клеточки.
Для выполнения эквивалентных преобразований, как и для структурного синтеза, необходимо доопределить частичный автомат. Переходы и выходы обычно доопределяют, исходя из соображений удобства минимизации.
Пример.
Грузовой лифт, обслуживающий 3х этажный магазин имеет кнопку вызова на каждом этаже и работает по следующим правилам: куда нажал, туда и едет, если 2 или 3 кнопки, то лифт движется на самый нижний из всех этажей на которых нажата кнопка. Ни одна кнопка не может быть нажата во время движения лифта.
Определяют входной алфавит, выходной алфавит и множество состояний.
X={x1, x2, x3, x1x2, x1x3, x2x3, x1x2x3}.
Y={1, 2, 1, 2, }.
S={s1, s2, s3}.
si – лифт на i-ом этаже.
Формализуем эту систему в виде графа.
Эквивалентной формализацией графа автомата является представление в виде автоматной таблицы.
Таблица состоит из 2х частей: в виде таблицы переходов и таблицы выходов.
Автоматная таблица:
Таблица переходов Таблица выходов
si+1=(xi, si). yi=(xi, si).
si\xi | x1 | x2 | x3 | x1x2 | x2x3 | x1x3 | x1x2x3 | x1 | x2 | x3 | x1x2 | x2x3 | x1x3 | x1x2x3 |
s1 | s1 | s2 | s3 | s1 | s2 | s1 | S1 | | 1 | 2 | | 1 | | |
s2 | s1 | s2 | s3 | s1 | s2 | s1 | s1 | 1 | | 1 | 1 | | 1 | 1 |
s3 | s1 | s2 | s3 | s1 | s2 | s1 | s1 | 2 | 1 | | 2 | 1 | 2 | 2 |
Задания.
Построить (синтезировать) автомат по содержательному описанию.
На вход автомата могут поступать сигналы R, S иT. На входной сигналR автомат выдает выходной сигнал0, наS- выходной сигнал1 и наT-выходной сигнал, противоположный предыдущему выходному сигналу. Для определенности считаем, что в начальном состоянии автомат помнит ’’предыдущий’’ выходной сигнал0 .
Автомат имеет две входные шины X1 иX2 , на которые в дискретные моменты независимо друг от друга могут поступать сигналы0 или1. В автомате вычисляется функцияf=x1 ⊕x2, а затем определяется, сколько раз с учетом данного момента времени функцияf принимала значение1. Выходной сигнал Y может иметь три значения:
Y = 0, еслиf = 0; Y = 1, еслиf = 1 и суммарное число случаев, включая данный, когдаf равнялась единице, нечетно;Y = 2 в остальных случаях.
Автомат управляет светофором на перекрестке дорог ”вертикальная - горизонтальная”. Считается, что при открытом светофоре (зеленом свете) машины преодолевают перекресток мгновенно. Светофор переключается (мгновенно), если число ожидающих машин с обеих сторон перпендикулярной улицы достигло трех.
На вход автомата могут поступать символы, допустимые в языке ПЛ/1. Автомат выдает сигнал U, если на вход поступил идентификатор, в противном случае выдает сигналН. Считаем, что идентификатор впереди и сзади ограничен пробелами.
Автомат Мура, принимая на входе монеты 10; 15 и 20 коп., выдает сигнал П, если значение текущей суммы опущенных монет кратно 50 и не кратно 1 руб.; выдает сигналР, если сумма кратна 1 руб.; во всех остальных случаях выдает сигнал 0.
На вход автомата по двум шинам x1 иx2 поступают различные комбинации из нулей и единиц, воспринимаемые как двоичные числа. Автомат выдаёт сигналН , если сумма поступивших чисел нечётная,К - если сумма чисел кратная четырём, и4 – если сумма чисел чётная, но не кратна четырём.
Привести примеры автоматов:
имеющих два внутренних состояния;
имеющих одно внутренних состояние;
не имеющих ни одного внутреннего состояния.
Придумать автомат, имеющий не менее трёх и не более пяти состояний.
Преобразовать автомат Мили в автомат Мура:
Преобразовать автомат Мура в автомат Мили:
- Содержание:
- Тема 1. Основные понятия теории множеств. Способы задания множеств. Операции над множествами. Диаграммы Венна. Свойства теоретико-множественных операций. Представление множеств в эвм. 5
- Операции над множествами.
- Свойства теоретико-множественных операций. Представление множеств в эвм.
- Многоместные отношения. Композиция отношений. Степень и ядро отношений.
- Свойства отношений. Представление отношений в эвм.
- Формулы. Реализация функций формулами. Равносильные формулы. Принцип двойственности.
- Дизъюнктивная нормальная форма.
- Конъюнктивная нормальная форма.
- Теорема Поста
- Геометрическая интерпретация минимизации функций алгебры логики.
- Метод неопределённых коэффициентов.
- Метод карт Карно
- Тема 4. Алгебраические системы. Дистрибутивные решетки. Определение решетки, дистрибутивной решетки. Булева решетка. Алгебраические системы.
- Группоиды и полугруппы.
- Понятие группы.
- Кольца. Тела и поля.
- Решетки. Диаграмма Хассе.
- Дистрибутивная решетка.
- Булева алгебра.
- Тема 5. Поля Галуа и их применение. Классическая теория Галуа. Расширения полей и их классификация. Сепарабельные и нормальные расширения. Расширения полей q, f_q, c(t).
- 1.2 Расширения полей и их классификация.
- 1.1.Простое расширение поля.
- 1.2.Минимальный полином алгебраического элемента.
- 1.3.Строение простого алгебраического расширения поля.
- 1.4.Освобождение от алгебраической иррациональности в знаменателе дроби.
- 3. Сепарабельные и несепарабельные расширения.
- Тема 6. Многозначные логики. Возникновение и формализация модальных логик. Применение многозначных логик. Основные понятия
- Тема 7. Методы пересчета. Перестановки, сочетания, транспозиции. Методы генерирования перестановок: лексикографический порядок, векторы инверсий, вложенные циклы, транспозиция смежных элементов.
- Тема 8. Производящие функции. Способы построения производящих функций. Пример построения производящей функции при известном рекуррентном соотношении.
- Тема 10. Синтез автоматов. Абстрактный уровень проектирования автомата.
- Тема 11. Минимизация числа состояний автомата. Минимизация числа состояний синхронного автомата методом Хафмена.
- 6. Минимизация числа состояний методом таблиц.
- Тема 13. Автоматы с памятью. Канонический метод структурного синтеза. Построение логической схемы структурного автомата. Графический метод структурного синтеза.
- Тема 14. Сети Петри и их свойства. Основные понятия сетей Петри. Конечные разметки сети. Ограниченность сети. Моделирование с помощью сетей Петри. Формальное определение сети Петри.
- Тема 15. Описание систем с помощью сетей Петри. Применение сетей Петри при разработке графического языка программирования.
- Тема 17. Решение задач с помощью динамических двоичных функций. Синтез логической схемы, реализующей заданную булеву функцию, с использованием блоков исключения одной переменной.