As part of my efforts in multi-player game research, we have developed a program to play Hearts. Those unfamiliar with the game and the rules can find information on it and many other games at www.pagat.com. An older version of the program used custom node ordering with speculative pruning to seach monte-carlo generated opponent hands, making the move to minimize one's expected score. (See publications for more details.)
In 2003 we played a 90 game tournament against Freeverse Software's Hearts Deluxe hearts program. We played one of our players against three of the Hearts Deluxe players set at the highest strength. Players got -26 for shooting the moon, and games were played to 100 points. Card passing was not enabled. There results were:
average score/game | average score/hand | |
Our Program | 55.8 | 5.16 |
Hearts Deluxe | 75.1 | 6.98 |
A free program based on this research was released at ns-software.com/Hearts/, althought this program hasn't been updated since 2013. This program is currently using monte-carlo sampling of opponents' hands with the UCT algorithm for play. The program handles shooting the moon much better than the previous program, although there are known problems with the monte-carlo hand generation. This currently is not based on good opponent modeling techniques, and is probably the next area in which the program will be improved.