Any math-y folks got an idea on this?
I'm looking to make a randomizer deck of 24 cards(*) which provides me an as-fair-as-possible random choice between a set of items.
If the set of items were constant, this would be easy. To choose between A/B/C/D, I put each letter on 6 cards. To choose between A/B/C/D/E, I put each letter on 5 cards, except for one letter which gets 4; that's as close as I can get.
However, the set of items in play to choose from is variable. It'll be some non-empty subset of (A,B,C,D,E,F). So it could be "choose between B/E", or "choose between A/C/E/F", or "choose between all 6", or any other combination.
Were I using a (massive) deck of 720 cards, there'd be an easy approach: put one possible ordering of A/B/C/D/E/F on every card. Choose whichever item comes first in that ordering. (Eg: I'm picking between B, D and E. If I draw D-C-A-F-B-E, that chooses D. If I draw F-A-B-C-E-D, that chooses B, because F and A aren't valid choices.)
But I don't have nearly 720 cards to work with. I feel (perhaps incorrectly) like the above technique should be able to get within spitting distance of fair randomization with a much lower number of cards, but am not at all sure what orderings to use. If I work with simple patterns, it's very easy to give each letter equivalent frequency in every position (1st through 6th) - but patterns introduce biases. Eg: simple rotations (A-B-C-D-E-F // B-C-D-E-F-A // etc) will select E over F five-sixths of the time, and even if you also mirror those orderings (F-E-D-C-B-A // A-F-E-D-C-B // etc) you'll still rarely choose D out of (C,D,E).
Any thoughts?
(*) = I'm oversimplifying - these randomizers appear along the bottom of another type of card, which is why I'm limited to exactly 24.
Originally posted on Dreamwidth (comments:
)
If the set of items were constant, this would be easy. To choose between A/B/C/D, I put each letter on 6 cards. To choose between A/B/C/D/E, I put each letter on 5 cards, except for one letter which gets 4; that's as close as I can get.
However, the set of items in play to choose from is variable. It'll be some non-empty subset of (A,B,C,D,E,F). So it could be "choose between B/E", or "choose between A/C/E/F", or "choose between all 6", or any other combination.
Were I using a (massive) deck of 720 cards, there'd be an easy approach: put one possible ordering of A/B/C/D/E/F on every card. Choose whichever item comes first in that ordering. (Eg: I'm picking between B, D and E. If I draw D-C-A-F-B-E, that chooses D. If I draw F-A-B-C-E-D, that chooses B, because F and A aren't valid choices.)
But I don't have nearly 720 cards to work with. I feel (perhaps incorrectly) like the above technique should be able to get within spitting distance of fair randomization with a much lower number of cards, but am not at all sure what orderings to use. If I work with simple patterns, it's very easy to give each letter equivalent frequency in every position (1st through 6th) - but patterns introduce biases. Eg: simple rotations (A-B-C-D-E-F // B-C-D-E-F-A // etc) will select E over F five-sixths of the time, and even if you also mirror those orderings (F-E-D-C-B-A // A-F-E-D-C-B // etc) you'll still rarely choose D out of (C,D,E).
Any thoughts?
(*) = I'm oversimplifying - these randomizers appear along the bottom of another type of card, which is why I'm limited to exactly 24.
Originally posted on Dreamwidth (comments: