1
$\begingroup$

I have a simple game which works as follows:

There are 11 options where you can pick from, they all have a starting score of 100.

When a random option is chosen this score is lowered by X, the other options are raised by Y. This makes sure that popular options get a lower score and more unlikely options will receive a higher score.

But I am struggling a bit with the X and Y values.

Now I have for X: score * 0.99 and for Y: score * ((0.01 / 11-1) + 1) effectively making Y in this example 1.001.

When I run a simulation for 10000 iterations I get this result:

Multiplier: 1,001

0: 46,415482172560186982173898945 (974)
1: 66,838393287292917077894008614 (941)
2: 96,24742883459377976132240996 (908)
3: 121,38518290493490497771733027 (887)
4: 107,49245093808228436049973035 (898)
5: 161,78439604035762550303938848 (861)
6: 89,08343532143707485107456848 (915)
7: 81,54660657436701987059722203 (923)
8: 96,24742883459377976132240964 (908)
9: 103,98754295728204150478760963 (901)
10: 125,47647965274993316730236819 (884)

Where the number between brackets is the number of times that number is picked.

But when I raise the iteration count to 10000000 the numbers don't add up anymore:

Multiplier: 1,001

0: 0,0000000000000000000036583816 (909214)
1: 0,0000000000000000000000250626 (909665)
2: 0,0000000000000000000205077532 (909058)
3: 0,0000000000000000000000003767 (910424)
4: 0,0000000000000000000010153258 (909330)
5: 0,0000000038841252289686775249 (906708)
6: 0,0000000000000000410723804695 (908370)
7: 0,0000000000000000000121999845 (909105)
8: 0,0000000000000000000089536881 (909133)
9: 0,0000000000000000000000002027 (911122)
10: 0,0000000000000101904281714748 (907871)

Any suggestions how to tackle this problem?

$\endgroup$
3
$\begingroup$

The problem is that your adjustments decrease the total. Suppose there were 11 people, and each number got picked once. Then each number would be multiplied by $$1.001^{10}\cdot 0.99\approx 0.999944669$$

This is similar to the idea that raising a price by 10% and then lowering it by 10% will end up decreasing it by 1%.

If your goal is to have the numbers add up, I recommend lowering the number picked by $X$, and raising the others by $\frac{1}{10}X$, rather than any function of $Y$.

$\endgroup$
  • $\begingroup$ Yes ofcourse I forgot about this completely. Maybe I should add that number instead of multiplying them $\endgroup$ – Roger Far Jun 3 '13 at 19:35
1
$\begingroup$

If you want to keep the total the same then the score of the other options must be increased by:

$$Y=\frac{\text{(Current Score of the chosen option)} \quad \text{Discount Factor}}{10}$$

where

$\text{Discount Factor}$ is how much you decide to discount the option picked.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.