Слайд 1ТЕОРИЯ АБСТРАКТНЫХ АВТОМАТОВ
Преподаватель: Солодухин Андрей Геннадьевич
Слайд 2Автомат
устройство (реальное или абстрактное) осуществляющее прием, хранение и преобразование дискретной
информации по некоторому правилу (алгоритму).
Примером автомата могут служить ЭВМ,
математические абстрактные машины, аксиоматические теории и т.п.
Слайд 3Абстрактный автомат (АА)–дискретный преобразователь информации; представ-ляет собой множество, состоящее из
шести элементов:
S = {X, Q, Y, δ, λ, q1}S–абстрактный автомат;
X–множество
входных символов (входной алфавит автомата): X= {x1, ... , xm};
Q–множество состояний автомата: Q= {q1, ... , qn};Y–множество выходных символов (выходной алфавит автомата):Y= {y1, ... , yp};
δ–функция переходов автомата из одного состояния в другое: qj= δ(qi, xk), где: qj–следующее (новое) состояние автомата;
qi–текущее состояние автомата;xk–текущий входной символ; λ–функция выходов:yl= λ (qi, xk);
q1 –начальное состояние автомата (применяется также обозначение q0).
Автомат называется конечным, если множества X, Q, Y–конечны
Общие сведения
Слайд 4Представление абстрактного автомата
На рис. 1 t–дискретное время: t= nT, где
T–интервал (такт), разделяющий дис-кретные моменты времени;
если T= 1, то
t= n, т. е. дискретное время сопоставляется упорядоченному ряду натуральных чисел.
Слайд 5Общие сведения
Абстрактный автомат (АА) можно рассматривать как "черный ящик" с
одним входом и одним выходом, с которым можно экспериментировать, не
зная, что находится внутри.
Выходной символ (yl Y) зависит не только от входного символа (x X), но и от того, в каком состоянии (qi Q) находится автомат.
Автомат функционирует в дискретном времени; это означает, что элементы описания автомата заданы только в упомянутые выше дискретные моменты.
Представим, что с некоторого начального, например, нулевого момента времени на вход автомата подаются входные символы, образующие входное слово некоторой длины (длина любого i-го слова измеряется числом символов).
На выходе получаем выходное слово той же длины
Слайд 6Преобразование входных слов в выходные
Слайд 7Сказанное означает, что автомат может рассматриваться как преобразователь входных слов
в выходные с сохранением длины слов.
Символы алфавитов, присутствующие на
входе и выходе автомата, будем также называть входными и выходными сигналами.
На практике широкое распространение получили две основные модели, описывающие функционирование АА:
1. Модель Мили;
2. Модель Мура
Общие сведения
Слайд 8Модель Мили
Законы функционирования автомата Мили представлены следующим образом:
q(t+1) = δ(q(t),
x(t)) y(t) = λ(q(t), x(t))
t–текущий момент времени;t+1–следующий момент времени;
q(t+1)–состояние автомата
в следующий момент времени;
q(t), x(t), y(t) –элементы описания автомата в текущий момент времени
Слайд 9Модель Мура
Законы функционирования автомата Мура представлены следующим образом:
q(t+1) = δ(q(t),
x(t)) y(t) = λ(q(t))
В модели Мура выходной сигнал явно
зависит только от состояния, а косвенно – и от входного сигнала.
Любой автомат можно спроектировать по той или иной модели
Слайд 10Способы задания автоматов
Два основных способов задания автоматов:
1.Табличный способ
Автомат Мили
Для автомата
Мили табличный способ заключается в построении двух таблиц:
таблицы переходов
(ТП) и таблицы выходов (ТВ).
Слайд 11Табличный способ
Табличный способ: а–таблица переходов, б–таблица выходов
Слайд 14Автомат Мура
Таблица переходов и таблица выходов объединяются, и добавляется строка
выходных сигналов, соответствующих состояниям автомата.
На рисунке показана таблица переходов
и выходов для автомата Мура.
Слайд 16Пример. Таблица переходов и выходов
Слайд 17Графовый способ
Автомат представляется ориентированным связным графом (орграфом), вершины которого соответствуют
состояниям автомата, а дуги – переходам из состояния в состояние.
Обозначения входных и выходных сигналов распределяются в автоматах Мили и Мура по-разному.
Слайд 18Построим графы для автоматов Мили и Мура по вышеприведенным таблицам
Слайд 19Представление автомата Мили в виде графа
Слайд 20Представление автомата Мура в виде графа
Замечание:
В автомате Мили выходной сигнал
вырабатывается при переходе, а в автомате Мура присутствует в течение
всего периода дискретного времени, пока автомат находится в данном состоянии.
Слайд 21Детерминированный автомат
– Автомат, в котором имеется полная определенность переходов из
всех состояний в зависимости от входных сигналов (под действием одного
и того же сигнала автомат не может переходить из любого рассматриваемого состояния в различные состояния).
Фрагмент графа, изображенный на рисунке 7, не может относиться к детерминированному автомату
Слайд 22Фрагмент графа, иллюстрирующий неопределенность переходов
Слайд 23Состояние автомата qi
называется устойчивым, если для любого входного сигнала хк,
такого, что δ(qs, xk) = qi, справедливо соотношение:
δ(qi, xk) =
qi. (здесь qs–состояние, предшествующее qi).
Это означает, что, автомат не изменяет своего состояния при повторении на следующем такте сигнала, приведшего его в состояние qi.
Фрагмент графа, иллюстрирующий устойчивость состояния, приведен на рисунке.
Слайд 25Автомат называется асинхронным,
если каждое его состояние qi Q(i= 1,
... , n) устойчиво;
в противном случае автомат называется синхронным.
Синхронные
автоматы важны для теории, а на практике чаще используются асинхронные; устойчивость состояний в асинхронных автоматах достигается введением специальных сигналов синхронизации.
Слайд 26Примеры абстрактных автоматов, выполняющих полезные действия
Автомат для задержки сигнала на
один такт (для запоминания на один такт)
Таблица переходов и таблица
выходов:
Слайд 27Поскольку автомат является двоичным, введем обозначения: x0= y0= 0; x1=
y1= 1
Граф автомата для задержки сигнала на один такт
Слайд 28Простой анализ показывает,
что выходной сигнал в текущем такте повторяет входной,
который был на такт раньше.
Автомат для проверки двоичной последовательности на
четность
Граф автомата для проверки двоичной последовательности на четность
Слайд 29Анализ показывает,
что «0» на выходе автоматически вырабатывается при четном числе
единиц на входе, а «1» на выходе вырабатывается при нечетном
числе единиц на входе.
Оба рассмотренных автомата имеют "слабую" память, но слабую в разном смысле.
У первого автомата "короткая" память во времени (помнит только один сигнал).
У второго автомата память "длинная" (длина входной последовательности может быть любой), но он различает (распознает) лишь два класса последовательностей.
Слайд 30Автомат для задержки сигнала на два такта
Автомат имеет четыре состояния,
закодированных двумя двоичными разрядами: q0 = 00; q1 = 01;
q2 = 10; q3 = 11
Граф автомата для задержки сигнала на два такта
Слайд 31Достоинства примененного кодирования:
первая цифра кода состояния показывает, какой сигнал выдает
автомат (он легко преобразуется в автомат Мура);
вторая цифра кода
показывает, под действием какого сигнала автомат приходит в данное состояние.
легко проверить, что выходной сигнал повторяет входной через два такта.
Слайд 32Двоичный последовательный сумматор, реализованный для одного разряда входного кода
Автомат имеет
два состояния:
q0 – нет переноса (сложение цифр операндов не
требует учета единицы переноса из предыдущего разряда кода);
q1 –есть перенос (единица переноса должна быть учтена)
Слайд 33Граф одноразрядного двоичного последовательного сумматора
В числителе "дроби", записанной при каждой
из дугграфа, указаны цифры слагаемых; в знаменателе –результат суммирования в
текущем разряде. Сумматор позволяет суммировать двоичные последовательности произвольной длины.
Слайд 34Поведение изолированного синхронного автомата
Изолированный автомат–автомат, на входе которого присутствует сигнал,
имеющий постоянное значение, что эквивалентно "отключению" входа.
Если изолированный автомат
является синхронным, переходы из одного состояния в другое возможны, но при этом исключены разветвления путей, отображающих последовательности переходов (автомат является детерминированным).
Следовательно, автомат с конечным числом состояний (конечный автомат) неизбежно должен попасть в состояние, в котором уже находился ранее, и на диаграммах переходов обязательно будет присутствовать поглощающее со-стояние или цикл.
Слайд 35Примеры диаграмм, иллюстрирующих поведение рассматриваемого автомата при разных начальных состояниях
Поведение
изолированного синхронного автомата
Слайд 36Проблема умножения
Теорема
Никакой конечный автомат не может перемножать пары чисел с
произвольно большим числом разрядов.
Причина заключается в том, что с возрастанием
числа разрядов сомножителей при умножении необходимо накапливать неограниченно большие (по объему занимаемой памяти) промежуточные результаты.
Слайд 37Для математического доказательства используем метод "от противного": предположим, что существует
автомат S, перемножающий пары двоичных чисел с произвольно большим числом
разрядов (система счисления может быть любой без ограничения общности).
Проблема умножения
Слайд 38Используем для опровержения последнего утверждения частный случай: оба со-множителя равны
2n.
В этом случае каждый из сомножителей содержит единицу, за
кото-рой следуют n нулей; результат умножения (2n2n= 22n) содержит единицу и 2n нулей. Применим экономный способ использования памяти: пары разрядов сомножителей подаются последовательно, начиная с младших разрядов (аналогично тому, как это делалось в рассмотренном выше сумматоре).
Проблема умножения
Слайд 39Чтобы автомат правильно работал, он должен после прекращения подачи сомножителей
добавить к уже выработанным n+ 1 нулям еще n–1 нулей,
а затем в заключение единицу.
Но после прекращения подачи сомножителей автомат будет работать как изолированный.
Если изолированный автомат S имеет k состояний и способен выработать на выходе подряд n нулей, где n k, то это означает, что он находится в поглощающем состоянии или вошел в цикл.
Следовательно, он уже не сможет выработать единицу.
Так как всегда возможно сделать значение n таким, что n–1 k, правильный результат при выполнении указанного неравенства не будет получен и, следовательно, предположение о существовании автомата S приводит к противоречию.
Теорема доказана.
Проблема умножения