Вопрос

Чтобы показать, что проблема с NP является NP-полным, мы также должны показать, что $ l leq_ {p} l '$, где $ l $ доказано, и вы должны доказать, что $ l' $ также. Я запутался, так это то, как во всех проблемах с NP-полными в CLR они просто указывают алгоритм сокращения для $ l $, чтобы преобразовать в $ l '$ полиномиально. Как можно доказать, что его многочленное время, предоставив пример такой проблемы клики или цикла ветчины?

Это было полезно?

Решение

Проблема здесь заключается в недоразумении точки сокращения. Проблемы с комплектацией NP не известно, что имеют алгоритмы полиномиального времени. Если они это сделают, то p $ = $ np, если они этого не делают, то P $ neq $ np - это БОЛЬШОЙ Вопрос о теоретической информатике.

Смысл сокращений, на которые вы смотрите, состоит в том, чтобы показать, что проблема $ l '$ является NP-полной, и, следовательно, по крайней мере такая же тяжелая, как и все остальное в NP. Это происходит, демонстрируя, что если вы можете решить $ l '$ в полиномиальное время, то используя сокращение, вы также можете решить $ l $ в полиномиальное время (возьмите экземпляр $ l $, преобразуйте его в экземпляр $ l' $, решить это, затем используйте это решение, чтобы получить решение для исходного экземпляра).

Поскольку $ l $ является NP-полным, это также означает, что если бы мы могли решить его в полиномиальное время, мы могли бы решить каждый Проблема в NP в полиномиальном времени (следовательно, интуиция о том, что проблемы с полной NP в некотором смысле являются «самыми сложными» проблемами в NP).

Просто чтобы добавить некоторые технические биты к этому, проблема $ pi $ является NP-полным, если:

  1. $ Pi in $ np, и
  2. $ Pi $-это np-hard.

Проблема $ pi $ находится в NP, если существует неэнергинистический алгоритм, который решает $ pi $ в полиномиальном времени в размере ввода или эквивалентно, мы можем проверить ответ на экземпляр $ pi $ в детерминированный Полиномиальное время.

Проблема $ pi $-это np-ard, если для каждый Задача $ phi в $ np существует полиномиальное сокращение времени, так что $ phi leq_ {p} pi $ (это может быть различным сокращением для каждого $ phi $). На практике то, что мы делаем, на самом деле объединяет эти сокращения, поэтому скажем, что у нас есть проблема с NP $ pi '$, тогда мы знаем, что в NP есть сокращение от всего, поэтому, если мы сможем показать, что $ pi' leq_ {p} pi $. Затем, составив сокращения, мы можем показать, что все сокращение от всего до $ pi $ (мы просто идем через $ pi '$).

Так что, чтобы вернуться к первоначальному вопросу, мы не знаем, есть ли алгоритм полиномиального времени для $ l '$ - большинство (?) Люди, вероятно, подозревают, что нет, так как многие люди потратили много времени Попытка найти даже один алгоритм полиномиального времени для любой проблемы с NP, и до сих пор не повезло (конечно, такой алгоритм для любого из них означает алгоритм полиномиального времени для все в NP). Снижение «справедливо» показывает, что $ l '$ является одной из этих сложных проблем.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top