В математике и теоретической информатике полуавтомат — это детерминированный конечный автомат, имеющий входы, но не имеющий выходов. Он состоит из множества Q состояний , множества Σ, называемого входным алфавитом, и функции T : Q × Σ → Q , называемой функцией перехода.
С любым полуавтоматом связан моноид , называемый характеристическим моноидом , входным моноидом , переходным моноидом или переходной системой полуавтомата, который действует на множество состояний Q. Это можно рассматривать либо как действие свободного моноида строк во входном алфавите Σ, либо как индуцированную полугруппу преобразований Q.
В более старых книгах, таких как Клиффорд и Престон (1967), полугрупповые действия называются «операндами».
В теории категорий полуавтоматы по сути являются функторами .
Полугруппа преобразований или моноид преобразований — это пара, состоящая из множества Q (часто называемого «множеством состояний ») и полугруппы или моноида M функций или «преобразований», отображающих Q в себя. Они являются функциями в том смысле, что каждый элемент m из M является отображением . Если s и t — две функции полугруппы преобразований, их полугрупповое произведение определяется как их композиция функций .
Некоторые авторы считают «полугруппу» и «моноид» синонимами. Здесь полугруппа не обязательно должна иметь элемент тождества ; моноид — это полугруппа с элементом тождества (также называемым «единицей»). Поскольку понятие функций, действующих на множество, всегда включает понятие функции тождества, которая при применении к множеству ничего не делает, полугруппу преобразований можно превратить в моноид, добавив функцию тождества.
Пусть M — моноид , а Q — непустое множество. Если существует мультипликативная операция
который удовлетворяет свойствам
для 1 единица моноида, и
для всех и , то тройка называется правым M -актом или просто правым актом . В длинной записи — это правое умножение элементов Q на элементы M . Правый акт часто записывается как .
Левый акт определяется аналогично, с
и часто обозначается как .
M -акт тесно связан с моноидом преобразования. Однако элементы M не обязательно должны быть функциями per se , они являются просто элементами некоторого моноида. Поэтому необходимо потребовать , чтобы действие было согласовано с умножением в моноиде ( т.е. ), поскольку, в общем случае, это может не выполняться для некоторого произвольного , как это происходит для композиции функций.
Как только вы выдвигаете это требование, можно совершенно безопасно опустить все скобки, поскольку моноидное произведение и действие моноида на множестве полностью ассоциативны . В частности, это позволяет представлять элементы моноида как строки букв в компьютерно-научном смысле слова «строка». Эта абстракция затем позволяет говорить о строковых операциях в целом и в конечном итоге приводит к концепции формальных языков как состоящих из строк букв. [ необходимо дальнейшее объяснение ]
Другое различие между M -актом и моноидом преобразования состоит в том, что для M -акта Q два различных элемента моноида могут определять одно и то же преобразование Q. Если мы требуем, чтобы этого не происходило, то M -акт по сути то же самое, что и моноид преобразования.
Для двух M -полигонов , имеющих один и тот же моноид , M -гомоморфизм — это отображение, такое что
для всех и . Множество всех M -гомоморфизмов обычно записывается как или .
M - акты и M -гомоморфизмы вместе образуют категорию, называемую M -акт . [1]
Полуавтомат — это тройка , где — непустое множество, называемое входным алфавитом , Q — непустое множество, называемое множеством состояний , а T — функция перехода.
Когда множество состояний Q является конечным множеством (это не обязательно), полуавтомат можно рассматривать как детерминированный конечный автомат , но без начального состояния или множества допустимых состояний A. С другой стороны, это конечный автомат , который не имеет выхода, а имеет только вход.
Любой полуавтомат индуцирует акт моноида следующим образом.
Пусть — свободный моноид, порожденный алфавитом ( так что верхний индекс * понимается как звезда Клини ); это множество всех строк конечной длины, составленных из букв в .
Для каждого слова w в пусть будет функцией, определенной рекурсивно следующим образом для всех q в Q :
Пусть будет набор
Множество замкнуто относительно композиции функций ; то есть для всех , имеет место . Оно также содержит , которая является тождественной функцией на Q . Поскольку композиция функций ассоциативна , множество является моноидом: оно называется входным моноидом , характеристическим моноидом , характеристической полугруппой или переходным моноидом полуавтомата .
Если множество состояний Q конечно, то функции перехода обычно представляются в виде таблиц переходов состояний . Структура всех возможных переходов, управляемых строками в свободном моноиде, имеет графическое изображение в виде графа де Брейна .
Набор состояний Q не обязательно должен быть конечным или даже счетным. Например, полуавтоматы лежат в основе концепции квантовых конечных автоматов . Там набор состояний Q задается комплексным проективным пространством , а отдельные состояния называются кубитами с n -состояниями . Переходы состояний задаются унитарными матрицами n × n . Входной алфавит остается конечным, и другие типичные проблемы теории автоматов остаются в игре. Таким образом, квантовый полуавтомат можно просто определить как тройку , когда алфавит состоит из p букв, так что для каждой буквы существует одна унитарная матрица . Сформулированный таким образом, квантовый полуавтомат имеет много геометрических обобщений. Так, например, можно взять риманово симметричное пространство вместо и выборки из его группы изометрий в качестве функций перехода.
Синтаксический моноид регулярного языка изоморфен моноиду перехода минимального автомата, принимающего этот язык.