Story

Between the beginning of 2003 until March 2006, Chrilly Donninger and I had the wonderful opportunity to construct one of the (as I think) most remarkable chess programs that we saw so far.

When I entered the project, ChessBase Inc. and Chrilly had developed an early version of the Brutus chess program, a chess program running on FPGA cards. Nevertheless, it was already quite clear that the way to the top of the world was along one. Therefore, Chrilly and me, and the University of Paderborn, as well as the company Chessbase decided to cooperate in order to create a chess program with the following properties: FPGA technology was ought to be used to make use of fine-grane parallelism in a chess program, and distributed memory clusters were ought to be used in order to exploit the coarse-grain parallelism in a chess program, and algorithms and heuristics of the new program should hold professional standard.

Only a few months later, we were a step further, and in the end of 2003 we played the Comnputer Chess World Championship in Graz. Brutus ran on 4 processors, and the FPGA part was then stable. We hoped the WCCC to become the great moment of the program. Everything went different...

Brutus became only fourth. Dissapointment. The end. Chessbase left the project. However, the project had attracted the attention of a small company in Abu Dhabi, and this was the a booster for further successful work. It took some months until a certain basis of mutual confidence was established. Thereafter, we suddenly had all support easiliy available that you can imagine. A bigger machine with 8, later 16 and 32 processors. Fascinating travels to Abu Dhabi and Dubai, and a lot more. We were even able to get the support of one of the best German chess players Christopher Lutz. The program was now called Hydra. And believe me, each of the last 5 sentences is worth its own lovely story.

In the beginning of 2006, I left the team, because I saw no longer the time, necessary to combine my profession as a researcher with chess programming on the professional level. With certain pride, I can report that, at the end of my time in the Hydra-team, the program had an advantage of about 200 ELO points over the rest of the chess world. This was indicated by hundreds of test games against each of Shredder8, Shredder9, Fritz8, Fritz9, and Rybka (the freely availabe version). The games were made under controlled conditions, with about 1h per game per side. The published games against Chess Grandmasters showed a silimar situation against the top human players.




Adams-Match

Hydra's match against the Super Grandmaster Michael Adams was certainly the highlight of the chess program, at least so far. GM Adams is in the top ten of the human players since a long time already, and mostly he can be found between rank 4 and 7. He has an ELO-number of about 2740 ELO and thus is only a nose behind the human World Chess Champion.


I do no want to go into the details of the games. Instead I show here the score evolutions of the games. The scores reflect the program's opinion how good its current position is. Green bars indicate an advantage for White, read bars an advantage of Black. Together with the blue bar at the right side of the following pictures, you see the absolute value. If e.g. the green bar reaches the top of the drawing area, and the blue bar shows six blue items, the program sees an advantage for White of about six pawns.







It is quite easy to dectect, in which games Hydra lead the white pieces. Moreover, we see that the human player did not stand the slightest chance. Hydra won the match with 5.5 to 0.5 and achieved an ELO-performance of 3140 in these games.




Characteristic Data

Brutus/Hydra runs in parallel and gets its playing strength out of a workstation cluster, which consists of Intel Xeon 3.6 GHz dual processor boards,each one supplied with an FPGA-card from Alphadata Inc. The FPGA PCI-cards mainly recieve their power from Xilinx Virtex-II Pro chips. On each chip, Hydra examines about 5 million chess position per second. Together with a speedup of 17 (faithfully measured) on 32 processors, the netto performance is 85 million position per second, at a brutto performance of about 120 milion positions per second.