Как работает недетерминированная машина Тьюринга?

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

"недетерминированно угадайте биекцию P вершин из Графа G В Граф H" (контекст здесь-изоморфизм графа)

Что это значит? Я понимаю биекцию, но она говорит "не детерминистически угадать". Если это угадывание, как это алгоритмический подход? Как это может гарантировать, что идешь на работу?

4 ответов


есть разные способы представить один. Один я нахожу полезную модель оракула. Вы когда-нибудь видели мультфильм На дальней стороне, где вывод на доске имеет "здесь происходит чудо" в качестве одного из промежуточных шагов? В этой версии NDTM, когда вам нужно что-то выбрать, oracle пишет правильную версию в правой части ленты. (Это взято у Гэри и Джонсона,компьютеры и несговорчивость, их классическая книга о NP-полных проблемах.) Вы не позволено предполагать, что у вас есть правильный, хотя, и не может быть правильного.

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

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

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


Они не делают, они просто иллюстрируют точку. В основном они угадывают ответ и проверяют, правильно ли он(детерминированно). Однако важно не угадывание ответа, а проверка правильности ответа. Это как сказать, что дано произвольное решение, правильно? Например, есть проблемы, для вычисления которых требуется экспоненциальное время, и некоторые из их ответов можно проверить в полиномиальное время, но некоторые не могут. Итак, что такое недетерминированная TM он делит эти два, те, которые можно быстро проверить, от тех, которые не могут. И тогда возникает более важный вопрос: если одна группа вопросов может быть проверена гораздо быстрее, чем другая, могут ли их решения также быть сгенерированы быстрее? На этот вопрос пока нет ответа.


Я считаю, что это означает "не детерминированно выбрать решение", а затем проверить, что решение истинно. Поскольку все возможные варианты (догадки) проверены, решение гарантировано.


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

  1. получить / сделать кучу последовательностей ДНК, каждая с длиной, пропорциональной стоимости ребра в вашем графике, и липкими концами с последовательностями, однозначно идентифицирующими одну из вершин, которые соединяет ребро.

  2. смешайте их вместе, с лигазой ДНК в большом мензурка. Они будут обжигать друг друга в последовательностях, которые представляют каждый возможный путь через график (хорошо, не очень длинные).

  3. удалите все последовательности, в которых отсутствует хотя бы одна вершина. Для этого последовательно выбираем для каждой вершины с помощью гибридизации. Например, если" ACGTACA "кодирует вершину 1, Выберите для последовательностей, которые связываются с"TGTACGA". Затем повторите этот выбор для каждой другой вершины.

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