Обратный рюкзак - один из моих любимых.Хотя я никогда не доказывал, что он полностью завершен, я знаю, как переформулировать вопрос к самой проблеме с рюкзаком, что должно помочь:
Вместо того, чтобы добавлять объекты в пустой пакет, рассмотрим проблемувыбора предметов, которые будут удалены из сумки, которая полна.Тогда, поскольку количество весов не может быть меньше данного числа, мы должны удалить только до общего (минимальный вес веса) в терминах объектов.
Поскольку цена должна быть минимизирована, тоцена удаляемых предметов должна быть максимальной.
У нас осталась начальная проблема с рюкзаком, когда мы должны выбрать группу предметов (подлежащих удалению) таким образом, чтобы мы максимизировали их цену, а их общий вес не превышал минимальный весовой вес.(В конце мы берем предметы, которые мы НЕ удаляли, как решение)
Мы реформировали проблему так, чтобы она была точно оригинальной проблемой с рюкзаком, поэтому она также должна быть NP-полной.
Прелесть этого метода в том, что я лично понятия не имею, что NP завершает;Я только что доказал, что обратный рюкзак и рюкзак абсолютно эквивалентны.