Вы согласны, что необходимое условие для
является существование текста для алгоритма- решения одной (неважно какой) из полиномиально полных задач?
Должна существовать детерминированная машина Тьюринга, решающая одну из NP-полных задач за полиномиальное время. Вы, вроде, это имели в виду.
Если да, то отсюда легко доказывается, что необходимое условие будет и существование алгоритма, получающего текст произвольной задачи из
и выдающего в качестве результата текст решающего ее алгоритма.
Тривиально следует, что есть процедура вида
Код:
for problem in NP:
if input == problem:
return Result[problem]
Ну то есть некая сущность, которая знает все задачи класса NP и все тексты их полиномиальных решений. Эта сущность в силу своей бесконечности не является ни машиной Тьюринга, ни алгоритмом, ни вычислимой функций (в силу, как раз таки, тезиса Черча).
Существование алгоритма, который можно запрограммировать - нетривиально и требует доказательства. Разумеется, отсутствие машины Тьюринга, которая бы решала данную задачу выводит саму задачу за рамки класса NP.