Или: нам нужен Руперт, чтобы вообще получать подарки?
Помимо вопросов маршрутизации , Санта сталкивается со следующей проблемой (много-много раз):
Имея сумку вместимостью ¹ и набор подарков , каждый размером , он хочет сделать детей счастливыми. Он знает из всех списков желаний, что дочерние значения представляют точно .
Какие (попарно непересекающиеся) наборы подарков выбрать для каждого ребенка, чтобы все подходило, т.е.
,
и как можно больше счастья2, т.е.
Это явно не легче, чем упаковка в бен или рюкзак, так что бедному Санте, возможно, придется долго паковать сумки ³.
Сейчас, как известно, его помощник Руперт не дает так безоговорочно. Он знает о , максимальном значении, которое ребенок может получить, основываясь на поведении в течение года; то есть он добавляет дополнительное ограничение
.
Это облегчает проблему упаковки мешков? Если не всегда, то при каких условиях?
- Если с диаметром himney является ограничивающим фактором, может быть создана аналогичная структура.
- Давайте не будем заботиться о справедливости и других нелепых идеях.
- Следовательно, только одно Рождество в год. QED
Ответы:
Быстро рассмотрев этот вопрос, я считаю, что дополнительные знания Руперта о {поведении, максимальном значении каждого ребенка} не всегда облегчают работу Санты. Санте все еще нужно будет выполнить рюкзак 0/1, чтобы заполнить сумки, а также венгерский алгоритм, чтобы максимизировать счастье, которое каждый капиталистический ребенок получает в рождественское утро. Простой случай, когда это делало бы работу Санты довольно простой, - это если бы каждый ребенок, которого рассматривал Санта, не публиковал газету и вместо этого играл в видеоигры весь год, получал ноль от Руперта (каждый ребенок получал уголь).
источник