I have a problem where a player of a video kills a monster for a chance of receiving one of several items. The player wishes to obtain at least one of each of these items. The player wants to know two things.
How many times are they expected to have to kill the monster to receive at least one of each item?
- I was able to answer this by modifying the python code provided in this post
How many kills of the total expected kills can be allocated to each item in the collection?
- This is the central question I am asking here. Is there a correct or best method for allocating a proportion of the total number of expected kills to each item?
For this example there are six items to obtain with probabilities:
probabilities = [1/2560, 1/984.6, 1/492.3, 1/206.5, 1/206.5, 1/206.5]
And $1 - \Sigma (probabilities)$ the player receives nothing.
From this post I was able to use a variant of the Coupon Collector Problem and the code provided within to determine that the player is expected to have to kill the monster $2883$ times to expect to have received at least one of each item.
My question is what method could I use to allocate some proportion of those total kills to each item in the set?
My first idea was to order the set by the rarest item to the most common and see what the expected number of kills is for each set by starting with the rarest item and adding each item in sequence seeing how many additional expected kills are added to the total.
Doing this I obtained the following:
probabilities = [1/2560] : 2560 Kills
probabilities = [1/2560, 1/984.6] : 273 Additional Kills
probabilities = [1/2560, 1/984.6, 1/492.3] : 43 Additional Kills
probabilities = [1/2560, 1/984.6, 1/492.3, 1/206.5] : 3 Additional Kills
probabilities = [1/2560, 1/984.6, 1/492.3, 1/206.5, 1/206.5] : 2 Additional Kills
probabilities = [1/2560, 1/984.6, 1/492.3, 1/206.5, 1/206.5, 1/206.5] : 2 Additional Kills
This method produces seemingly reasonable results, but I am left somewhat uncomfortable by the idea that the order in which I add items matters. And that I don't have any fundamental reason for this method other than it felt logical to me.