Oder: Brauchen wir Rupert, um überhaupt Geschenke zu bekommen?
Abgesehen von Routing-Problemen steht der Weihnachtsmann vor dem folgenden Problem (viele, viele Male):
Mit einer Tasche mit einer Kapazität von und einer Reihe von Geschenken , die jeweils die Größe , möchte er Kinder glücklich machen. Er weiß aus allen Wunschlisten, dass Werte genau .{ p 1 , … , p n } s i { c 1 , … , c k } c j p i v i , j ∈ Q ≥ 0
Welche (paarweise disjunkten) Geschenkmengen für jedes Kind auszuwählen sind, damit alles passt, d.
,
und so viel Glück wie möglich folgt², dh
?
Dies ist eindeutig nicht einfacher als Mülleimer oder Rucksack, sodass der arme Weihnachtsmann möglicherweise lange Zeit damit verbringen muss, Taschen zu packen³.
Nun, wie wir wissen, gibt sein Assistent Rupert nicht so bedingungslos. Er hat Kenntnisse über , den Maximalwert, den das Kind aufgrund Verhaltens während des Jahres erhalten kann. Das heißt, er fügt eine zusätzliche Einschränkung hinzu
.
Erleichtert das das Packen von Taschen? Wenn nicht immer, unter welchen Bedingungen?
- Wenn die C himney Durchmesser der limitierende Faktor ist, kann ein ähnlicher Rahmen festgelegt werden.
- Kümmern wir uns nicht um Fairness und andere lächerliche Ideen.
- Daher nur ein Weihnachten pro Jahr. QED
Antworten:
Nachdem ich mir diese Frage schnell angeschaut habe, glaube ich, dass Ruperts zusätzliches Wissen über das {Verhalten, maximaler Wert, der vorhanden ist} jedes Kindes nicht immer die Arbeit des Weihnachtsmanns erleichtern wird. Der Weihnachtsmann muss noch einen 0/1-Rucksack tragen, um die Taschen zu füllen, und einen ungarischen Algorithmus, um das Glück zu maximieren, das jedes kapitalistische Kind am Weihnachtsmorgen empfängt. Ein einfacher Fall, der die Arbeit des Weihnachtsmanns recht einfach machen würde, wäre, wenn jedes Kind, das der Weihnachtsmann in Erwägung ziehen würde, keine Zeitung veröffentlichen und stattdessen das ganze Jahr über Videospiele spielen würde, von Rupert eine Null erhalten würde (jedes Kind würde Kohle bekommen).
quelle