Thursday, August 18, 2005

Backgammon

Title: JellyFish Light
Author: JellyFish AS
License: Freeware
Website: http://www.jellyfish-backgammon.com/

Title: GNU Backgammon
Author: GNU Backgammon Team
License: GNU General Public License
Website: http://www.gnubg.org/


I realize that backgammon is not a puzzle or logic game, but I am also a fan of two-person strategy games. So, I am going to mix in reviews of computer programs which play such games from time to time. I hope you do not mind.

Over the last 15 years, high-level backgammon has undergone a revolution due to computer backgammon programs. First, there is a fundamental difference between backgammon programs and those that play other games. Due to the additional branching from the various dice rolls, backgammon programs can only look a few moves (or ply) ahead and then have to use very sophisticated heuristics to evaluate the positions. Chess, checker, and othello programs, on the other hand, perform very deep searches, but use relatively simplistic evaluation heuristics. In a backgammon program, it is more important to have a strong evaluation heuristic.

About 15 years ago, backgammon programs started using neural nets to learn good heuristics. Instead of having the programmer code in what are good things and what are bad things in a backgammon position, the programs learn by playing. One of the first program to do this was called TD-Gammon. It played on-line at a backgammon server. I remember playing against it. At first, it was a bit of a joke. Its cube play was atrocious. Over time, it got better, a lot better. Eventually, it was one of the top rated players, if not the top rated player, on the backgammon server. Players and programmers took notice.

Between then and now, several other similar backgammon programs have been developed. These programs have become very good, besting the best human players. But, the humans have fought back. The really interesting aspect in the development of these programs is that human players started looking at the heuristics and learning from them. For example, there are books by Robertie and Bagai which distill information from the heuristics and pass it on to human players. This examination has changed the way high-level backgammon is played.

I want to mention two freeware backgammon programs which use neural net based heuristics. Both play a very strong game. The first is called JellyFish Light. Supposedly, it is called JellyFish because, its neural nets contain as many connections as the brain of a jelly fish. It might be true. In any case, on its highest level, JellyFish beats me far more often than I beat it. I am an average Flight A player, but not an expert level player. The interface is simple but nearly flawless. Jellyfish Light does not contain many bells and whistles. They sell a commercial version with many additional features. However, I find it amazing that they give the Light version away for free.



The second program is GNU Backgammon. It is also a very strong program, but the interface, menus, and documentation are at times a little clunky. GNU Backgammon also beats me up pretty good. It contains many features. My favorite is tutor mode. With this feature enabled, when you make a bad play (how bad is adjustable), it warns you and allows you to look at a chart of its evaluation of the possible moves. This has significantly improved my game. It also has rollout and analysis features. All and all, a very impressive program.



So which one plays a better game? In an extended match, GNU Backgammon beat JellyFish by .12 points/game over 5000 games. This is a statistically significant result. Still, JellyFish is no slouch, and I find myself playing it more often because of its simple but efficient interface. I save GNU Backgammon for when I want a tutoring session.

There are many more strong backgammon programs available, but these two should suffice for almost everyone. A third program which I should mention is Snowie. It is commercial program and quite expensive. I have never played it, but it is currently considered the best backgammon program out there.

For those interested, here is a nice brief overview of the *MinMax algorithm used in backgammon programs. You may want to compare that with MinMax algorithm used in chess programs. My opinion is that the real strength of these backgammon programs comes from their ability to weigh risks and rewards. A key part of the *MinMax algorithm is averaging over the possible dice rolls, both the good and the bad. The computer does this computation without emotion. Human beings are not very good at weighing risks and rewards. It is not part of our nature. I think this is way these programs fair so well against humans.

0 Comments:

Post a Comment

<< Home