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

На выходе оно выдаёт символы (в общем случае) другого алфавита.

Абстрактный автомат

Формально абстрактный автомат определяется как пятерка

Ограничение числа параметров абстрактного автомата определило такое понятие как конечный автомат .

Функционирование автомата состоит в порождении двух последовательностей: последовательности очередных состояний автомата и последовательности выходных символов , которые для последовательности символов разворачиваются в моменты дискретного времени t = 1, 2, 3, … Моменты дискретного времени получили название тактов.

Функционирование автомата в дискретные моменты времени t может быть описано системой рекуррентных соотношений:

Для уточнения свойств абстрактных автоматов введена классификация .

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


Wikimedia Foundation . 2010 .

  • Диаграмма состояний (теория автоматов)
  • Нагорный Карабах

Смотреть что такое "Абстрактный автомат" в других словарях:

    абстрактный автомат - abstraktusis automatas statusas T sritis automatika atitikmenys: angl. abstract automaton vok. abstrakter Automat, m rus. абстрактный автомат, m pranc. automate abstrait, m … Automatikos terminų žodynas

    Автомат - В Викисловаре есть статья «автомат» Автомат: Автомат устройство, самостоятельно выполняющее некоторые действия … Википедия

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

    ТЬЮРИНГА, МАШИНА - Абстрактный автомат (то есть компьютер или другой точный, определенный механизм), теоретически охарактеризованный британским математиком Аланом М. Тьюрингом в 1930 х гг. В основном, машина Тьюринга состоит из ленты и считывающей головки. Лента… … Толковый словарь по психологии

    Теория автоматов

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

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

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

    Компьютер - Схема персонального компьютера: 1. Монитор 2. Материнская плата 3 … Википедия

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

26 апреля 2010 в 19:06

Самостоятельное изучение схемотехники. Абстрактный автомат. Часть 2

  • Электроника для начинающих

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

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


Электронные цифровые схемы формально можно разделить на 2 класса:

  • Комбинационные Схемы (КС) – не обладают памятью. Выходной сигнал формируется в зависимости от комбинации входных данных в фиксированный момент времени (учитывая задержку на преобразования сигналов).Комбинационные схемы, их типы и принципы построения могут быть темой для отдельной статьи, а в качестве примеров можно привести: Управляемые шины, мультиплексоры и демультиплексоры, дешифраторы и шифраторы, преобразователи кодов, комбинационные счетчики и сумматоры и т. д.
  • Схемы с памятью – алгоритм их работы зависит от состояния входов и памяти (того, что было в предыдущие моменты времени). Эти схемы описываются с применением теории конечных автоматов. Речь о них и пойдёт далее.
Другими словами первый класс - логические устройства, обрабатывающие входной сигнал. Второй элементы обладающие памятью и реагирующие на сигнал в зависимости от введенных в них данных.

Абстрактный автомат

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

Или, если перейти от иллюстрации к математическому описанию:
A =

Обозначения:

  1. Множество {A} – представляет собой множество значений на физических входах автомата. На входе в нашем случае будет какая-то последовательность высоких и низких уровней напряжения, которые будут кодировать логические нули и единицы.
  2. Множество {B} – представляет собой множество значений на физических выходах автомата.
  3. Множество {C} – а множество, которое представляет внутреннее состояние автомата – память. На будущее C0 будем обозначать начальное состояние автомата.
  4. δ = X × Z → Z – это функции переходов автомата, они однозначно определяют состояние ai в которое переходит автомат из состояния aj.
  5. λ = X × Z → Y – функции выходов, они определяют что находится на выходе автомата в зависимости от входов и внутреннего состояния.
δ и λ не показаны на схеме для визуального упрощения.

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

Выделяют 2 типа автоматов:

  1. Автоматы Мили. Описывается системой уравнений:
    c(t) = δ(a(t), c(t-1));
    b(t) = λ(a(t), c(t-1)).
  2. Автоматы Мура. Описывается уравнениями:
    c(t) = δ(a(t), c(t-1));
    b(t) = λ(a(t), c(t)).
Как видно состояние автомата c(t) в текущий момент времени является функцией его состояния в предыдущий момент времени и входного сигнала .
Отличаются автоматы видом функции выхода. В автомате Мили выходной сигнал определяется входным сигналом a(t) и состоянием автомата в предыдущий момент времени c(t-1). Выходной сигнал автомата Мура определяется парой входного сигнала a(t) и состояния в данный момент c(t).
Так же можно отметить, что от одного типа можно перейти ко второму и наоборот, причем при переходе от автомата Мили к автомату Мура число внутренних состояний автомата останется прежним, а при обратном переходе число внутренних состояний может возрасти. На этом останавливаться подробно не будем, считая, что синтезировали(нарисовали граф) автомат того типа, который надо.
Итак, на этом с матчастью окончено. Попробуем описать автоматы.

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

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

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

Есть два основных способа задания автомата:

  1. При помощи графов.
  2. При помощи таблиц переходов и выходов.

Графы

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


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


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

Важный момент: Если из каждой вершины выходит столько дуг, сколько есть входных букв, то автомат называется полным . Другими словами – если из каждой вершины определены переходы для каждой входной буквы. В наших примерах автомат Мили является полным , а автомат Мура – частичным .
И ещё: Если из одной вершины выходит дуг больше, чем входных букв (то есть 2 и более дуг с одинаковыми входными буквами), то такой автомат называется недетерминированным . Такое может произойти при построении формализованного описания и тогда надо будет произвести переход к детерминированному автомату, но это не всегда можно выполнить. Описание этого процесса я тоже упускаю, сразу нарисовав детерминированный автомат.
На этом о графах всё.

Таблицы переходов и выходов.

Графы нагляднее для человека, а таблицы - для машины. Любой автомат можно представить в виде таблицы переходов и выходов (ТПВ). В ТПВ строками являются внутренние состояния автомата, а столбцами – входные буквы.
Построим ТПВ для наших графов Мили и Мура. Если не определена какая-либо входная или выходная буква, то вместо неё ставится прочерк. Если не определено состояние, то действует это же простое правило.

ТПВ графа Мили

В ТПВ Мили в каждой клетке записаны переходы и выходы. Например, если автомат находится в состоянии С0 и на вход приходит буква a1, то он перейдёт в состояние С1 и на выходе появится буква b3.

ТПВ графа Мура

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

Пример синтеза автомата

При помощи абстрактных автоматов можно описать практически что угодно. Можно описать работу цифровой схемы, а можно – синтаксический или лексический анализатор. Попробуем описать триггер – чем не автомат?
Чтобы задать граф нужно словесное описание алгоритма работы триггера. Читаем:

Кодируем входной и выходной алфавиты:
A = {a0, a1}, где a0 – логическая 1 на входе R, a1 – логическая единица на входе S.
B = {b0, b1}, где b0 – логический 0 на выходе Q, b1 – логическая единица на выходе Q.
Строим граф автомата Мили:


Вот такая забавная чебурашка получилась:-). Теперь можно построить таблицу переходов и выходов:

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

Нанесём полученную функцию на карту Вейча и минимизируем:

Выпишем, что получилось:

Строим по функции схему (Выполняли домашнее задание?).

  • 1.1 Основные понятия
  • Вывод
  • Список литературы

Введение

Тема контрольной работы по дисциплине "Прикладная теория цифровых автоматов" - "Абстрактные цифровые автоматы".

Цель работы - ознакомится с основными понятиями абстрактных цифровых автоматов; типами абстрактных автоматов; способами задания абстрактных автоматов; связью между моделями Мили и Мура; эквивалентными автоматами и эквивалентными преобразованиями автоматов; минимизацией числа внутренних состояний автомата и алгоритмом Ауфенкампа-Хона.

1. Абстрактные цифровые автоматы

1.1 Основные понятия

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

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

Общая теория автоматов подразделяется на абстрактную и структурную.

Абстрактная теория автоматов, отвлекаясь от структуры автомата (т.е. не интересуясь способом его построения), изучает лишь поведение автомата относительно внешней среды. Абстрактная теория автоматов близка к теории алгоритмов, являясь по существу ее дальнейшей реализацией.

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

Абстрактный цифровой автомат (ЦА) является математической моделью дискретного управляющего устройства.

Абстрактный ЦА определяется множеством, состоящим из шести элементов:

S={ X,A,Y,ao},

где:

X={x1, x2,. xn} - множество входных сигналов (входной алфавит);

Y={y1, y2, ym} - множество выходных сигналов (выходной алфавит);

А={ a0,a1, a2,. аN} - множество состояний (алфавит состояний);

ао - начальное состояние (аоА);

- функция переходов автомата, задающая отображение (ХхА) А, т.е. ставящая в соответствие любой паре элементов декартового произведения (ХхА) элемент множества А;

- функция выходов автомата, задающая либо отображение (XxA) Y, либо отображение AY.

Иными словами, функция переходов показывает, что автомат S, находясь в некотором состоянии аjА, при появлении входного сигнала хjХ переходит в некоторое состояние арА. Это можно записать:

ap= (ai,Xj).

Функция выходов показывает, что автомат S, находясь в некотором состоянии аjА, при появлении входного сигнала хjХ выдает выходной сигнал уkY. Это можно записать: уk = (ai, Xj).

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

Абстрактный автомат функционирует в дискретном автоматном времени t=0,1,2,. и переходы из состояния в состояние осуществляются мгновенно. В каждый момент t дискретного времени автомат находится в определенном состоянии a (t) из множества А состояний автомата, причем в начальный момент времени t=0 он всегда находится в начальном состоянии ао. В момент времени t, будучи в состоянии a (t), автомат способен воспринять на входном канале сигнал х (t) X, и выдать на выходном канале сигнал y (t) = (a (t), x (t)), переходя в состояние a (t+1) = = (a (t),x (t)). Зависимость выходного сигнала от входного и от состояния означает, что в его составе имеется память.

1.2 Типы абстрактных автоматов

По способу формирования функции выходов выделяют три типа абстрактных автоматов: автомат Мили, автомат Мура, С-автомат. Автомат Мили характеризуется системой уравнений:

y (t) = (a (t), x (t));

a (t+1) = д (a (t), x (t)). (1-1)

Автомат Мура - системой уравнений:

y (t) = (a (t));

a (t+1) = д (a (t), x (t)). (1-2)

С-автомат - системой уравнений:

у= y1y2

y1 (t) = (a (t),x (t));

У2 (t) = 2 (a (t));

a (t+1) =д (a (t),x (t)).

Произвольный абстрактный автомат Мили или Мура (рис.1.1.) имеет один входной и один выходной каналы. Произвольный абстрактный С-автомат имеет один входной и два выходны х канала (рис.1.2.).

Рисунок 1.1 - Абстрактный автомат

Рисунок.1.2 Абстрактный С-автомат

Если на вход абстрактного автомата Мили или Мура, установленного в начальное состояние ао, подавать буква за буквой некоторую последовательность букв входного алфавита х (0), х (1),. - входное слово, то на выходе автомата будут последовательно появляться буквы выходного алфавита у (0), у (1),. - выходное слово. Для случая С-автомата на его выходах будут появляться две последовательности: y1 (0), y1 (1),. и y2 (0), y2 (1),. В абстрактном С - автомате выходной сигнал y2 (t) = (a (t)) выдается все время, пока автомат находится в состоянии a (t). Выходной сигнал y1 (t) =л1 (a (t),x (t)) выдается во время действия входного сигнала x (t) при нахождении С-автомата в состоянии a (t).

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

Выделяют полностью определенные и частичные автоматы.

Полностью определенным называется абстрактный цифровой автомат, у которого функция переходов или функция выходов, или обе эти функции определены для всех пар переходов (xi,aj).

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

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

1.3 Способы задания абстрактных автоматов

Чтобы задать конечный автомат S, необходимо описать все элементы множества: S={ X,A,Y,ao}. Существует несколько способов задания работы автомата, но наиболее часто используется табличный (матричный), графический, аналитический.

При табличном способе автомат задается двумя таблицами: таблицей переходов и таблицей выходов, или матрицей соединений. Таблица переходов произвольного полностью определенного автомата строится следующим образом: строки таблицы помечаютсябуквами входного алфавита автомата, а столбцы таблицы - буквами алфавита состояний автомата; В клетке таблицы переходов, находящейся на пересечении строки, отмеченной входным сигналом xi, и столбца отмеченного состоянием aj, ставится состояние аk, являющееся результатом перехода автомата из состояния aj под воздействием входного сигнала хi, что определяется выражением ak= (aj, хj).

Таблица 1.1 Таблица переходов автомата

Пример заполнения таблицы переходов некоторого абстрактного полностью определенного автомата с входным алфавитом X={х1, х2} - и алфавитом состояний A={a1, a2, а3} представлен в табл.1.2.

Таблица 1.2

Если абстрактный автомат частичный, то в клетке таблицы его переходов, находящейся, на пересечении строки, отмеченной входным сигналом и столбца отмеченного соответствующим состоянием (при условии, что переход в это состояние под действием данного входного сигнала не определен) ставится прочерк, и любое входное слово, приводящее к указанному переходу является запрещенным.

Заполнение остальных клеток аналогично случаю полностью определенного автомата. Вид таблицы переходов не зависит от типа задаваемого автомата (автомат Мили, Мура, С-автомат). Таблицы выходов автоматов Мили, Мура, С-автомата имеют различия.

Таблица выходов полностью определенного автомата Мили строится следующим образом: идентификация столбцов и строк, а также формат таблицы соответствуют таблице переходов полностью определенного автомата. В клетке таблицы выходов, находящейся на пересечении строки, отмеченной входным сигналом Xj, и столбца, отмеченного состоянием ак, ставится выходной сигнал Уm, который автомат выдает, находясь в состоянии аk при наличии входного сигнала Xj, что определяется выражением Ym= (аk, хj).

Таблица 1.3 Таблица выходов абстрактного автомата Мили.

Пример заполнения таблицы выходов некоторого абстрактного полностью определенного автомата с входным алфавитом X={x1, x2}, алфавитом состояний A={a1, а2, а3} и выходным алфавитом Y={y1, y2, y3}-представлен в табл.1.4.

Таблица 1.4

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

На практике таблицы переходов и выходов часто совмещают в одну таблицу, называемую отмеченной таблицей переходов автомата. Примеры отмеченных таблиц переходов представлены в табл.1.6. - 1.8 (Общий вид отмеченной таблицы переходов - табл.1.6., отмеченная таблица переходов автомата Мили - табл.1.7., отмеченная таблица переходов автомата Мура - табл.1.8.).

Кроме рассмотренных выше таблиц переходов и выходов произвольный абстрактный автомат может быть задан матрицей соединений.

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

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

Таблица 1.6

Таблица 1.8

При графическом способе задания абстрактные автоматы представляются ориентированными графами. Графом автомата называется ориентированный связный граф, вершины которого соответствуют состояниям автомата, а дуги между ними - переходам между состояниями. Две вершины ak и as соединяются дугой в том случае, если в автомате имеется переход из состояния ak в состояние as. Для автомата Мили входной и выходной сигналы проставляются на дуге, соответствующей данному переходу (рис 1.3.), для автомата Мура входной сигнал проставляется на дуге, а выходной - рядом с вершиной, соответствующей состоянию (рис 1.4.).

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

Рисунок 1.3-Граф автомата Мили Рисунок 1.4-Граф автомата Мура

При аналитическом способе задания абстрактные автоматы задаются четверкой объектов:

S={ X,A,Y,F}, где F задает для каждого состояния аj автомата отображение (ХхА) - > (AxY). Другими словами, при аналитическом способе задания для каждого состояния автомата аj указывается отображение Fai, представляющее собой множество всех троек ар, xm, yk, и таких, что под воздействием входного сигнала xm автомат переходит из состояния а j в состояние ар, выдавая при этом выходной сигнал yk.

Применительно к общему определению абстрактного автомата, последнее равнозначно описанию функций д и л в соответствии с выражением: ap= д (ai, xm), yк= л (ai, xm).

Отображение Fai записывается следующим образом:

Fai{ap (Xm/yk),ai (Xf/yz) …}.

Для абстрактного автомата Мили (табл.1.7.) аналитическое задание имеет следующий вид:

S={ X,A,Y,F}, X={x1,x2}, A={a1, а2, а3}, Y={y1, y2, у3},

Fa1={a2 (x1/y2), a1 (x2/у3) },

Fа2={а3 (x1/y3), a1 (x2/y1) },

Fa3={a1 (x1/y3), а2 (x2/y2) }.

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

Определим синхронные и асинхронные автоматы. Состояние аs автомата S называется устойчивым cостоянием, если для любого входного сигнала хjХ, такого, что аs= д (аi Хm) имеет место as= д (as, xm).

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

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

1.4 Связь между моделями Мили и Мура

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

Пусть абстрактный автомат Мили задан графом рис.1.5.

На вход этого автомата, установленного в начальное состояние, поступает входное слово X=x1, x1, x2, x1, x2, x2.

Рисунок 1.5 - Граф автомата Мили

Так как? (a1, x1) = а3, a ? (a1, x1) = y1, то под действием первой буквы слова Х входного сигнала x1 автомат перейдет в состояние a3 и на выходе его появится сигнал y1. Далее, ? (а3, x1) = a1, а? (а3, x1) = у2, потому при приходе второго сигнала x1 автомат окажется в состоянии a1, а на выходе его появится сигнал у2. Проследив непосредственно по графу или таблицам переходов и выходов дальнейшее поведение автомата, опишем его тремя строчками, первая из которых соответствует входному слову X, вторая - последовательности состояний, которые проходит автомат под действием букв слова X, третья - выходному слову У, которое появляется на выходе автомата:

x1x1 x2 x1 x2 x2

a1а3 a1a1 а3a 2 а3

y1 y2 y1 y1 y1 y2

Назовем у = ? (а1, X) реакцией автомата Мили в состоянии a1 на входное слово X. Как видно из примера, в ответ на входное слово длины k автомат Мили выдает последовательность состояний длины к+1 и выходное слово длины k. В общем виде поведение автомата Мили, установленного в состояние аm, можно описать следующим образом:

Точно так же можно описать поведение автомата Мура, находящегося в состоянии am, при приходе входного слова xi1, xi2,., хik. Напомним, что в соответствии с (1-2) выходной сигнал в автомате Мура в момент времени t (У (t)) зависит лишь от состояния, в котором находится автомат в момент t (a (t)):

Очевидно, что выходной сигнал уi1=л (am) в момент времени i1 не зависит от входного сигнала xi1, а определяется только состоянием аm.

Таким образом, этот сигнал yi1 никак не связан с входным словом, поступающим на вход автомата, начиная с момента i1. В связи с этим под реакцией автомата Мура, установленного в состояние am на входное слово X=xi1, хi2, . , хik будем понимать выходное слово той же длины у= л (am,Х) =уi2, уi3,., yik+1.

В качестве примера рассмотрим автомат Мура S5, граф которого изображен на рис.1-6, и найдем его реакцию в начальном состоянии на то же самое входное слово которое мы использовали при анализе поведения автомата Мили S1:

Рисунок 1-6 - Граф автомата Мура

Как видно из этого и предыдущего примеров, реакции автоматов S5 и S1 в начальном состоянии на входное слово Х с точностью до сдвига на 1 такт совпадают (реакция автомата Мура обведена линией). Дадим теперь строгое определение эквивалентности полностью определенных автоматов.

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

1.5 Эквивалентные автоматы. Эквивалентные преобразования автоматов

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

При описании алгоритмов взаимной трансформации автоматов Мили и Мура в соответствии с изложенным выше мы будем пренебрегать в автоматах Мура выходным сигналом, связанным с начальным состоянием (? (a1)).

Рассмотрим сначала преобразование автомата Мура в автомат Мили.

Пусть дан автомат Мура: SA={ ХA, АA, УA,?A,?A, аоA}, где:

ХA={х1, х2,. хn}; Y={y1, у2,. уm}; А={ а0, а1, а2,. аN}; а0A = а0 - начальное состояние (а0AА); ?A - функция переходов автомата, задающая отображение (ХAхАA) - >АA; ?A - функция выходов автомата, задающая отображение АA->УA.

Построим автомат Мили: SB={ ХB, АB, YB,??B, ?B, а0B}, у которого АB=АA; ХB=ХA; YB=УA; ?B=?A; а0B=а0A. Функцию выходов?B определим следующим образом. Если в автомате Мура?A (аm, х1) = аs и?A (аs) =yg, то в автомате Мили?B (am, х1) =yg

Рисунок 1.7 - Иллюстрация перехода от модели Мура к модели Мили

Переход от автомата Мура к автомату Мили при графическом способе задания иллюстрируется рис.1-7: выходной сигнал yg записанный рядом с вершиной (as), переносится на все дуги, входящие в эту вершину.

При табличном способе задания автомата таблица переходов автомата Мили совпадает с таблицей переходов исходного автомата Мура, а таблица выходов получается из таблицы переходов заменой символа as, стоящего на пересечении строки хf и столбца аm, символом выходного сигнала yg отмечающего столбец as в таблице переходов автомата SA.

Из самого способа построения автомата Мили SB очевидно, что он эквивалентен автомату Мура SA. По индукции нетрудно показать, что любое входное слово конечной длины, поданное на входы автоматов SA и SB, установленных в состояния am, вызовет появление одинаковых выходных слов и, следовательно, автоматы SA и SB эквивалентны.

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

SA={ ХA, АA,YA, ?A, ?A, a0A},

где:

ХA={x1, x2,. xn}; Y={y1, у2,. ym}; А={ a0,a1,a2,. aN}; a0A = a0 - начальное состояние (а0AА); ?A - функция переходов автомата, задающая отображение (ХAxАA) - >АA; ?A - функция выходов автомата, задающая отображение (ХAxАA) - >YA.

Построим автомат Мура: SB={XB, AB, YB, ?B, ?B, a0B}, у которого XB=XA; YB=YA.

Для определения AB каждому состоянию asАA поставим в соответствие множество As всевозможных пар вида (as, yg)

Функцию выходов?B определим следующим образом. Каждому состоянию автомата Мура SB, представляющему собой пару вида (as,yg), поставим в соответствие выходной сигнал yg.

Если в автомате Мили SA был переход?A (am, xf) = as и при этом выдавался выходной сигнал?A (am,xf) =yg, то в SB будет переход из множества состояний Am, порождаемых am, в состояние (as,yg) под действием входного сигнала xf.

В качестве начального состояния a0B можно взять любое из состояний множества A0, которое порождается начальным состоянием a0 автомата SA. При этом выходной сигнал в момент времени t=0 не должен учитываться.

Рассмотрим пример. Пусть задан автомат Мили (табл.1.10.)

Поставим в соответствие каждой паре аi/xk состояние Ьik (i-номер состояния, k-номер входного сигнала), с учетом b0.

Составим таблицу переходов автомата Мура, руководствуясь следующими правилами:

1) Выпишем из таблицы 1.11 состояния автомата Мили и соответствующие каждому из них множества состояний автомата Мура (bik):

а0= {b0, b02, b11, b21}; a1= {b22}; а2= {b01, b12};

2) Если состояние автомата Мура bik входит в множество, соответствующее состоянию аp автомата Мили, то в строку таблицы переходов автомата Мура для состояния bik следует записать строку из таблицы переходов автомата Мили, соответствующую состоянию ар (из 1.10.).

3) Функцию выходов автомата Мура определим следующим образом: ?B (bik) =?A (аi, xk). Для начального состояния b0 значение выходного сигнала можно выбрать произвольно, но порождаемый начальным состоянием a0 (с учетом понятия эквивалентности состояний). Результирующая таблица переходов и выходов автомата Мура эквивалентного автомату Мили, заданному таблицей 1.10 представлена в таблице 1.12.

4) Найдем в таблице 1.12 эквивалентные состояния и удалим их (заменим на представителя класса эквивалентности).

Если выходной сигнал возле b0 доопределить y1, то окажется, что в данной таблице переходов находится 3 эквивалентных состояния (b0,b11,b02). Заменив класс эквивалентности одним представителем (b0), получим окончательную таблицу переходов (табл.1.13).

Таблица 1.12

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

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

1.6 Минимизация числа внутренних состояний автомата

Алгоритм Ауфенкампа-Хона.

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

Два состояния автомата am и as называются эквивалентными (am =as), если? (am,X) = ? (as,X) для всех возможных входных слов длины X.

Если am и as не эквивалентны, они различимы. Более слабой эквивалентностью является K-эквивалентность. Состояния am и аs K-эквивалентны, если? (am, Хk) = ? (as, Хk) для всех возможных входных слов длины К. При минимизации числа внутренних состояний автомата Мили S={X,Y, А, ?, ?, а0} используется алгоритм Ауфенкампа-Хона:

1. Находят последовательные разбиения?1,?2,…,?k,?k+1, множества А на классы одно-, двух-,., К-, (К+1) - эквивалентных состояний до тех пор, пока на каком-то (К+1) шаге не окажется, что?k=?k+1. В этом случае К-эквивалентные состояния являются эквивалентными. Число шагов К, при котором?k=?k+1 не превышает N-1, где N - число внутренних состояний автомата.

2. В каждом классе эквивалентности? выбирают по одному элементу (представителю класса), которые образуют множества А" состояний минимального автомата S".

3. Функцию переходов?" и выходов?" автомата S" определяют на множестве A"xX.

Для этого в таблице переходов и выходов вычеркивают столбцы, соответствующие не вошедшим в множество А" состояниям, а в оставшихся столбцах таблицы переходов все состояния заменяются на эквивалентные из множества А", (на представителей).

4. В качестве а"0 выбирается одно из состояний, эквивалентное состоянию а0. В частности, удобно принять само состояние а0.

При минимизации автомата Мура вводится понятие 0-эквивалентности состояний и разбиения множества состояний на 0-классы: 0-эквивалентными называются любые, одинаково отмеченные выходными сигналами, состояния автомата Мура. В качестве примера рассмотрим минимизацию автомата Мура, заданного таблицей переходов и выходов (Таблица 1.14).

Таблица 1.14

Выполним разбиение?0:

? 0={В1, В2, В3};

B1={a1, a2, a8}, В2={а6, а9, а10, а11, а12}, В3={а3, a4, a5, a7}.

Построим таблицу разбиения?0:

Выполним разбиение?1:

1={С1, С2, С3, С4};

C1={a1, a2, a8}, С2={а6, а9, а11}, С3={ а10, a12}, С4={а3, а4, a5, a7}.

Построим таблицу разбиения?1:

Выполним разбиение?2.

1={D1, D2, D3, D4};

D1={a1, a2, a8}, D2={а6, а9, а11}, D3={ а10, a12}, D4={а3, а4, a5, a7}.

Разбиение?2 повторяет разбиение?1 - процедура разбиения завершена.

Выберем произвольно из каждого класса эквивалентности D1, D2, D3, D4 по одному представителю - в данном случае по минимальному номеру: A"={a1, а3, a6, а10}.

Удаляя из исходной таблицы переходов "лишние" состояния, определяем минимальный автомат Мура (табл.1.15.)

Таблица 1.15.

Вывод

В процессе выполнения контрольной работы мы ознакомились с основными понятиями абстрактных цифровых автоматов; типами абстрактных автоматов; способами задания абстрактных автоматов; связью между моделями Мили и Мура; эквивалентными автоматами и эквивалентными преобразованиями автоматов; минимизацией числа внутренних состояний автомата и алгоритмом Ауфенкампа-Хона - привели примеры.

Список литературы

1. Самофалов К.Г., Романкевич А.М., и др. Прикладная теория цифровых автоматов. - Киев. “Вища школа" 1987.

2. Соловьев Г.Н. Арифметические устройства ЭВМ. - М. “Энергия”. 1978.

3. Савельев А.Я. Прикладная теория цифровых автоматов - М. “Высшая школа”. 1987.

4. Каган Б.М. Электронные вычислительные машины и системы. - М. Энергоатомиздат. 1985.

5. Лысиков Б.Г. Арифметические и логические основы цифровых автоматов. - Минск. “Вышэйшая школа”. 1980.

верификация систем взаимодействующих процессов;
  • Языки описания документов и объектно-ориентированных программ;
  • Оптимизация логических программ др.
  • Об этом можно судить по выступлениям на семинаре " Software 2000…" ученых и специалистов.

    Дуг Росс: "…80 или даже 90 % информатики ( Computer Science ) будет в будущем основываться на теории конечных автоматов…"

    Herver Gallaire: "Я знаю людей из "Боинга", занимающихся системами стабилизации самолетов с использованием чистой теории автоматов. Даже трудно себе представить, что им удалось с помощью этой теории. "

    Brian Randell: "Большая часть теории автоматов была успешно использована в системных программах и текстовых фильтрах в ОС UNIX . Это позволяет множеству людей работать на высоком уровне и разрабатывать очень эффективные программы".

    1.1. Основные понятия и определения.

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

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


    Рис. 1.1.

    Таким образом, существуют более сложные преобразователи информации (ПИ), реакция которых зависит не только от входных сигналов в данный момент, но и от того, что было раньше, от входной истории. Такие ПИ называются автоматами (схемами с памятью). В этом случае говорят об автоматном преобразовании информации (рис.1.1,б). На один и тот же входной сигнал автомат может реагировать по-разному, в зависимости от состояния, в котором он находился. Автомат меняет свое состояние с каждым входным сигналом.

    Рассмотрим несколько примеров.

    Пример 1 1Карпов Ю.Г. Теория автоматов-СПб.:Питер, 2003 . Автомат , описывающий поведение "умного" отца.

    Опишем поведение отца, сын которого учится в школе и приносит двойки и пятерки. Отец не хочет хвататься за ремень каждый раз, как только сын получит двойку, и выбирает более тонкую тактику воспитания. Зададим такой автомат графом , в котором вершины соответствуют состояниям, а дуга из состояния s в состояние q , помеченное x/y , проводится тогда, когда автомат из состояния s под воздействием входного сигнала х переходит в состояние q с выходной реакцией y . Граф автомата , моделирующего умное поведение родителя, представлен на рис.1.2. Этот автомат имеет четыре состояния , два входных сигнала - оценки и выходные сигналы , которые будем интерпретировать как действия родителя следующим образом:

    Брать ремень;

    Ругать сына;

    Успокаивать сына;

    Надеяться;

    Радоваться;

    Ликовать.


    Рис. 1.2.

    Сына, получившего одну и ту же оценку - двойку, ожидает дома совершенно различная реакция отца в зависимости от предыстории его учебы. Например, после третьей двойки в истории сына встретят ремнем, а в истории будут успокаивать и т.д.

    Конечный автомат может быть реализован как программно, так и аппаратно. Программную реализацию можно выполнить на любом языке высокого уровня разными способами. На рис.1.3 представлена блок-схема программы, реализующей поведение автомата примера 1. Нетрудно увидеть, что топология блок-схемы программы повторяет топологию графа переходов автомата . С каждым состоянием связана операция NEXT , выполняющая функцию ожидания очередного события прихода нового входного сигнала и чтения его в некоторый стандартный буфер х , а также последующий анализ того, какой это сигнал. В зависимости от того, какой сигнал пришел на вход, выполняется та или иная функция и происходит переход к новому состоянию.


    Рис. 1.3.

    Аппаратную реализацию автомата рассмотрим во второй части этого раздела.

    Пример 2. "Студент"

    Автомат , модель которого представлена на рис.1.4 , описывает поведение студента и преподавателей.


    Рис. 1.4.

    Состояния;

    - входные сигналы: "н", "2" и "5".

    Выходные реакции:

    Пример 3 1 . Электронные часы (рис.1.5).

    Электронные часы разнообразных функциональных возможностей являются одним из наиболее широко применяемых в быту электронных приборов, управление которыми построено на основе конечноавтоматной модели. Они обычно показывают: время, дату; у них имеется функции такие как "установка времени и даты", "Секундомер", "Будильник"и т.п. Упрощенная структурная схема электронных часов показана нарис.1.5


    Рис. 1.5.

    Регистры отображают либо время, либо дату, либо секундомер в зависимости от "Управления". Устройство управления построено на основе модели конечного автомата . Конечный автомат реагирует на нажатия кнопки "а" на корпусе переходом в состояние "Установка минут", в котором событие нажатия кнопки "b" вызовет увеличение числа.

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

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

    Абстрактный цифровой автомат А определяется совокупностью пяти объектов где - множество входных сигналов автомата А (входной алфавит автомата А); - множество состояний автомата А (алфавит состояний автомата - множество выходных сигналов автомата А (выходной алфавит автомата А); - функция переходов

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

    Иныш словами, функция переходов показывает, что автомат А, находясь в некотором состоянии при появлении входного сигнала , переходит в некоторое состояние Последнее может быть записано также и выражением Функция выходов задающая отображение показывает, что автомат Л, находясь в некотором состоянии при появлении входного сигнала , выдает выходной сигнал Последнее может быть записано выражением

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

    Произвольный абстрактный автомат Милан или Мура имеет один входной и один выходной каналы (рис. 10.1). Произвольный абстрактный С-автомат имеет один входной и два выходных канала (рис. 10.2).

    Выделяют полностью определенные и частичные автоматы.

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

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

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

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

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

    автомат Мура - системой уравнений;

    а С-автомат - системой уравнений:

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

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

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

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

    Таблица 10.1

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

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

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

    Таблица переходов произвольного полностью определенного абстрактного автомата строится следующим образом. Столбцы таблицы помечаются буквами входного алфавита автомата, а строки таблицы - буквами алфавита состояний автомата. В клетке таблицы переходов, находящейся на пересечении столбца, отмеченного входным сигналом и строки, отмеченной состоянием ставится состояние являющееся результатом перехода автомата из состоянии под воздействием входного сигнала что определяется выражением Пример, таблицы переходов некоторого абстрактного полностью определенного автомата с входным алфавитом и алфавитом состояний представлен в табл. 10.1. Если абстрактный автомат частичный, то в клетке таблицы его переходов, находящейся на пересечении столбца, отмеченного входным сигналом и строки, отмеченной состоянием (при условии, что переход из состояния под воздействием входного сигнала неопределен), ставится прочерк, и любое входное слово, приводящее к указанному переходу, является запрещенным. Заполнение остальных клеток аналогично случаю полностью определенного автомата. Пример таблицы переходов некоторого абстрактного частичного автомата с входным алфавитом и алфавитом состояний представлен в табл. 10.2. Вид таблицы переходов не зависит от типа задаваемого автомата (автомат Мура, Мили, С-автомат). Таблицы выходов автомата Мура, Мили, С-автомата имеют различия. Таблица выходов полностью определенного автомата Мили строятся следующим образом. Идентификация столбцов и строк, а также формат таблицы соответствует таблице переходов полностью определенного автомата. В клетке таблицы выходов,

    Таблица 10.2

    Таблица 10.3

    Таблица 10.4

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

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

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

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

    Прочерки в некоторых клетках таблицы выходов частичного автомата Мура не связаны с прочерками в клетках его таблицы переходов. Это определяется тем, что выходной сигнал автомата Мура зависит только от состояния, в котором находится автомат. Например, таблица выходов частичного автомата Мура, заданного таблицей переходов (табл. 10.2),

    Таблица 10.5

    Таблица 10.6.

    Таблица 10.7

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

    На практике таблицы переходов и выходов автомата часто совмещаются в одну таблицу, называемую отмеченной таблицей переходов автомата. Отмеченная таблица переходов полностью определенного автомата Мили, представленного таблицей переходов (табл. 10.1) и таблицей выходов (табл. 10.3), сведена в табл. 10.7. Отмеченная таблица переходов частичного автомата Мура (табл. 10.2) и таблица выходов (табл. 10.4), сведена в табл. 10.8.

    Кроме рассмотренных выше таблиц переходов и выходов, произвольный абстрактный автомат может быть описан матрицей соединений. Такое описание - один из способов матричного задания абстрактных автоматов. Матрица соединений произвольного абстрактного автомата является квадратной и содержит столько столбцов (строк), сколько различных состояний имеет рассматриваемый автомат. Каждый столбец (строка) матрицы соединений помечается буквой состояния автомата. Если автомат инициальный, то первый слева столбец и первая сверху строка матрицы его соединений помечаются буквой начального состояния автомата В клетке матрицы соединений, находящейся на пересечении столбца, помеченного буквой состояния и строки, помеченной буквой состояния автомата, ставится входной сигнал (или дизъюнкция входных сигналов), под воздействием которого осуществляется переход автомата из состояния в состояние Если матрицей соединения задается абстрактный автомат Милн, то рядом с буквой входного сигнала в скобках указывается буква выходного сигнала который автомат Мили выдает, осуществляя переход Матрица соединений некоторого автомата Мили, представленного отмеченной таблицей переходов (табл. 10.7), показана на рис. 10.3.

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

    Таблица 10.8

    При графическом способе задания абстрактные автоматы представляются ориентированными графами; состояния автомата изображаются вершинами графа, а переходы между состояниями - дугами между соответствующими вершинами. При этом каждой дуге графа приписывается некоторая буква входного алфавита автомата, указывающая, что данный переход автомата осуществляется только при появлении входного сигнала и каждой вершине графа - буква соответствующего состояния автомата. Если графом изображается автомат Мила, то выходные сигналы автомата проставляются на дугах графа (в соответствии с таблицей выходов автомата) рядом с буквой входного сигнала. Пример графа автомата Мили, заданного таблицей переходов (табл. 10.1) и таблицей выходов (табл. 10.3), показан на рис. 10.4. Если графом изображается автомат Мура, то выходные сигналы автомата проставляются около вершин графа (в соответствии с таблицей выходов автомата). Пример графа автомата Мура, заданного таблицей переходов (табл. 10.2) и таблицей выходов (табл. 10.4), показан на рис. 10.5.

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

    Аналитическое задание автомата Мили, представленного отмеченной таблицей переходов (табл. 10.7), имеет следующий вид.

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

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

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

    Пример. Построить абстрактный цифровой автомат управления переключением спетофора при условии, что на вход автомата поступает только сигнал «переключить светофор». Обозначим этот сигнал буквой а его отсутствие - буквой

    Очевидно, входной алфавит X такого автомата будет состоять из двух букв: Так как синтезируемый автомат должен обеспечивать переключение светофора в красный, желтый и зеленый цвет, то введем три соответствующих выходных сигнала управления Положим также, что в момент начала функционирования автомат находится в состоянии Алгоритм работы тривиален; возможное решение для автомата Мили показано на рис. 10.6, а для автомата Мура - на рис. 10.7. Для (упрощения полагаем, что в начальный момент времени автомат Мура выдает выходной сигнал «включить зеленый цвет». Отметим, что для построения графа автомата потребуется ввести четыре различных состояния. Число состояний можно уменьшить, например увеличив число входных сигналов автомата либо расширив возможности автомата в плане запоминания предыстории развития процесса управления во времени (в рассматриваемом примере запоминается только момент выдачи последнего выходного сигнала).

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