Недетерминированная машина Тьюринга

редактировать
Теоретическая модель вычислений

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

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

Содержание
  • 1 Предпосылки
    • 1.1 Детерминированная машина Тьюринга
  • 2 Интуиция
    • 2.1 Разрешение множественных правил
  • 3 Определение
    • 3.1 Альтернативные определения
  • 4 Вычислительная эквивалентность с DTM
    • 4.1 DTM как частный случай NTM
    • 4.2 Моделирование DTM NTM
      • 4.2.1 Множественность состояний конфигурации
      • 4.2.2 Множественность лент
      • 4.2.3 Временная сложность и P в сравнении с NP
  • 5 Ограниченный недетерминизм
  • 6 Сравнение с квантовыми компьютерами
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
Предпосылки

По сути, машина Тьюринга воображается как простой компьютер, который считывает и записывает символы по одному на бесконечную ленту, строго следуя набору правил. Он определяет, какое действие он должен выполнить дальше, в зависимости от его внутреннего состояния и того, какой символ он видит в данный момент. Примером одного из правил машины Тьюринга может быть: «Если вы находитесь в состоянии 2 и видите« A », измените его на« B », переместитесь влево и перейдите в состояние 3».

Детерминированная машина Тьюринга

В детерминированной машине Тьюринга (DTM) набор правил предписывает не более одного действия, которое должно быть выполнено для любой данной ситуации.

Детерминированная машина Тьюринга имеет функцию перехода, которая для данного состояния и символа под головкой ленты определяет три вещи:

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

Например, X на ленте в состоянии 3 может заставить ЦММ записать Y на ленте, переместите головку на одну позицию вправо и переключитесь в состояние 5.

Интуиция
Сравнение детерминированных и недетерминированных вычислений

В отличие от детерминированной машины Тьюринга в недетерминированная машина Тьюринга (NTM ) набор правил может предписывать более одного действия, которое должно быть выполнено для любой данной ситуации. Например, X на ленте в состоянии 3 может позволить NTM:

  • Записать Y, перейти вправо и переключиться в состояние 5

or

  • Записать X, переместиться влево и остаться в состоянии 3.

Разрешение нескольких правил

Как NTM «знает», какие из этих действий ему следует предпринять? На это можно взглянуть двумя способами. Один из них - сказать, что машина - «самый удачливый из возможных догадчиков»; он всегда выбирает переход, который в конечном итоге приводит к состоянию принятия, если такой переход есть. Другой - представить, что машина «разветвляет » на множество копий, каждая из которых следует за одним из возможных переходов. В то время как DTM имеет единственный «путь вычисления», по которому следует, NTM имеет «дерево вычислений». Если хотя бы одна ветвь дерева останавливается с условием «принять», NTM принимает ввод.

Определение

Недетерминированную машину Тьюринга можно формально определить как набор из шести элементов M = (Q, Σ, ι, ⊔, A, δ) {\ displaystyle M = ( Q, \ Sigma, \ iota, \ sqcup, A, \ delta)}M = (Q, \ Sigma, \ iota, \ sqcup, A, \ delta) , где

  • Q {\ displaystyle Q}Q - конечный набор состояний
  • Σ {\ Displaystyle \ Sigma}\ Sigma - конечный набор символов (ленточный алфавит)
  • ι ∈ Q {\ displaystyle \ iota \ in Q}\ iota \ in Q - начальное состояние
  • ⊔ ∈ Σ {\ displaystyle \ sqcup \ in \ Sigma}\ sqcup \ in \ Sigma - пустой символ;
  • A ⊆ Q {\ displaystyle A \ substeq Q}A \ substeq Q - набор принимающих ( конечное) состояния
  • δ ⊆ (Q ∖ A × Σ) × (Q × Σ × {L, S, R}) {\ displaystyle \ delta \ substeq \ left (Q \ backslash A \ times \ Sigma \ right) \ times \ left (Q \ times \ Sigma \ times \ {L, S, R \} \ right)}{\ displaystyle \ delta \ substeq \ left (Q \ обратная косая черта A \ times \ Sigma \ right) \ times \ left (Q \ times \ Sigma \ times \ {L, S, R \ } \ right)} - это отношение состояний и символов, называемое отношением перехода. L {\ displaystyle L}L - движение влево, S {\ displaystyle S}S - отсутствие движения и R {\ displaystyle R }R - это движение вправо.

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

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

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

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

Альтернативные определения

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

Движение головы в выходных данных отношения перехода часто кодируется численно вместо использования букв для обозначения перемещения головы влево (-1), неподвижно (0) и вправо (+1); дает выход функции перехода (Q × Σ × {- 1, 0, + 1}) {\ displaystyle \ left (Q \ times \ Sigma \ times \ {- 1,0, + 1 \} \ right)}{\ displaystyle \ left (Q \ times \ Sigma \ times \ {- 1,0, + 1 \} \ right)} . Обычно опускают стационарный (0) выход и вместо этого вставляют транзитивное замыкание любых желаемых стационарных переходов.

Некоторые авторы добавляют явное состояние отказа, которое заставляет NTM останавливаться без принятия. Это определение по-прежнему сохраняет асимметрию, которую может принять любая недетерминированная ветвь, но каждая ветвь должна отклонить, чтобы строка была отклонена.

Вычислительная эквивалентность с DTM

Любая вычислительная проблема, которая может быть решена с помощью DTM, также может быть решена с помощью NTM, и наоборот. Однако считается, что в целом временная сложность может быть не такой же.

DTM как частный случай NTM

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

DTM-симуляция NTM

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

Множественность состояний конфигурации

Один из подходов заключается в использовании DTM, конфигурации которого представляют несколько конфигураций NTM, а операция DTM заключается в посещении каждой из них по очереди, выполняя одну step при каждом посещении и порождает новые конфигурации всякий раз, когда отношение перехода определяет несколько продолжений.

Множественность лент

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

Временная сложность и P в сравнении с NP

Во второй конструкции построенная DTM эффективно выполняет поиск в ширину дерева вычислений NTM, посещая все возможные вычисления NTM в порядке увеличения длины, пока не найдет принимающий. Следовательно, длина принимающего вычисления DTM, как правило, экспоненциальна от длины самого короткого принимающего вычисления NTM. Считается, что это общее свойство моделирования NTM с помощью DTM. Проблема P = NP, самый известный нерешенный вопрос в информатике, касается одного случая этой проблемы: обязательно ли каждая проблема, решаемая с помощью NTM за полиномиальное время, также может быть решена с помощью DTM за полиномиальное время..

Ограниченный недетерминизм

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

Сравнение с квантовыми компьютерами
Предполагаемая форма круга проблем , решаемых квантовыми компьютерами за полиномиальное время (BQP). Обратите внимание, что на рисунке предполагается P ≠ NP {\ displaystyle {\ mathsf {P}} \ neq {\ mathsf {NP}}}{\ displaystyle {\ mathsf {P}} \ neq {\ mathsf {NP}}} и NP ≠ PSPACE {\ displaystyle {\ mathsf {NP}} \ neq {\ mathsf {PSPACE}}}{\ displaystyle {\ mathsf {NP}} \ neq {\ mathsf {PSPACE}}} . Если это не так, то рисунок должен выглядеть иначе.

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

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

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 12:09:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте