Я совершенно уверен, что я не первый, кто принимает идею, которую я собираюсь представить. Однако было бы полезно, если бы я мог найти какую-либо литературу, связанную с этой идеей.
Идея состоит в том, чтобы построить машину Тьюринга M со свойством, что если P = NP, то M будет решать 3-SAT за полиномиальное время. (Выбор 3-SAT является произвольным. Это может быть действительно любая проблема в NP).
Просто чтобы быть ясно, это не утверждение, что P = NP. На самом деле я верю в обратное. Я просто утверждаю, что если P = NP, то M обеспечит решение за полиномиальное время. Если вы ищете эффективное решение, я должен предупредить, что это далеко не эффективно.
M строится следующим образом: сначала примите каноническое кодирование для всех машин Тьюринга и примените нумерацию к этим машинам. Итак, существует машина Тьюринга № 1, № 2 и т. Д. Идея универсальной машины Тьюринга, которая может считывать формат для предоставленной машины и затем моделировать работу этой машины на отдельном входе, достаточно известна. M будет использовать универсальную машину Тьюринга для постройки и моделирования каждой машины Тьюринга по очереди.
Сначала он имитирует работу машины Тьюринга 1 за один шаг.
Затем он просматривает выходные данные машины Тьюринга 1.
Он имитирует работу машины Тьюринга 1 в течение двух этапов и просматривает выходные данные, затем переходит к моделированию машины Тьюринга 2 в течение 2 шагов. Это продолжается и повторяется таким образом, в свою очередь, запустив машину Тьюринга 1 для k шагов, затем 2 для k шагов ... затем, в конце концов, машину k для k шагов.
После каждого прогона симуляции он проверяет результаты прогона. Если выходные данные являются назначением переменных, удовлетворяющих экземпляру задачи 3-SAT, M останавливается в состоянии принятия. Если, с другой стороны, выходные данные являются строкой доказательства на некотором проверяемом языке доказательств с доказанным результатом, что экземпляр проблемы не выполним, M останавливается в состоянии отклонения. (Для языка доказательств мы могли бы, например, использовать аксиомы Пеано с логикой второго порядка и основные логические аксиомы в гильбертовом стиле. Я оставляю читателю в качестве упражнения понять, что если P = NP, язык доказательства существует и может быть проверен за полиномиальное время).
Здесь я буду утверждать, что M решит 3-SAT за полиномиальное время тогда и только тогда, когда P = NP. В конце концов, алгоритм найдет какую-то волшебную машину Тьюринга с номером K, которая, как оказалось, является эффективным средством решения проблемы 3-SAT и способна предоставить доказательства ее результатов как для успеха, так и для неудачи. K в конечном итоге будет смоделирован, выполняя шаги poly (strlen (input)) для некоторого полинома. Многочлен для M примерно равен квадрату многочлена для k в наибольшем множителе, но с некоторыми ужасными константами в многочлене.
Чтобы повторить мой вопрос здесь: я хочу знать, есть ли литературный источник, который использует эту идею. Я несколько менее заинтересован в обсуждении самой идеи.