Хотя для некоторых популярных проблем это действительно так, я думаю, что оба предположения - в зависимости от того, что вы определяете как проблему оптимизации - не соответствуют действительности.
Сначала несколько определений: большинство проблем оптимизации не являются частью NP . Например, для задачи о ранце : нельзя использовать недетерминизм для создания наиболее ценного пакета, просто потому, что разные недетерминированные ветви не имеют общей памяти. NP также определяется как «проверяемый полиномами» (проверка сертификата) [1, p. 34]
. В этом случае сертификат является, например, сумкой : цепочкой битов, где, если установлен i-й бит, это означает, что i-й элемент является частью пакета. Вы можете действительно проверить за полиномиальное время, является ли такой мешок более ценным, чем данный порог (это вариант решения), но вы не можете - насколько нам известно - основываясь на одной сумке (полиномиальном количестве сумок), решить, является ли эта сумка наиболее ценной из всех возможных сумок. Это жизненно важное различие между, например, NP и EXP : в EXP вы можете перечислять все возможные пакеты и вести учет того, какой пакет является лучшим.
Вариант решения проблем оптимизации в некоторых случаях является частью NP , необходимо провести четкое различие между максимизацией вкуса и принятием решения . В варианте решения вопрос: « Учитывая проблему оптимизации и ограничение полезности, есть ли решение с утилитой, большей или равной этой границе » (или слегка модифицированной для задачи минимизации).
Я также предполагаю , что NP вы имеете в виду (гипотетический) часть НП , которая не является частью P . Если P = NP , конечно, NP-полная все еще существует, но она будет равна P (совпадает только с P для некоторых понятий редукции, таких как многозначное сокращение за полиномиальное время с помощью @ AndrásSalamon), что не так впечатляет ( и уменьшит " пробел ", который вы указали в своем вопросе).
Я все чаще замечаю, что большинство дискретных задач являются NP-полными.
Теперь, когда мы разобрались , что из: Есть много проблем оптимизации , которые находятся в P : кратчайшего пути проблемы , максимально проблемы потока (для интегральных мощностей), минимального остовного дерева и максимального соответствия . Хотя эти проблемы могут показаться вам «тривиальными для решения», они все еще остаются проблемами оптимизации, и во многих случаях конструкция (и подтверждение правильности) не так проста. Таким образом, претензия не содержит все дискретные проблемы, являющиеся NP-полными. Поскольку P не равно NP , эти проблемы не могут быть NP-полными .
ΣPi
Принимая во внимание, что оптимизация постоянных проблем почти всегда легко достижима.
Популярной непрерывной проблемой, которая является NP-трудной, является квадратичное программирование .
x⃗
x⃗ T⋅Q⋅x⃗ 2+c⃗ T⋅x⃗
A⋅x⃗ ≤b⃗
На самом деле линейное программирование уже давно считается NP-сложным , но с очень хорошо работающей эвристикой ( метод Simplex ). Алгоритм Кармаркара Однако в P .
С того момента, как проблема оптимизации имеет дело с невыпуклыми объектами, в общем случае будет трудно - если не невозможно - найти эффективный алгоритм.
Список используемой литературы
[1]
Сложность вычислений, современный подход , Санджив Арора и Боаз Барак