Например, известно, что задача решения множества-покрытия является NP-полной задачей. Входными данными этой задачи являются вселенная U, семейство S подмножеств U и целое число k ().
Одна вещь, которая меня смущает, заключается в том, что если мы допустим k=1, то, очевидно, проблема может быть решена за время |S|, просто проверив каждый элемент в S. В более общем случае, когда k является константой, проблема может быть решена быть решена за полиномиальное время от |S|. Таким образом, временная сложность становится экспоненциально высокой только тогда, когда k также увеличивается с |S|, как |S|/2, |S|/3...
Итак, вот мои вопросы:
Мое текущее понимание состоит в том, что измерение временной сложности NP-полной задачи измеряется с точки зрения ХУДШЕГО случая. Может кто-нибудь, пожалуйста, скажите мне, правильное ли понимание?
Я видел, как кто-то доказал, что другая задача является NP-трудной, показав, что задача решения, покрывающая множество, с входными данными
<U,S,|U|/3>
может быть сведена к этой задаче. Мне просто интересно, почему он доказал только<U,S,|U|/3>
, а не<U,S,ARBITRARY k>
?? Надежно ли такое доказательство?
Большое спасибо!