Используемая логика выглядит следующим образом - у нас есть существующий класс задач, NP-Complete.Теперь появляется новая проблема «Q».
Шаг 1 - Докажем, что Q в NP, хорошо и хорошо.
Шаг 2 - Покажем, что проблема в NP-C (скажем,O) сводится к Q. (O -> Q)
Теперь мы говорим, что, поскольку O является NP-сложным, и поскольку оно сводимо к Q, Q также должно быть NP-сложным, поскольку не существует более простогорешение для O, и если бы Q было более простым решением, тогда мы могли бы просто уменьшить O -> Q и решить Q.
Однако мы еще точно не знаем, что P! = NP.Возможно, эта новая проблема Q была проблемой, которая могла быть решена за полиномиальное время, и что для решения каждой из проблем в NPC нам нужно только преобразовать их в Q, а затем Q нужно решить.Если да, то как шаг 2 является достоверным доказательством того, что Q является NP-Hard?