Distributed Cribbage Computation
A Distributed Computing Screen Saver
This analyzes the two-player version of six-card cribbage. The rules can be found on many web sites, or in the help screens of Carte Primus Cribbage. There are versions of cribbage for more than two players, but the two-player version is the most popular. Similarly, there is a five-card version of cribbage, but this seems to only be played by a relatively small number of people.
For each of the 4 conditions, and each of the 121 * 121 possible board positions, multiple random hands are analyzed. For each hand that is analyzed, the optimal play is determined based on game theory, and the expected pay-off is calculated. The standard deviation of all of the values calculated for the specific board position and condition. This is used to determine the accuracy of the computations within a specific confidence level. Unless otherwise cited, all results are specified to a 95% confidence level.
When analyzing a random hand, it is often the case that the optimal play is a mixed strategy (that is, that a player should play some cards a certain percentage of the time and different cards some other percentage of the time). The entire hand is analyzed, including the discard, the cut card, the play, and the count of the hands and crib. The results are weighted based on the mixed or pure strategy as appropriate to calculate the expected pay-off.
Suppose that both players are playing to win (versus playing to maximize their game points, 1 and 2 winnings, or spread points). If the dealer has a score of 35, and the eldest-hand has a score of 37, then prior to getting their cards dealt, it has been calculated that the dealer has a 51 % chance of winning. Based on the cards that the dealer has been dealt, he will attempt to maximize this chance by playing to end up at a board position where this is as high as possible.
It is often the case that a hand can either be played to increase both the player and his opponent's score, or can be played to limit both of their scores. The values already calculated for board positions later in the game are used to decide which strategy is optimal.
Multiple computers can work on this problem at the same time. Each downloads an epoch file containing the latest results. These are used when calculating the value of different board positions. After a significant number of random board positions have been analyzed, the new data is uploaded. A master program combines the data and produces a new epoch file with the updated results.
Since the expected accuracy of the results improves as the standard deviation of the computations decline, it is essential that each computer periodically downloads the latest epoch files. Data computed with old results does not have the same confidence as data computed with later results.
For each of the four conditions, the results should be monotonic along both the rows and along the columns. That is, given any board position, it is always at least as good for a player if the opponent has the same number of points and the player's score is greater. For the spread point condition, this the results should be strictly monotonic.
Any deviation in the presented results from monotonic is due to the limited precision of the calculations. Sicne a Monte Carlo method is used, it is never possible to state a result with complete certainty; rather, it is only possible to have a certain confidence that the results are within a given range from the correct answer.
Once the possibility of a skunk has been eliminated, game points and 1 and 2 pay-offs are similar to win percentage except for a scaling factor. Similarly, for the score condition of 120 to 120 (both players 1 point away from going out), the expected spread points are similar to the win percentage. For this reason, the bottom right 30 x 30 board positions for win percentage, game points, and 1 and 2 pay-off are only calculated for one condition, and are scaled appropriately for the other conditions. Likewise, this is also done for the final board position for spread points.
This program was written by David Manthey. You can contact me for more information, but I may be slow to respond.
[ Overview | Details |
Download | Help |
Brief Results | Win Percentage |
Game Points | 1 and 2 |
Spread Points ]
[ Orbital Central | Site Map ]