Ou: Avons-nous besoin de Rupert pour obtenir des cadeaux?
Mis à part les problèmes de routage , le Père Noël est confronté au problème suivant (plusieurs fois):
Étant donné un sac d'une capacité¹ et un ensemble de cadeaux , chacun de taille , il veut faire plaisir aux enfants . Il sait de toutes les listes de souhaits que les valeurs de l' enfant présentent exactement beaucoup.
Quels ensembles (disjoints deux à deux) de cadeaux choisir pour chaque enfant afin que tout rentre, c'est-à-dire
,
et le plus de bonheur possible s'ensuit², c'est-à-dire
Ce n'est clairement pas plus facile que le Bin Bining ou le Knapsack, donc le pauvre Père Noël devra peut-être passer beaucoup de temps à emballer des sacs³.
Maintenant, comme nous le savons, son assistant Rupert ne donne pas aussi inconditionnellement. Il a des connaissances sur , la valeur maximale que l'enfant peut recevoir en fonction de son comportement au cours de l'année; c'est-à-dire qu'il ajoute une contrainte supplémentaire
.
Est-ce que cela facilite le problème de l'emballage des sacs? Si ce n'est pas toujours le cas, dans quelles conditions?
- Si le diamètre c himinal est le facteur limitant, un cadre similaire peut être établi.
- Ne nous préoccupons pas d'équité et d'autres idées ridicules.
- Par conséquent, un seul Noël par an. QED
Réponses:
Après avoir rapidement examiné cette question, je crois que les connaissances supplémentaires de Rupert sur le {comportement, la valeur maximale présente} de chaque enfant ne faciliteront pas toujours le travail du Père Noël. Le Père Noël devra toujours effectuer un sac à dos 0/1 pour remplir les sacs et un algorithme hongrois afin de maximiser le bonheur que chaque enfant capitaliste reçoit le matin de Noël. Un cas simple où cela rendrait le travail du Père Noël assez simple est si chaque enfant envisagé par le Père Noël ne publiait pas de papier et jouait à des jeux vidéo toute l'année a reçu un zéro de Rupert (chaque enfant obtiendrait du charbon).
la source