В теории вычислений автомат Мура — это конечный автомат , текущие выходные значения которого определяются только его текущим состоянием . Это контрастирует с автоматом Мили , выходные значения которого определяются как его текущим состоянием, так и значениями его входов. Как и в других конечных автоматах, в автоматах Мура вход обычно влияет на следующее состояние. Таким образом, вход может косвенно влиять на последующие выходы, но не на текущий или немедленный выход. Машина Мура названа в честь Эдварда Ф. Мура , который представил эту концепцию в статье 1956 года « Мысленные эксперименты на последовательных машинах». [1]
Машину Мура можно определить как 6-кортеж, состоящий из следующих элементов:
«Эволюция во времени» реализуется в этой абстракции посредством того, что конечный автомат обращается к изменяющемуся во времени входному символу в дискретные «такты таймера» и реагирует в соответствии со своей внутренней конфигурацией в эти идеализированные моменты, или же посредством того, что конечный автомат ждет следующего входного символа (как в FIFO) и реагирует всякий раз, когда он поступает.
Машину Мура можно рассматривать как ограниченный тип конечного преобразователя .
Таблица переходов состояний — это таблица, в которой перечислены все триплеты в отношении перехода .
Диаграмма состояний машины Мура, или диаграмма Мура, представляет собой диаграмму состояний, которая связывает выходное значение с каждым состоянием.
Поскольку автоматы Мура и Мили являются типами конечных автоматов, они одинаково выразительны: любой из них может использоваться для синтаксического анализа обычного языка .
Разница между автоматами Мура и автоматами Мили заключается в том, что в последнем выход перехода определяется комбинацией текущего состояния и текущего входа ( как области ), а не только текущим состоянием ( как области ). При представлении в виде диаграммы состояний ,
Каждый автомат Мура эквивалентен автомату Мили с теми же состояниями и переходами, а также выходной функцией , которая берет каждую пару состояние-вход и выдает , где — выходная функция, а — функция перехода.
Однако не каждый автомат Мили можно преобразовать в эквивалентный автомат Мура. Некоторые можно преобразовать только в почти эквивалентный автомат Мура, со смещенными во времени выходами. Это связано со способом, которым метки состояний спариваются с метками переходов для формирования пар вход/выход. Рассмотрим переход из состояния в состояние . Вход, вызывающий переход, помечает ребро . Выход, соответствующий этому входу, является меткой состояния . [2] Обратите внимание, что это исходное состояние перехода. Таким образом, для каждого входа выход уже зафиксирован до получения входа и зависит исключительно от текущего состояния. Это оригинальное определение Э. Мура. Распространенной ошибкой является использование метки состояния в качестве выхода для перехода .
Типы по количеству входов/выходов.
Простые машины Мура имеют один вход и один выход:
Большинство цифровых электронных систем спроектированы как тактируемые последовательные системы . Тактируемые последовательные системы являются ограниченной формой машины Мура, где состояние изменяется только при изменении глобального тактового сигнала. Обычно текущее состояние хранится в триггерах , а глобальный тактовый сигнал подключен к «тактовому» входу триггеров. Тактируемые последовательные системы являются одним из способов решения проблем метастабильности . Типичная электронная машина Мура включает в себя комбинационную логическую цепь для декодирования текущего состояния в выходы (лямбда). В тот момент, когда текущее состояние изменяется, эти изменения распространяются по этой цепи, и почти мгновенно выход обновляется. Существуют методы проектирования, гарантирующие, что на выходах не возникнет никаких сбоев в течение этого короткого периода, пока эти изменения распространяются по цепи, но большинство систем спроектированы так, что сбои в течение этого короткого переходного времени игнорируются или не имеют значения. Затем выходы остаются неизменными неопределенно долго ( светодиоды остаются яркими, питание остается подключенным к двигателям, соленоиды остаются включенными и т. д.), пока машина Мура снова не изменит состояние.
Последовательная сеть имеет один вход и один выход. Выход становится 1 и остается 1 после того, как в качестве входов появились по крайней мере два 0 и две 1.
Справа показана машина Мура с девятью состояниями для приведенного выше описания. Начальное состояние — состояние A, а конечное состояние — состояние I. Таблица состояний для этого примера выглядит следующим образом:
Более сложные машины Мура могут иметь как несколько входов, так и несколько выходов.
В статье Мура 1956 года " Gedanken-experiments on Sequential Machines", [1] автоматы (или машины) определяются как имеющие состояния, входные символы и выходные символы. Доказано девять теорем о структуре и экспериментах с . Позже " машины" стали называться "машинами Мура".
В конце статьи, в разделе «Дополнительные задачи», ставится следующая задача:
Другая непосредственно следующая проблема — улучшение оценок, данных в теоремах 8 и 9.
Теорема Мура 8 формулируется следующим образом:
Если задана произвольная машина , такая, что любые два ее состояния различимы друг от друга, то существует эксперимент длины , который определяет состояние в конце эксперимента.
В 1957 году А.А. Карацуба доказал следующие две теоремы, которые полностью решили проблему Мура об улучшении границ длины эксперимента его «Теоремы 8».
Теорема А. Если — машина, в которой любые два ее состояния различимы друг от друга, то существует разветвленный эксперимент длиной не более , с помощью которого можно определить состояние в конце эксперимента.
Теорема B. Существует машина, любые два состояния которой различимы друг от друга, такая, что длина самого короткого эксперимента, устанавливающего состояние машины в конце эксперимента, равна .
Теоремы А и В легли в основу курсовой работы студента четвертого курса А.А. Карацубы «Об одной задаче из теории автоматов», которая была отмечена благодарственным отзывом на конкурсе студенческих работ механико-математического факультета МГУ в 1958 году. Работа Карацубы была передана в журнал «Успехи математических наук» 17 декабря 1958 года и опубликована там в июне 1960 года. [3]
До настоящего времени (2011 г.) результат Карацубы о длительности экспериментов является единственным точным нелинейным результатом как в теории автоматов, так и в схожих задачах теории сложности вычислений .
Машина Мура и Мили