![]() To be honest, with your two-suit scenario (only 26 distinct cards in 104) I would be surprised if I didn't get a couple of pairs, I would expect threes to turn up enough to be familiar, and fours to not be unheard of. By the 11th draw the odds that SOMETHING has come up a couple of times have built up quite a bit. With a fair random shuffle, the second card drawn will match the first only 3/103 of the time, but the third will match ONE of the first two 6/102, and if that's not a pair the fourth draw will match one of the existing ones 9/101, fifth 12/100 and so on. Every card drawn that isn't a match for an existing one is another card that a later draw might match. After all the first card doesn't matter, then you've got ten more draws to get the others like it. ![]() However the odds of getting a three or four of SOMETHING in the first 11 cards are higher than you might think. If you always get four tens of hearts some coder probably left a pseudorandom number seed at a default value or set it in some foolish way. The odds of getting all four tens of hearts are indeed not high. Hmm, I seem to have failed to post the reply I wrote earlier, sorry. I've seen this happen when people think they're being clever, and accidentally end up re-seeding from a not-so-random source or at a predictable occasion. If the programmer screwed up randomisation seeding, that could result in an annoying level of predictability. However I do think there are a lot of flawed uses of them out there. Theoretically the "pseudorandom" numbers we get out of standard library functions in most programming languages are really pretty good for most games purposes (or pretty much anything non-cryptographic really). Something similar occurs in card draws, usually with shorter sequences because there are more possible sequences, but still pretty often because there are a lot of places the pattern could occur. eg if I flip a coin ten times, most people assume the chance of getting five or more of one kind in a row is very low, but because the sequence could start on any of the first six flips and I only need to get the following four the same, it turns up more than intuition expects (more than 20% of the time). Think of flipping a coin (assuming it's a fair coin-toss): if I do it over and over again, longish sequences of the same result come up fairly often. Probability is actually a bit counter intuitive. ![]() Fortunately I've never been asked to do this to intentionally cheat people, I hope I'd bluntly refuse if that came up. logically impure? but people can often be more satisfied with the results and it's always been for purposes I can live with. This tends to leave me feeling a bit annoyed as it feels. I have sometimes ended up writing complicated processes to eliminate "not random seeming enough" random results in order to make users happy. ![]() People spot particular kinds of patterns very easily, and the surrounding rules of the game make some patterns more prominent than others. My experience has been that when I've designed and/or implemented genuinely random processes, human perception of it has often been "it's not random". However - at various points I've been involved in making software that uses randomisation, either in games design or e-learning. Can't speak for the internal logic of Spider, though I quite enjoy it (haven't played for ages, but I'm missing it now!). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |