Каковы последствия утверждения, что недетерминированная машина Тьюринга может решить NP за полиномиальное время?

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

Я могу согласиться с тем, что недетерминированная машина Тьюринга имеет несколько вариантов того, что делать для данного состояния и считываемого символа, и что она всегда будет выбирать лучший вариант, как указано в wikipedia.

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

Что я не могу понять, так это то, что, поскольку это воображаемая машина, что мы получаем, говоря, что она может решать задачи NP за полиномиальное время? Я имею в виду, что я мог бы также теоретизировать о волшебной машине, которая решает проблемы NP в O (1), что я от этого выиграю, если она может никогда не существовать?

Заранее спасибо.


person Clash    schedule 14.09.2010    source источник
comment
Это старая идея. Это называется Oracle Machine.   -  person Yuval Adam    schedule 15.09.2010


Ответы (6)


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

  1. Вместо того, чтобы запускать волшебную машину Тьюринга, которая является самым удачливым отгадывающим, запустите еще более волшебную мета-машину, которая устанавливает бесконечное количество случайно отгадывающих независимых машин Тьюринга в параллельных вселенных. Все возможные последовательности догадок сделаны в какой-то вселенной. Если хотя бы в одной из вселенных машина останавливается и принимает ввод, этого достаточно: экземпляр проблемы принимается мета-машиной, создавшей эти параллельные вселенные. Если во всех вселенных машина отклоняет или не может остановиться, мета-машина отклоняет экземпляр.

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

  3. # P4 #
    # P5 #
    # P6 #
    # P7 #
    # P8 #
    # P9 #
    # P10 #

Вы также сказали

Я также мог бы теоретизировать о волшебной машине, которая решает проблемы NP за O (1)

Да, ты можешь. Они называются оракульными машинами (не имеют отношения к СУБД), и они дали интересные результаты в теории сложности. . Например, теорема Бейкер-Гилла-Соловея утверждает, что существуют такие оракулы A и B, что для машин Тьюринга, имеющих доступ к A, P = NP, а для машин Тьюринга, имеющих доступ к B, PNP. (A - очень мощный оракул, который делает недетерминизм несущественным; определение B немного сложнее и включает уловку диагонализации.) Это своего рода мета-результат: любое доказательство, решающее вопрос P против NP, должно быть деликатным. Достаточно для определения машины Тьюринга, что она дает сбой при добавлении некоторых видов оракулов.


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

person Jouni K. Seppänen    schedule 03.10.2010
comment
+1. Я никогда не слышал об этой теореме оракула - звучит потрясающе. - person Edmund; 03.10.2010

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

Другими словами, вы можете использовать NTM, чтобы узнать, находится ли данная проблема в NP или нет.

person sepp2k    schedule 14.09.2010
comment
Не могли бы вы подробнее рассказать об этом? Как я могу доказать что-то подобное с помощью НТМ? - person Clash; 15.09.2010
comment
@Clash: вы создаете NTM, который решает проблему. Затем вы доказываете, что это правильно и выполняется за полиномиальное время. - person sepp2k; 15.09.2010
comment
Вы можете опубликовать пример, ссылку для изучения такой вещи? Я совершенно не понимаю, как это сделать. Я не привык думать недетерминированно. Спасибо! - person Clash; 15.09.2010
comment
@Clash: например, вы можете определить, имеет ли график трехцветную окраску, недетерминированно угадав ее. Для | V | В первых раундах вы назначаете цвет вершинам, а затем проверяете правильность вашей раскраски. См. Дополнительные примеры в NP-полных задачах. - person sdcvvc; 15.09.2010
comment
Спасибо sdwc, посмотрю! - person Clash; 15.09.2010

По определению NP означает недетерминированное полиномиальное время, которое можно найти в Википедии < / а>.

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

Следовательно, утверждение, что NTM может решить проблему за полиномиальное время, эффективно означает, что эта проблема находится в NP. Это снова эквивалентно определению класса проблем NP.

person Arc    schedule 14.09.2010
comment
Спасибо за разъяснения, но вы все еще не ответили на мой вопрос ... если таких удачных догадок не существует, почему это полезно ... это все равно что сказать: эй, если бы я мог узнать результаты лотереи до этого бывает, я был бы богат. NTM должен быть полезен для чего-то другого. Вот чего я не могу понять. - person Clash; 15.09.2010
comment
Есть надежда, что квантовые компьютеры (с некоторыми ограничениями) смогут одновременно тестировать все возможные пути решения и, следовательно, будут вести себя как самый удачливый из возможных NTM отгадывателей. Квантовые компьютеры выполняют вычисления с помощью кубитов, где любой набор кубитов представляет собой набор всех возможных комбинаций одного и того же числа обычных битов (суперпозиция). (Питер) Алгоритм Шора для факторинга чисел / взлома шифрования RSA использует это. - person Arc; 15.09.2010
comment
Однако сложная часть квантовых компьютеров - это защита суперпозиции от декогеренции (когда кубиты превращаются в обычные биты посредством физического взаимодействия с миром) и извлечение из нее правильного решения, в конце концов, путем декогеренции. - person Arc; 15.09.2010

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

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

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

См. http://en.wikipedia.org/wiki/Computational_complexity_theory#Complexity_classes для получения дополнительной информации. Информация.

person DanJ    schedule 14.09.2010
comment
Если NP можно также определить как проблемы, которые можно ПРОВЕРИТЬ в многостраничном режиме с помощью TM, зачем мне нужен NTM, которого даже не существует? Спасибо - person Clash; 15.09.2010
comment
проверка решения в политиме с помощью TM эквивалентна решению в политиме с помощью NTM. en.wikipedia.org/wiki/NP_ (сложность) # Verifier-based_definition (см. определение машины) - person DanJ; 15.09.2010
comment
Иногда проще придумать NTM, чем TM, но для того, чтобы доказать, что проблема является NP, оба решения действительны. - person DanJ; 15.09.2010

Из ивритской Википедии: «НТМ - это в основном инструмент для мышления, и на самом деле реализовать такую ​​машину невозможно». Вы можете заменить термин «NTM» на «Алгоритм, который на каждом шаге пробует все возможные шаги» или «Алгоритм, который на каждом шаге выбирает наилучший из возможных следующих шагов» .. И я думаю, вы понимаете остальное. NTM здесь только для того, чтобы помочь нам визуализировать такой алгоритм. Вы можете увидеть здесь как это должно помочь вам визуализировать (в ответе Паскаля Куока).

person Oren A    schedule 14.09.2010
comment
Алгоритм, который на каждом шаге может выбирать из ряда возможных шагов. Что угодно может «выбрать» что угодно. NTM - просто удачливый гадатель, который на каждом шагу может выбрать правильный путь. - person OTZ; 15.09.2010
comment
@OTZ: Вы также можете думать об этом, как будто он пробует все возможности (щелкните ссылку, которую я дал). Оба определения равны. Но вы были правы, первоначальная формулировка не была хорошей. Поменял. - person Oren A; 15.09.2010

Что мы получаем, так это то, что если у нас есть магическая сила, чтобы угадать правильный шаг, который всегда оказывается правильным, мы можем решать проблемы NPC в POLYTIME. Конечно, мы не всегда можем «угадать» правильный шаг. Так что это воображаемое. Но так же, как мнимые числа применимы к проблемам реального мира, теоретически полезными могут быть и последствия.

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

person OTZ    schedule 14.09.2010
comment
Я все время использую мнимые числа в электротехнике, у них есть реальная польза и преимущества. С другой стороны, я не вижу никаких преимуществ в том, чтобы сказать, что что-то может быть решено волшебным образом за время полива. Я ищу именно те проблемы реального мира, которым может помочь NTM. Спасибо @DanJ, ​​он говорит о NTM, поэтому это решается в политическом времени. - person Clash; 15.09.2010
comment
@Clash Мы не можем применить NTM к каким-либо проблемам реального мира, потому что невозможно создать его с самого начала. Чтобы узнать об одном преимуществе, прочтите второй абзац, который я только что добавил. - person OTZ; 15.09.2010
comment
@DanJ, ​​это NPC. что с твоим отношением. - person OTZ; 15.09.2010
comment
Мнимых чисел тоже не существует, но мы используем их во многих ситуациях. Меня интересуют те случаи, когда НТМ пригодится для чего угодно. Я думаю, что наконец-то мне пришло в голову, что NTM полезен для доказательства того, что определенная проблема является NP, тогда как использование детерминированной TM для доказательства такой вещи было бы сложнее, теперь мне нужен пример того, как я могу доказать такую ​​вещь с помощью НТМ. Вы можете придумать что-нибудь или знаете какую-нибудь ссылку на такую ​​вещь? Спасибо! - person Clash; 15.09.2010