Упаковать сумку подарков для Руперта легче, чем для Санты?


12

Или: нам нужен Руперт, чтобы вообще получать подарки?

Помимо вопросов маршрутизации , Санта сталкивается со следующей проблемой (много-много раз):

Имея сумку вместимостью ¹ C и набор подарков {p1,,pn} , каждый размером si , он хочет сделать детей {c1,,ck} счастливыми. Он знает из всех списков желаний, что дочерние значения cj представляют pi точно vi,jQ0 .

Какие (попарно непересекающиеся) наборы подарков Ij[1..n] выбрать для каждого ребенка, чтобы все подходило, т.е.

j[1..k]iIjsiC,

и как можно больше счастья2, т.е.

max!j[1..k]iIjvi,j

Это явно не легче, чем упаковка в бен или рюкзак, так что бедному Санте, возможно, придется долго паковать сумки ³.

PD от 1212eins@pixabay.com

Сейчас, как известно, его помощник Руперт не дает так безоговорочно. Он знает о , максимальном значении, которое ребенок может получить, основываясь на поведении в течение года; то есть он добавляет дополнительное ограничениеVjcj

j[1..k]. iIjvi,jVj .

Это облегчает проблему упаковки мешков? Если не всегда, то при каких условиях?


  1. Если с диаметром himney является ограничивающим фактором, может быть создана аналогичная структура.
  2. Давайте не будем заботиться о справедливости и других нелепых идеях.
  3. Следовательно, только одно Рождество в год. QED

Все, кто хочет дать другим пользователям, добавьте награду, как только это возможно! Правильные и понятные ответы, которые также вызывают дух праздников, будут иметь право!
Рафаэль

Мои старые рождественские вопросы о Санта-маршрутизации и об использовании файлов cookie , по крайней мере, частично открыты!
Рафаэль

Ба! ... Обмани!
Рик Декер

2
Пара тривиальных комментариев: проблема не всегда может быть проще (просто выберите ), но есть хотя бы один случай, в котором она есть (установите все кроме , который установлен в ). V j = 0 V 1 min i v i , 1VjiIjvi,jVj=0V1minivi,1
Манлио

Ответы:


1

Быстро рассмотрев этот вопрос, я считаю, что дополнительные знания Руперта о {поведении, максимальном значении каждого ребенка} не всегда облегчают работу Санты. Санте все еще нужно будет выполнить рюкзак 0/1, чтобы заполнить сумки, а также венгерский алгоритм, чтобы максимизировать счастье, которое каждый капиталистический ребенок получает в рождественское утро. Простой случай, когда это делало бы работу Санты довольно простой, - это если бы каждый ребенок, которого рассматривал Санта, не публиковал газету и вместо этого играл в видеоигры весь год, получал ноль от Руперта (каждый ребенок получал уголь).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.