Это означает, что унарный рюкзак находится в P. Это не означает, что рюкзак (с двоичными числами) находится в P.
Рюкзак, как известно, NP-полный. Если бы вы показали, что рюкзак находится в P, это показало бы, что P = NP.
Но вы не показали, что рюкзак находится в P. Вы показали, что унарный рюкзак находится в P. Однако, как известно, унарный рюкзак не является NP-полным (действительно, стандартное подозрение заключается в том, что он, скорее всего, не является NP-полным). ). Следовательно, помещение одинарного ранца в P не означает, что P = NP.
Так о какой проблеме нас больше заботит, рюкзак или унарный рюкзак? Если ваша мотивация основана на практических соображениях, то ответ будет зависеть от размера чисел, для которых вы хотите решить проблему с рюкзаком: если они большие, то вы, конечно, больше заботитесь о рюкзаке, чем об одноместном рюкзаке. Если ваша мотивация основана на теоретических соображениях, то рюкзак, возможно, более интересен, потому что он позволяет нам глубже понять - он позволяет нам проводить различие между размером и величиной - тогда как унарный рюкзак мешает нам сделать это различие.
Чтобы ответить на следующий вопрос об алгоритме динамического программирования для задачи о ранце:
Да, один и тот же алгоритм динамического программирования может применяться как к рюкзакам, так и к одинарным рюкзакам. Время его выполнения является полиномиальным по величине чисел, но экспоненциальным (не полиномиальным) по длине чисел при кодировании в двоичном виде. Таким образом, его время работы является полиномиальным по длине входа, когда вход кодируется в унарном виде, но не является полиномиальным по длине входа, когда вход кодируется в двоичном формате. Вот почему мы действительно рассмотреть этот алгоритм динамического программирования быть полиномиальным алгоритмом для одноместный рюкзаке, но не считаем , что это полиномиальный алгоритм (бинарной кодировкой) ранец.
Напомним, что мы говорим, что алгоритм выполняется за полиномиальное время, если его время выполнения не больше некоторого полинома длины входа в битах .