Empacotar um saco de presentes é mais fácil para Rupert do que para o Papai Noel?

12

Ou: precisamos de Rupert para receber presentes?

Questões de roteamento à parte, o Papai Noel enfrenta o seguinte problema (muitas e muitas vezes):

Dado um saco com capacity¹ C e um conjunto de presentes {p1,,pn} , cada um com tamanho si , ele quer fazer as crianças {c1,,ck} feliz. Ele sabe de todas as listas do desejo que a criança cj valores presentes pi exatamente vi,jQ0 muito.

Quais conjuntos de presentes (separados por pares) para escolher para cada criança para que tudo se encaixa, ou seja,Ij[1..n]

,j[1..k]iIjsiC

e o máximo de felicidade possível², isto é,

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

Claramente, isso não é mais fácil do que a Bin Packing ou a mochila, então o pobre Papai Noel pode ter que gastar muito tempo fazendo as malas³.

PD por 1212eins@pixabay.com

Agora, como sabemos, seu assistente Rupert não dá tão incondicionalmente. Ele tem conhecimento sobre , o valor máximo filho c jVjcj pode receber com base no comportamento durante o ano; isto é, ele adiciona uma restrição adicional

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

Isso facilita o problema de fazer as malas? Se não sempre, então em que condições?


  1. Se o c diâmetro himney é o fator limitante, um quadro semelhante pode ser estabelecida.
  2. Não vamos nos preocupar com justiça e outras idéias ridículas.
  3. Portanto, apenas um Natal por ano. QED
Rafael
fonte
Todo mundo que quiser dar aos outros usuários, adicione uma recompensa assim que possível! Respostas corretas e compreensíveis que também evocam o espírito das festas serão elegíveis!
Raphael
Minhas perguntas mais antigas de Natal sobre roteamento de Papai Noel e ladrilhos de biscoitos também são pelo menos parcialmente abertas!
Raphael
Bah! ... Farsa!
Rick Decker
2
VjiIjvi,jVj=0V1minivi,1

Respostas:

1

Depois de analisar rapidamente essa pergunta, acredito que o conhecimento extra de Rupert sobre o comportamento de cada criança (comportamento, valor máximo presente) nem sempre facilitará o trabalho do Papai Noel. O Papai Noel ainda precisará executar uma mochila 0/1 para encher as malas e um algoritmo húngaro, além de maximizar a felicidade que cada criança capitalista recebe na manhã de Natal. Um caso simples em que isso tornaria o trabalho de Papai Noel bastante simples é se todas as crianças que Papai Noel considerasse não publicassem um jornal e, em vez disso, jogassem videogame durante todo o ano recebessem zero de Rupert (cada criança receberia carvão).

Logan Leland
fonte