Как работает недетерминированная машина Тьюринга? - PullRequest
7 голосов
/ 25 января 2010

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

«Не детерминистически угадать биекцию p вершин из графа G в граф H» (контекст здесь - изоморфизм графов)

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

Ответы [ 4 ]

2 голосов
/ 09 июня 2010

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

1 голос
/ 25 января 2010

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

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

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

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

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

1 голос
/ 25 января 2010

Есть разные способы изобразить один. Один, который я считаю полезным, это модель оракула. Вы когда-нибудь видели мультсериал «Дальняя сторона», где деривация на доске имеет «Здесь происходит чудо» как один из промежуточных шагов? В этой версии NDTM, когда вам нужно что-то выбрать, оракул записывает правильную версию в правой части ленты. (Это взято из Garey and Johnson, Computers and Intractability , их классической книги по NP-полным задачам.) Однако вы не можете предполагать, что у вас есть правильный вариант, и, возможно, нет будь правильным.

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

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

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

1 голос
/ 25 января 2010

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

...