В теории вычислительной сложности , альтернативная машина Тьюринга ( ATM ) является недетерминированной машиной Тьюринга ( NTM ) с правилом для принятия вычислений , которое обобщает правила , используемые в определении классов сложности NP и co-NP . Концепция ATM была изложена Чандра и Стокмейер [1] и независимо Козен [2] в 1976 году, с совместной публикацией журнала в 1981 году. [3]
Определение NP использует экзистенциальный режим вычисления: если любой выбор приводит к принимающему состоянию, то все вычисление принимает. Определение co-NP использует универсальный режим вычисления: только если все выборы ведут к принимающему состоянию, то все вычисление принимает. Альтернативная машина Тьюринга (или, если быть точнее, определение принятия для такой машины) чередует эти режимы.
Альтернативная машина Тьюринга — это недетерминированная машина Тьюринга , состояния которой делятся на два множества: экзистенциальные состояния и универсальные состояния . Экзистенциальное состояние является принимающим, если некоторый переход приводит к принимающему состоянию; универсальное состояние является принимающим, если каждый переход приводит к принимающему состоянию. (Таким образом, универсальное состояние без переходов принимает безусловно; экзистенциальное состояние без переходов отвергает безусловно). Машина в целом принимает, если начальное состояние является принимающим.
Формально (одноленточная) чередующаяся машина Тьюринга представляет собой 5- кортеж , где
Если M находится в состоянии с , то говорят, что эта конфигурация принимает , а если конфигурация — отвергает . Конфигурация с называется принимающей, если все конфигурации, достижимые за один шаг, являются принимающими, и отвергающей, если некоторая конфигурация, достижимая за один шаг, является отвергающей. Конфигурация с называется принимающей, когда существует некоторая конфигурация, достижимая за один шаг, которая принимает, и отвергающей, когда все конфигурации, достижимые за один шаг, являются отвергающими (это тип всех состояний в классической NTM, за исключением конечного состояния). Говорят, что M принимает входную строку w, если начальная конфигурация M (состояние M — , головка находится на левом конце ленты, и лента содержит w ) принимает, и отвергает, если начальная конфигурация является отвергающей.
Обратите внимание, что конфигурация не может быть одновременно принимающей и отклоняющей, однако некоторые конфигурации могут не быть ни принимающими, ни отклоняющими из-за возможности незавершения вычислений.
При принятии решения о том, является ли конфигурация банкомата принимающей или отклоняющей, используя приведенное выше определение, не всегда необходимо проверять все конфигурации, достижимые из текущей конфигурации. В частности, экзистенциальная конфигурация может быть помечена как принимающая, если любая последующая конфигурация оказывается принимающей, а универсальная конфигурация может быть помечена как отклоняющая, если любая последующая конфигурация оказывается отклоняющей.
ATM определяет формальный язык во времени , если при любом вводе длины n достаточно изучить конфигурации только до шагов, чтобы пометить начальную конфигурацию как принимающую или отклоняющую. ATM определяет язык в пространстве , если достаточно изучить конфигурации, которые не изменяют ячейки ленты за пределами ячейки слева.
Говорят , что язык, который определяется некоторой банкоматом во времени для некоторой константы, принадлежит классу , а язык, определенный в пространстве, принадлежит классу .
Возможно, наиболее естественной проблемой для решения чередующимися машинами является проблема квантифицированной булевой формулы , которая является обобщением проблемы булевой выполнимости, в которой каждая переменная может быть связана либо экзистенциальным, либо всеобщим квантификатором. Чередующаяся машина разветвляется экзистенциально, чтобы перебрать все возможные значения экзистенциально квантифицированной переменной, и универсально, чтобы перебрать все возможные значения универсально квантифицированной переменной в порядке слева направо, в котором они связаны. После определения значения для всех квантифицированных переменных машина принимает, если полученная булева формула оценивается как истинная, и отклоняет, если она оценивается как ложная. Таким образом, при экзистенциально квантифицированной переменной машина принимает, если значение может быть заменено на переменную, которая делает оставшуюся проблему выполнимой, а при универсально квантифицированной переменной машина принимает, если любое значение может быть заменено, и оставшаяся проблема выполнима.
Такая машина решает квантифицированные булевы формулы во времени и пространстве .
Проблему выполнимости булевых уравнений можно рассматривать как особый случай, в котором все переменные квантифицированы экзистенциально, что позволяет эффективно решать ее с помощью обычного недетерминизма, использующего только экзистенциальное ветвление.
Для банкоматов полезно определить следующие классы сложности :
Они похожи на определения P , PSPACE и EXPTIME , учитывая ресурсы, используемые банкоматом, а не детерминированной машиной Тьюринга. Чандра, Козен и Стокмейер [3] доказали теоремы
когда и .
Более общая форма этих отношений выражена тезисом о параллельных вычислениях .
Альтернативная машина Тьюринга с k чередованиями — это альтернативная машина Тьюринга, которая переключается из экзистенциального в универсальное состояние или наоборот не более k −1 раз. (Это альтернативная машина Тьюринга, состояния которой разделены на k множеств. Состояния в четных множествах являются универсальными, а состояния в нечетных множествах являются экзистенциальными (или наоборот). У машины нет переходов между состоянием в множестве i и состоянием в множестве j < i .)
это класс языков, разрешимых во времени машиной, начинающейся в экзистенциальном состоянии и чередующейся в большинстве моментов времени. Он называется j -м уровнем иерархии .
определяется таким же образом, но начиная с универсального состояния; он состоит из дополнений языков в .
определяется аналогично для вычислений с ограниченным пространством.
Рассмотрим задачу минимизации схемы : дана схема A, вычисляющая булеву функцию f , и число n , определите, существует ли схема с не более чем n вентилями, которая вычисляет ту же функцию f . Альтернативная машина Тьюринга с одним чередованием, начинающаяся в экзистенциальном состоянии, может решить эту задачу за полиномиальное время (угадывая схему B с не более чем n вентилями, затем переключаясь в универсальное состояние, угадывая вход и проверяя, что выход B на этом входе совпадает с выходом A на этом входе).
Говорят, что иерархия сворачивается до уровня j , если каждый язык на уровне иерархии находится на своем уровне j .
Как следствие теоремы Иммермана–Селепченьи , иерархия логарифмического пространства схлопывается до своего первого уровня. [4] Как следствие, иерархия схлопывается до своего первого уровня, когда пространство конструируемо [ требуется ссылка ] .
Альтернативная машина Тьюринга за полиномиальное время с k альтернативами, начинающаяся в экзистенциальном (соответственно, универсальном) состоянии, может решить все проблемы в классе (соответственно, ). [5] Эти классы иногда обозначаются и , соответственно. Подробности см. в статье о полиномиальной иерархии .
Другим частным случаем временных иерархий является логарифмическая иерархия .