Warning: LONG post, but hopefully interesting.
Having played on RPP (and on no other internet poker sites) for a few months, I frequently see people say that RPP hands are not completely random and that the algorithm they use is lopsided or rigged. I figured I would chip in my two cents.
First, some background on me: I am a PhD student in statistics. I specialize in random variable simulation. This means, I am an expert in the following things:
A) What uniformly random arrangements of cards look like
B) How to test whether or not a certain process which creates arrangements of cards does so uniformly at random or not
C) How you would go about writing computer code in order to create a system which was rigged in one way or another
In other words: I know what I am talking about. Probably the only better qualification I could have would be if I had written the RPP algorithm myself, but in that case I would have a reason to lie to you. Since I didn’t, you can probably trust that this is honest.
While I have not actually done any formal tests, I can still be fairly confident in saying this: I am pretty sure the RPP algorithm is perfectly fair (GASP!)
Let’s talk about why:
The first thing you might suspect is that RPP didn’t rig the system out of malice, but because they just didn’t write very good code. This is an easy assumption to make, but let me tell you: Writing code to deal cards at random is VERY EASY. All you need is a good random number generator. Now of course, you might think that this means they don’t have a good random number generator, but the thing is, almost everything on earth uses the same generator. It’s called the mersenne twister. You can read about the details at Mersenne Twister - Wikipedia if you like. This is a prefabricated algorithm which is usually considered the standard. It has already been coded into hundreds of programming languages, so nobody really writes their own generator anymore, and they haven’t for years. The mersenne twister is VERY good. It is not truly random, but it is about as close as you can get. It is so close that there is no known statistical test which can tell the difference between truly random numbers and those that come from this algorithm. It is, in fact, a lot closer to true uniform randomness than shuffling a pack of cards by hand.
IF RPP has a system which is not uniformly random, then it was made that way on purpose. How hard it is to rig depends on exactly what you wanted to do. I have seen a bunch of specifics thrown around, so I am only going to talk about one of them (next couple of paragraphs), but overall, the conclusion is usually the same: Writing a rigged program is MUCH harder than writing a fair one . . . and all the money on RPP is fake, so why would you ever want to? Let’s go into a few of the specifics:
The claim that prompted me to write this was a guy who said “Pay attention to the RPP algorithm: If you are having a bad day at the ring games, try the sit-n-gos and you will do better”. This is similar to what many others have said. Let’s be clear: Actually coding something like this would be absurdly complicated. For starters, you have to keep track of exactly what kind of luck someone has been having at the ring games. You could either set this on purpose, or find a way to figure it out automatically from the cards. Setting it on purpose is much easier, but this means you have to set a level of luck for every single player on RPP. You can control that, of course, but you can’t control what table someone sits at. What if two guys sit at the same table and both are slated to have fantastic luck? You have to give the good cards to the guy that is slated for better luck I guess? And then you have to recalculate the adjustment for the level of luck of the other guy, because your plan was to give him good luck and you didn’t? Then you have to consider what switching between SNG and ring games does. Somehow you have to keep track of the fact that someone changed one system of play for the other and then adjust the luck they are slated to have based on that. All of this comes BEFORE you actually deal any cards, because when you do somehow you have to figure out a way to rebalance your entire card dealing algorithm for whatever combination of luck levels you see from everyone sitting at the table.
Could this be done? Yes, you could do it. But man . . . it would be HARD! Not only would this be hard to program to begin with, but this system would be ridiculously complicated to keep track of. All this extra work would take up disk space and CPU, require more maintenance, give the entire staff a lot more work, and all for what reason? I am doing something this complicated (even moreso, actually) for my PhD thesis, so it is definitely possible, but it has taken me years of hard work, and I am doing it in order to diagnose patients with diabetes: I am trying to save lives! If you are actually going to put that much work into something, you should probably have a much better reason than just to mess with the heads of some random people on the internet.
Now let’s talk about some other forms of broken randomness: There are a few that would be much easier to code, and I have seen people accuse RPP of a few of those: “Almost every flop contains an ace.” “Much higher incidence of good hands.” “Way too many pocket pairs”, etc. These ARE harder to code than just complete fairness, but not much harder, and you might even be able to argue that there is a reason for it: Show the beginners some strong hands to get them excited!
I decided to give a quick sanity check to the number of flops with aces: Complete randomness dictates that about 1/4 of flops contain an ace. You deal 3 cards in the flop, and each one of them has about a 1/13 chance of being an ace, so 1/13+1/13+1/13 is 3/13 which is close to 3/12=1/4. This is NOT the exact probability, since you can’t deal the same card twice, but the correct calculation is a lot more complicated, and 1/4 is a pretty good estimate anyway. To do my sanity check, while playing I counted how many flops had an ace for a couple of hours of play. I made sure to count hands I was playing and also hands I was not playing as well. I came up with something pretty close to 1/4, so it seems that the number of flops with an ace in them is normal. When I had an ace then the number of flops with an ace in them was lower, but actually that is normal too: If I have an ace in my hand then that ace can no longer show up on the flop, so the odds are lower.
Incidence of pocket pairs and strong hands is a little harder to refute, particularly because at first it sounded true to me. On RPP you see trips, straights, flushes and full houses all the time. Quads aren’t even all that rare, and you even see a straight flush once in a while. At first I thought this accusation was just plain true, but then I thought about it some more:
There are three reasons why it seems like RPP has more strong hands. First, let’s talk about the biggest one, and then I will mention the other two.
The biggest reason why it seems like there are too many good hands is because on RPP it is not uncommon to see a table with over 100 hands per hour. This is because on RPP shuffling and dealing is instantaneous, and counting chips also takes no time. Furthermore you get a very short amount of time to make any decision, and you can pre-check an option so that your call can happen faster than you could even say “check” in real life. This adds up to a much faster rate of play. I watched a real game of poker for a while to compare: Hands took about 8 minutes each, which is just under 8 hands per hour. In other words, RPP is over 12 times faster! As a result, in one hour of play on RPP you will see as many hands as you would in 12 hours of play on a real table. When you put it that way it should be less shocking that you see so many good hands in an hour on RPP: You will see some pretty good hands in real life too if you give it 12 hours!
There are another two factors which also weigh in along with the number of hands: The first is that when you fold you get to see your greyed out cards as the hand plays out. In a normal game, you fold your off suit 3-10 and forget about it, but on RPP when the turn and river are both 3s, you notice it! The other factor is just how many people call on RPP. Over half of the players on this site seem to call every single hand preflop, and I have seen many players get to showdown 10 or more hands in a row (with or without the cards to back it up). This means that if their off suit 5-9 happened to turn into a striaght, you will see it. That wouldn’t happen in real life.
Having these realizations, I did another couple of basic sanity checks. Checking all kinds of good hands at once is very complicated, but it isn’t too hard - for instance - to see how many times I hit a flush draw by the river if I had one on the flop. The sample size here was much smaller, of course, but RPP passed these basic tests too.
In conclusion: I really don’t think RPP is rigged in any way. I have not checked all of the accusations that people have made against the algorithm, but I looked into a few of the saner sounding ones and found no credible reason to doubt that RPP was fair. Yeah, I guess it’s possible that RPP does something to put its thumb on the scale in some particularly weird way, but as I said before, it would actually be easier just to make everything fair.