P, NP и специализированные машины Тьюринга


13

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

Мое понимание

  • Стандартная машина Тьюринга - машина Тьюринга, которая имеет конечный алфавит, конечное число состояний и одну правую бесконечную ленту
  • Эквивалентная машина Тьюринга - машина Тьюринга, которая может эмулировать и имитировать стандартная машина Тьюринга (довольно часто с некоторым компромиссом между пространством и временем, достигаемым эмуляцией)
  • P - класс задач, которые могут быть решены за полиномиальное время с использованием стандартной машины Тьюринга (определено выше)
  • NP - класс задач, которые можно проверить за полиномиальное время с помощью стандартной машины Тьюринга
  • NP-complete- самые трудные проблемы, которые еще существуют, в NPкоторые все NPпроблемы могут быть преобразованы за полиномиальное время

Мой вопрос

Являются ли классы сложности ( P, NP, NP-completeи т.д.) , связанные с алгоритмом, или алгоритма и машины?

Сказано иначе, если бы вы могли создать эквивалентную машину Тьюринга (которая может решить все проблемы, которые может решить стандартная TM, но в другом количестве времени и пространства), и эта новая машина могла бы решить NP-completeпроблему во времени, которая растет как многочлен относительно ввода, это будет означать P=NP?

Или NP-completeпроблема должна быть разрешима на всех возможных машинах Тьюринга за полиномиальное время, которое нужно рассмотреть P?

Или я неправильно понимаю что-то фундаментальное выше?

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


Я думаю, что ваш ответ очень похож на ответ этого поста: каковы основные понятия P, NP, NP-Complete и NP-Hard? Посмотри на это.
Реза

Ответы:


9

Алгоритмы и машины не определены в вашем вопросе, и я не думаю, что они нужны, чтобы спросить, что вы хотите спросить.

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

PNPP

BPP

BPP=P

BQPPP


PNPNP


Итак, если ваш пользовательский компьютер может эффективно решать проблемы, но не может эффективно имитироваться стандартной машиной Тьюринга, этот результат не имеет отношения к P? = NP (даже если я могу построить эту машину в реальной жизни)?
Бинго

Да, это правильно.
Каве

И тогда это нарушит расширенный тезис Черча-Тьюринга?
Бинго

Не обязательно.
Каве

6

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

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


3

Ваше понимание очень хорошо! Вы также можете найти больше информации в тексте, если вы заинтересованы, например, введение Sipser в теорию вычислений.

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

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

Есть веская причина сомневаться в этой гипотезе, потому что мы знаем алгоритмы квантовых вычислений, которые ускоряются лучше, чем полиномиальные, по сравнению с наиболее известными классическими алгоритмами. Однако, кроме этого, считается, что любая классическая машина, которую вы можете построить (конечно, любой вариант на машине Тьюринга), не может быть экспоненциально быстрее, чем машина Тьюринга. Так что, если ваша «машина эквивалентности Тьюринга» могла бы запустить алгоритм, который решил задачу NP-Complete за полиномиальное время, то P = NP, потому что я мог бы преобразовать его в алгоритм за полиномиальное время для той же задачи на TM.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.