Elements the Game Forum - Free Online Fantasy Card Game
Elements the Game => General Discussion => Farming Studies and Statistics => Topic started by: the dictator on January 14, 2014, 02:16:10 pm
-
Since I was curious, I decided to go and calculate what the actual drop rate of the special spin is, though I quickly got a headache trying to do so, so instead I wrote a program that checks every possibly layout exactly once. Using this simulation I calculated the actual droprate: 73,92%
The program assumes the following spin strategy: IF you have a pair, spin the remaining slot as many times as possible (or until it matches). If you don't have a pair, or when you can't spin the remaining slot any more, spin the slot with the highest number of spins left.
It also uses the following things: Out of the 27 rares available, 4 are randomly selected, all with equal odds, and with repeats allowed, and the person doing the spinning isn't favoring any one rare over any other(s). (As confirmed by Xenocidius in the Game Coding Q&A (http://elementscommunity.org/forum/general-discussion/game-coding-qa/msg419745/#msg419745))
Rares Selected | AAAA | AAAB | AABB | AABC | ABCD | Total |
Odds | <0,01% | 0,53% | 0,40% | 19,81% | 79,26% | 100% |
| | | | | | |
Successes | 1 | 16672726 | 4006 | 14963654 | 11712124 | |
Failures | 0 | 104490 | 90 | 1813562 | 5065092 | |
Total | 1 | 16777216 | 4096 | 16777216 | 16777216 | |
| | | | | | |
Succesrate | 100% | 99,38% | 97,80% | 89,19% | 69,81% | |
Odds x Succesrate | <0,01% | 0,53% | 0,39% | 17,67% | 55,32% | 73,92% |
If anyone is interested in the actual matlab files, send me a forum PM about it (include an e-mail address or something another preferred way to get the files to you).
CuCN also did a calculation/simulation and confirmed the numbers in this thread.
I would like to do a followup to calculate the odds when prioritizing one single rare, but I'm not sure what spin algorithm to use, which is why I'm asking for some input/discussion on that first. Especially on what to do when you see, say, AAB while looking for rare C. You have no guarantee it is in the selection of possible rares, but when spinning the B, you might immediately end up with a win, even when you could potentially have gotten rare C out of it, or more in general, do you actively disrupt a good pattern to check if you desired rare is not in the list of possible rares this spin, or do you just go with it, and hope you don't miss it because it happens to be buried.
Spin Priority options.
After a lots of theorizing, debating, calculating and simulating me, CuCN, ColorlessGreen and Pineapple came up with a load of reasonable spin strategies, and the numbers that go with them.
I won't do such a complete breakdown as for the normal case (if you want one, mail me), just the number summary.
Before we get to that, first a little introduction into the terminology: Aside from Normal (no priority for any rare), we came up with 4 priority classes: Max, Focus, Priority and Weak. They are defined by what to do on the following cases: ABB, XBB and XAB. Here, X is the prioritized rare, A and B being different other rares.
Type | ABB | XBB | XAB |
Normal | Spin A | Spin X | Any |
Weak | Spin A | Spin X | Any |
Priority | Spin A | Spin X | A or B |
Focus | Spin A | Spin B | A or B |
Max | Spin B | Spin B | A or B |
To put it into words: Max disrupts all pairs that aren't X, thus reducing the chances of accidently hitting a different rare while still looking if X is possible. Focus only disrupts pairs that aren't made out of X after X has been found, and Priority doesn't disrupt any pairs, it only avoids spinning X when there are 3 different rares. Weak can spin away X even when there rares, it first looks at spins remaining for each slot.
Sadly, we thought we had the basics with these 4 options (obviously, there are mixes available between those 4), but sadly that proved to be not the case.
Aside from what to do based on the rares currently in the slot there is a second important factor: the number of spins remaining on each slot.
If a slot has no spins remaining, all you have left to do is spin the other 2 slots, hoping they can match the fixed slot (all the strategies do this). No question here. That's different case for whenever you have a tie between two options, and need to pick one:
In case of spinning away a pair, which of them to spin first? In case of a tie between two or even 3 options, which wheel do you pick.
This is where the second choice comes in. You basically have two options: spin the wheel with the most slots remaining, or spin the wheel with the least slots remaining. During our discussion were referred to those options as either spread (spin the one with most slots) and dig (spin the one with least slots), the reason for those names becomes clear once you consider what it does if you repeat it say, 3 times. Dig will spin the same well three times, while spread will spin each wheel once.
So, now we have 10 different strategies already: Normal(d), Normal(s), Weak(s), Weak(d), Priority(d), Priority(s), Focus(d), Focus(s), Max(d) and Max(s). Is that it than finally you might ask?
No, since we have to break it down one step further. Digging is (usually) better when you are trying to figure out if you could get X from this spin, so it's what you would like to use when you are still trying to find X, while spreading might be better once you have found X. Thus we had to break the weak, priority, focus and max strategies up once more: Weak(d|d), Weak(d|s), Weak(s|d), Weak(s|s), Priority(d|d), Priority(d|s), Priority(s|d), Priority(s|s), Focus(d|d), Focus(d|s), Focus(s|d), Focus(s|s), Max(d|d), Max(d|s), Max(s|d) and Max(s|s) [and Normal(d) and Normal(s)].
And yes, that's it, for now at least (you can of course come up with all kinds of hybrid strategies), but lets keep you waiting no longer.
Strategy | Before X | After X | Rare X | Other Rares | Total |
Normal | Spread | Spread | 2,7377% | 71,1808% | 73,9185% |
Normal | Dig | Dig | 2,7377% | 71,1808% | 73,9185% |
| | | | | |
Weak | Spread | Spread | 2,9558% | 70,9627% | 73,9185% |
| | | | | |
Priority | Spread | Spread | 3,0348% | 70,8832% | 73,9180% |
Priority | Spread | Dig | 3,0876% | 70,8257% | 73,9133% |
Priority | Dig | Dig | 3,0892% | 70,7825% | 73,8716% |
Priority | Dig | Spread | 3,0374% | 70,8389% | 73,8763% |
| | | | | |
Focus | Spread | Spread | 4,4892% | 68,1242% | 72,6134% |
Focus | Spread | Dig | 4,4892% | 68,6152% | 73,1043% |
Focus | Dig | Dig | 4,4898% | 68,5746% | 73,0644% |
Focus | Dig | Spread | 4,4898% | 68,0852% | 72,5750% |
| | | | | |
Max | Dig | Dig | 4,7084% | 50,9054% | 55,6137% |
Max | Dig | Spread | 4,7084% | 45,7141% | 50,4224% |
If any of the strategies mentioned above aren't in the table, it means I haven't found time to simulate them yet.
Bold are what I consider to be the best options in each category. The ones in italics are also optimal if that fits your desires better, but your desires have to be pretty specific to end up matching one of those. The others are included for completeness sake, since they are all worse than one of or a combination of the ones in bold/italics.
TL:DR version..
Important for all strategies: if you do end up with one fixed slot (no remaining spins), stop whatever you were trying to do, and just try to match the remaining slots to the fixed slot. Except for the first case, you should always spread your spins until you run into something you really like.
- Max(d|d): If you want a rare REALLY REALLY BADLY (think higs and her final SoI), break up all pairs and in case of a tie, spin the slot with the least amount of spins let.
- Focus(s|d): If you are looking for a specific rare, spread your spins until you find it. Don't break up any pairs until you do find that rare. After you find that rare, spin the slot with the least amount of spins remaining (that isn't that rare).
- Priority(s|d): If you run into a rare you like, always spin the slot with the least amount of spins left, but don't break up any pairs.
- Weak(s|s): If you happen to run into a rare you like better than the others you have seen in that spin, always spin the slot with the most spins remaining, and don't break up any pairs, even if it that does mean getting rid of your nice Shard of Sacrifice.
- Normal(s|s): If you couldn't care less about which rare you get, you are going to sell them all anyway, don't break up any pairs and in case of a tie, spin the slot with the most spins remaining.
-
I think the possibility of getting one desired rare out of 27 is too low especially if you don't even know it is there. I, for example, still need a few integrities but I don't spin desperately for them - if I see an integrity in the spin I try to go for it but if I don't, I don't ruin my chance for extra electrum. Doubly true for upgraded spins.
-
in the case of AAB when looking for C, i will spin B until A or C, in which case i am done, or i will spin the As. in other words, i will disrupt a good pattern but only if there's a good reason for doing so (AAC).
as for the algorithm you used (i'm assuming it's recursive), what happens in the case of A(1-3) A(1-3) B(0)? (AAB when the last slot has 0 spins)?
-
In the case of A(1-3), A(1-3), B(0) - It will spin whichever of the A's has most spins left.
And regarding the priority case, you (both) are suggesting to only go after a desired rare only if you have confirmation that it's available in this specific spin. Hmm, that would make for another check, but it doesn't sound unreasonable.
-
FWIW, with regard to A(1-3)/A(1-3)/B(0), it's totally irrelevant what the algorithm does, provided it doesn't respin slots 1 or 2 if either of them hit B.
-
True that, it will have to spin until both match B anyway, though my algorithm does spin the one with the most spins left first (not that it matters, that's just how I implemented it).
-
Bumb, after a full day of disrupting chat with loads of math, me, CuCN, Pineapple and ColorlessGreen, finally came up with loads of numbers to represent prioritized spinning in the arena special spin.
The OP has been updated to include the new information.
-
The ones in italics are also optimal if that fits your desires better, but your desires have to be pretty specific to end up matching one of those. The others are included for completeness sake, since they are all worse than one of or a combination of the ones in bold/italics.
TL:DR version..
Important for all strategies: if you do end up with one fixed slot (no remaining spins), stop whatever you were trying to do, and just try to match the remaining slots to the fixed slot.
If you want a rare REALLY REALLY BADLY (think higs and her final SoI), break up all pairs and in case of a tie, spin the slot with the least amount of spins let. [Max(d|d)]
If you are looking for a specific rare, spread your spins until you find it. Don't break up any pairs until you do find that rare. After you find that rare, spin the slot with the least amount of spins remaining (that isn't that rare). [Focus(s|d)]
If you happen to run into a rare you like better than the others you have seen in that spin, always spin the slot with the least number of spins remaining, but don't break up any pairs, even if it that does mean getting rid of your nice Shard of Sacrifice. [Priority(s|d)].
If you couldn't care less about which rare you get, you are going to sell them all anyway, don't break up any pairs and in case of a tie, spin the slot with the most spins remaining.
Specifically, here is the list of optimal (or at least optimal among the strategies tested) strategies along with the range of values for which they are optimal. Value is how many times X is worth to you compared to a non-X rare, 1 meaning that you have no preference, 2 meaning that X is worth twice as much as a non-X rare, and infinite meaning that all rares other than X are completely worthless compared to X.
Strategy | Minimum Value | Maximum Value |
Normal S | 1 | 1 |
Weak SS | 1 | 1.006 |
Priority SS | 1.006 | 1.09 |
Priority SD | 1.09 | 1.6 |
Focus SD | 1.6 | 66 |
Focus DD | 66 | 81 |
Max DD | 81 | Infinite |
The table can be continued in the other direction, if you value one specific rare less than all other rares:
Strategy | Maximum Value | Minimum Value |
Normal S | 1 | 1 |
Anti Weak S | 1 | 0.98 |
Anti Priority S | 0.98 | 0.74 |
Anti Focus SD | 0.74 | 0 |
Edit: More comprehensive strategy posted here (http://elementscommunity.org/forum/farming-studies-and-statistics/optimal-special-spin-strategy/).