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¹ e um conjunto de presentes , cada um com tamanho , ele quer fazer as crianças feliz. Ele sabe de todas as listas do desejo que a criança valores presentes exatamente muito.
Quais conjuntos de presentes (separados por pares) para escolher para cada criança para que tudo se encaixa, ou seja,
,
e o máximo de felicidade possível², isto é,
?
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³.
Agora, como sabemos, seu assistente Rupert não dá tão incondicionalmente. Ele tem conhecimento sobre , o valor máximo filho c j pode receber com base no comportamento durante o ano; isto é, ele adiciona uma restrição adicional
.
Isso facilita o problema de fazer as malas? Se não sempre, então em que condições?
- Se o c diâmetro himney é o fator limitante, um quadro semelhante pode ser estabelecida.
- Não vamos nos preocupar com justiça e outras idéias ridículas.
- Portanto, apenas um Natal por ano. QED
Respostas:
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).
fonte