Никаких неконструктивных доказательств того, что P = NP на самом деле нет. Это означает, что следующий явный алгоритм 3-SAT выполняется за полиномиальное время:
Перечислите все программы. На раунде i запустите все программы с номерами
менее чем я за один шаг. Если
программа заканчивается
удовлетворяющий ввод в формулу , возврат true . Если программа
заканчивается формальным доказательством того, что
такого ввода нет , возврат
ложь .
Если P = NP, то существует программа, которая работает в O (poly (N)) и выводит удовлетворительный ввод в формулу, если такая формула существует.
Если P = coNP, существует программа, которая работает в O (poly (N)) и выдает формальное доказательство того, что формулы не существует, если формулы не существует.
Если P = NP, то, поскольку P замкнуто относительно дополнения NP = coNP. Итак, существует программа, которая работает в O (poly (N)) и выполняет обе задачи. Эта программа является k '-й программой в перечислении. k - это O (1) ! Так как он работает в O (poly (N)), для нашего моделирования грубой силы требуется только
к * О (поли (N)) + O (поли (N)) ^ 2
раундов, как только он достигает рассматриваемой программы. Таким образом, имитация грубой силы выполняется за полиномиальное время!
(Обратите внимание, что k имеет экспоненциальный размер программы; этот подход на самом деле неосуществим, но он предполагает, что было бы трудно сделать неконструктивное доказательство того, что P = NP, даже если бы это было так.)