Правильное определение проблемы суммы подмножества

Читая книгу Ганса Келлерера, Ульриха Пферши и Дэвида Пизингера Проблемы с рюкзаком, издание 2004 года, о проблеме суммы подмножеств, я нашел это определение (глава 4):

Дан набор N = {1, ..., n} из n элементов с положительными целыми весами W1, ..., Wn и емкость c, задача суммы подмножества (SSP) состоит в том, чтобы найти такое подмножество N, чтобы соответствующий общий вес был максимальным без превышения емкости c .

формально найдено в Разделе 2.1 как (извините, нет поддержки LaTeX)

введите описание изображения здесь

В поисках примеров псевдокода я нашел эту статью в Википедии, где совершенно другая, хотя и неформальная, формулируется определение:

для данного набора (или мультимножества) целых чисел существует ли непустое подмножество, сумма которого равна нулю?

Хотя там также сказано: Есть несколько эквивалентных формулировок проблемы, я не верю, что эту и книгу вообще можно назвать эквивалентными.

Я смотрю здесь на две разные проблемы, думая, что это одно и то же? Что мне не хватает?

Спасибо


person Scaramouche    schedule 31.08.2020    source источник


Ответы (1)


Вы правы, эти два определения не равны. Определение внутри задачи о ранце описывает проблему оптимизации. В данном случае это NP-трудная проблема. Определение в Википедии описывает проблему существования. Это NP-Complete.

Одно большое различие между обоими определениями - это проверка правильности.

  • Проблема существования легко проверяется за линейное время. Просуммируйте решение и проверьте, равно ли оно 0.
  • Проверка оптимизации сложна. Рассчитанное решение действительно лучшее или есть лучшее?
person SebastianH    schedule 01.09.2020
comment
так две совершенно разные проблемы с одинаковым названием? большой - person Scaramouche; 01.09.2020