Если я хочу показать, что проблема является np-сложной, можно ли использовать существующую np-сложную задачу несколько раз? Например, используйте гамильтоновский цикл n раз в графе, где n - количество вершин? Или мне нужно преобразовать граф во что-то, что может быть легко решено существующей np-сложной задачей, используемой 1 раз?
Np-снижение твердости
Ответы (3)
Вам нужно показать прямо противоположное.
Это ничего не доказывает, если вы доказываете, что можете решить свою задачу с помощью задачи NP-Hard. [Вы можете решить любую задачу в NP, используя SAT, с помощью теоремы Кука-Левина].
Вам нужно показать, что если ваша задача разрешима за полиномиальное время, значит, она и NP-сложная. Вот что на самом деле делает сокращение.
Например: если я могу показать, что могу решить кратчайший путь, используя TSP — делает ли кратчайший путь NP-сложным? Конечно нет! Это только показывает, что TSP не менее сложен, чем кратчайший путь!
Путешествие из Парижа в Лондон через Нью-Йорк не доказывает, что этот путь кратчайший.
Я не математик, но, конечно, если вы можете доказать, что рассматриваемая проблема по крайней мере так же сложна, как существующая известная NP-сложная задача или их кратные, то это должно быть достаточным доказательством? Здравый смысл подсказывает, что если снять шкуру с леопарда сложнее, чем снять шкуру с двух кошек, то это сложнее, чем снять шкуру с одной кошки, и так далее!