PokerOdds 2.51 Help
PokerOdds is a program that generates a wealth of statistics about any incomplete game of Texas Holdem'. A user can specify any known pocket, community, or dead cards. PokerOdds then generates statistics about the game by repeatedly dealing out the rest of the cards, examining how each round turned out, and tallying the results. PokerOdds will tell you:
* For games with simulated opponents |
PokerOdds's brute-force method of enumerating hands is designed to address as many confounding factors as possible. Counterfeit hands, absence of dealt cards, and likelihood of draws are all naturally accounted for. USING POKERODDS ![]() The PokerOdds main window To generate statistics: First, you need to specify the number of players in the hand. (If you're simulating a hand that is occurring (or has occurred) in real life, only include players who have not folded.) To add a player, simply press the plus (+) button below and to the left of the players panel. New opponents will have a randomly chosen character icon (which is solely for amusement and has no bearing on the results of the simulation). To remove a player, select the player you want to remove by clicking it, and press the minus (-) button. You can also "fold" a player, via the "Fold" button. This button behaves exactly like the "Remove Player" (-) button, except that it moves the removed player's cards to the "Dead Cards" bin for you. Those cards will never be dealt in the simulation until they are moved back to the deck by the user. Note that if you only are interested in determining the likelihood of each kind of hand coming out for one player, you can improve performance by removing all players but the "User" player, and win/loss statistics will not be generated. Now, if you want to specify any pocket, community, or dead cards, you can do so by moving a card to the desired player, the table (the set of five initially overturned cards between the players and the deck), or the "dead card" bin (the garbage can near the bottom of the window). Leaving a table or player's card overturned allows it to be variable; it will be filled in randomly during each simulated round. Cards in the "dead card" bin are considered to be out of the game, and cannot be dealt. Some of the many uses of the dead card bin can be to specify folded cards, or to test how significant a specific card is to winning or losing. Moving cards around is pretty simple: To give a card to a player, the table, the "dead card" bin, or to return it to the deck, simply drag the card you want over to the intended recipient, and then drop it. To return all the cards to the deck at once, press the "Reset Deck" button below and to the right of the Players window. You can also return only the dead cards to the deck by pressing the curved arrow to the right of the dead cards bin. Make sure that all the cards are where you want them to be before you run the simulation-- a card cannot be randomly dealt out if it is not in the deck, and a misplaced card can skew your odds dramatically. Once you've set your pocket, community, and dead cards (if any), choose how many rounds you wish to simulate by adjusting the slider near the bottom of the screen, or typing a specific number in the box to the right of it. The more rounds you run, the more precise your statistics will be. However, since each individual round takes a finite amount of time to simulate, increasing the number of simulated rounds will also increase the total simulation time. Choose a balance that best suits you based on the speed of your computer, your willingness to wait, and your desire for precision. Finally, decide what stage of the hand you want the odds to reflect. The default is "Showdown," meaning that the statistics generated are the probability that a given event will happen at or before the showdown. If you choose an earlier stage in the hand, such as the Turn or the Flop, then the simulation will NOT deal out community cards past the specified stage, and the generated statistics represent the probability that a given event will happen AT OR BEFORE the specified stage. If you've put more cards on the table than allowed at the stage you've chosen, PokerOdds will generate statistics for the LATER stage. At the bottom of the results chart, a warning will be displayed. Now hit the "Simulate" button at the bottom of the screen. Wait a few seconds, and the program will automatically switch over to the "Results" tab when it's finished. Switch back to the "Game Setup" tab at the top of the screen when you're ready to run another simulation! As of version 2.5, PokerOdds has an option screen which allows the user to set and save preferences about the program's interface. To access this screen, switch over to the "Results" tab, and click the "Options" button in the bottom left-hand corner. This screen currently allows you to manipulate three different settings:
Checking the box next to this option will turn on PokerOdds's "Live Results" display feature. Whenever a simulation is in progress, a small yellow box will pop up showing the current win/loss rates for the user in real-time. For more information about the Live Results display, see the section about it below. Checking this box will stop PokerOdds from automatically switching over to the "Results" tab when a simulation is finished. Checking this box will save the results of each simulation (as plain text) to the file specified in the box to the right. Click the "Browse..." button to choose the file you wish to save the results to. For more information on logging, see the section below titled "The '-logfile' Feature". All of the above settings are saved between sessions, so you don't need to set them again the next time you run the program.
As of version 2.4, PokerOdds comes with a feature that allows for automatic logging of results. When this feature is turned on, PokerOdds will insert the results of each simulation at the top of the specified log file, as plain text. There are two ways to turn on automatic logging: The "Options" dialog, and a command-line argument. The Options dialog allows the target file to be changed or logging to be turned on or off when the program is running, and the command-line argument is a way to specify a log file at the time the program is invoked. Using the command-line argument will override any logging settings saved from a previous session and log to the specified file, if it is valid. To turn logging on from the command-line, simply invoke PokerOdds with the suffix Valid invocations include such lines as:
At the end of each simulation, PokerOdds will insert the contents of the results window into the logfile, as well as the date and time, the program version, the time the simulation took to run, and the observed performance in rounds per second. If you want PokerOdds to always automatically log its results, you can change its shortcut to include the "-logfile" argument. The Live Results display is a small yellow box that pops up whenever a simulation is running that shows the user's win/loss odds as they are being simulated. This feature can be turned on or off in the Options dialog.
![]() The Live Results Display The Live Results display has three bar graphs that represent the user's current odds of winning, losing, or drawing. On the win/loss graphs, there is a small, dark yellow tick mark that represents "level odds," or the probability of winning or losing if each player had an equal chance of winning, ignoring the cards. (This is simply 1/n for winning, where n is the number of players in the hand, and 1-(1/n) for losing--- These numbers do not account for the probability of draws, as they are simply meant to be a rough guide). MAKING SENSE OF THE STATISTICS: Win/Loss/Draw: If you've run the simulation with opponents in the game, PokerOdds will tell you how likely each player is to win, lose, or draw with another player. There are a few things to note: First, your odds of winning are greatly affected by how many people you're playing against. If we imagine (or simulate) a blank hand with three players, then logically, each player has an approximately equal chance of winning the hand, and each will do so approximately one third of the time. So, the fewer the opponents, the more often you win; and, for a game with n players, your chances are better than average if your odds of winning are greater than 1/n. The second thing you may notice is that for a blank hand with n players, the odds of winning are slightly less than 1/n. Therefore, adding up the chances of winning (or losing) for all the players will be less than 100%. This is because PokerOdds considers a draw to be, logically, neither a win nor a loss. The "missing" percentage can simply be attributed to draws between players. Also note that the odds that someone will draw is not the sum of the odds that each individual player will draw, since there must inherently be overlap in the odds, as a draw always involves more than one player. Summing the odds will thus "count" each draw at least twice, as each draw contributes to the odds of drawing for all the players involved. Furthermore, make sure you've told PokerOdds to generate statistics for the stage of the hand that you're interested in by selecting it in the "Deal To:" drop-down menu at the bottom of the window. If you've specified more table cards than allowed at the stage you've chosen, PokerOdds will generate statistics for the later stage. Note that this will alter the generated odds against expectation, since the extra card you've specified will be included in every hand. PokerOdds will display a warning in the bottom of the results chart if there is a discrepancy between the number of supplied cards and the requested hand stage. The most important thing to note when playing by win/loss statistics is that PokerOdds has no way of accounting for the way people bet, their likelihood of staying in for the flop, turn, or river with any given hand, or the tendency of players to fold poor hands. You must take all of these factors into account yourself, and understand that PokerOdds is only a tool for providing additional information about an "ideal" situation that, if well understood, could help you play a better game of poker. Occurrence Rates for Hands: This data essentially answers the question, "How often did someone have each kind of hand or better?". More specifically, the data in the column labeled "User" represent the odds that each kind of hand will occur for the user, while the data in the column labeled "Competition" represent the odds that each kind of hand will occur for at least one opponent. There are two important distinctions to be made here: These numbers are NOT about the best kind of hand that can be made in a given round, those statistics are shown below. In this case, we are only examining the odds that a particular kind of hand will happen at all, including the times it can also be made into a stronger hand. As an illustration, imagine a hand where the player has a pocket pair. The odds of a pair occurring for him are 100%, even if sometimes he'll get a three-of-a-kind, a full house, or even a straight. The odds of a pair being his best hand are less than 100%, because he'll frequently get something better. The former kind of statistics is what is represented here. Note that this also means that these odds say nothing about which hands will win or lose; again, those statistics come later. The second thing to make note of is how the occurrence rates for the opponents are tallied: As said before, the data represent the odds that each kind of hand will occur for at least one opponent. To illustrate, let's imagine another hand. This time, we will have two opponents. One will have a pocket pair, and the other will have unspecified cards. Now, the odds that at least one opponent has a pair is 100%, and this is what PokerOdds will display. It is important to distinguish this with the odds that any given opponent will have a pair, since in our example, it is less than 100%. This is because our second opponent only gets a pair sometimes, therefore, on average, any given opponent will have a pair less than 100% of the time. Again, this is NOT what PokerOdds displays. This data essentially answers the question, "How often was each kind of hand the BEST hand?". More specifically, the data in the column labeled "User" represent the odds that the user will have each kind of hand and nothing better, while the data in the column labeled "Competition" represent the odds that at least one opponent will have each kind of hand, and no other opponent will have something better. It is important to note that the "Best Hand" distribution for the competition represents the odds that each kind of hand will be the best hand among all the opponents, not for any given opponent. This distinction is very similar to the one made above, in that all the opponents are essentially treated as one unit that either does or doesn't have a particular kind of hand. To illustrate, imagine a hand where there are two opponents. One has an eight of clubs, and the other has unspecified cards. On the table, there is a 5, 6, 7, 9, and 10, all of clubs. The odds that the best hand among all the opponents is a straight flush is 100%, since at least one opponent always has one, and no one can have better than a straight flush (a royal flush is impossible). These are the odds that PokerOdds will display. In contrast, the odds that any given opponent's best hand is a straight flush is closer to 50%, since one opponent will usually have only a flush. These are NOT the odds that PokerOdds displays. This data essentially answers the question, "If a player has a certain hand, does he win, lose, or draw?". For the user, the data are computed as: ![]() ...And for the competition, the data are computed as: ![]() Basically, these numbers are the odds that a particular hand will produce a particular result for a given player. Note that in this arrangement, rows add up to 100%, since the percentages are the fraction of the number of times each hand was a best hand. It is especially important to note that, contrary to other statistics, the data are in terms of any given opponent, not the opponents as a whole. To illustrate, let us again imagine our game with two opponents, one holding an eight of clubs, the other with unspecified cards, and 5, 6, 7, 9, and 10 of clubs on the board. If the results are calculated as the odds that each kind of hand will produce an outcome for a particular player, then we see an opponent's odds of winning with a straight flush are slightly less than 100%, since sometimes the second opponent will catch a 7-high straight flush and lose to the other opponent. These are the odds that PokerOdds reports. In contrast, if the results are computed as the odds that each kind of hand will produce an outcome for at least one opponent, then we see that the odds of an opponent winning with a straight flush jump to 100%. These are NOT the odds that PokerOdds displays. For more information about distinguishing "Outcome Distribution by Hand" and "Hand Distribution by Outcome," read on. Note as well that only the highest possible hand for each player is examined. This data essentially answers the question, "If a player won, lost, or drew, what was his best hand?". For the user, the data are computed as: ![]() ...And for the competition, the data are computed as: ![]() Basically, these numbers are the odds that a particular outcome will be the result of a particular kind of hand. Note that in this arrangement, columns add up to 100%, since the percentages are the fraction of the number of times each outcome occurred for the user or an opponent. It may be difficult to distinguish the two arrangements of outcome/hand correlation data presented by PokerOdds, but they have distinct meaning. The difference between "Outcome Distribution by Hand" and "Hand Distribution by Outcome" is basically what "whole" each percentage represents a fraction of--- notice that only the denominator differs between these two arrangements' equations. For outcome-by-hand, the "whole" is the total number of each kind of hand. For hand-by-outcome, the "whole" is the total number of each kind of outcome. The meaning of the data differs only in what we are "assuming" when we look up the data: in hand-by-outcome, we are "assuming" that a player has a particular kind of hand, and are finding out what the outcome of that hand was likely to be. In outcome-by-hand, we are "assuming" that a player had a particular kind of outcome, and are finding out what hand he was likely to have. Again, as with outcome-by-hand percentages, the data are in terms of any given opponent, not the opponents as a whole. This configuration was chosen since the "loss" statistics would not make sense if only the best hand among the entire group was examined-- there are multiple losers, and there is no reason why we would only be interested in the "best" loser. A similar argument applies to draws. For an example illustrating the logical difference between examining the opponents as individuals rather than as a group, read "Outcome Distribution By Hand". FURTHER PROBLEMS: Is there anything else you think should be covered in the FAQ? Have you spotted a bug? Is the Readme unintelligible? Do you have suggestions for how the next version of PokerOdds should look? Send the author an email at tbabb@ucsc.edu. |