Author: ludicrous
Date: 02:02:08 12/05/05
Rybka v 1.0 Beta Readme Dec 4, 2005 Thanks for agreeing to become a beta taster for Rybka 1.0. Rybka is a standalone UCI chess engine which can be installed and run in any chess graphical front-end which supports that protocol. If this last sentence is cryptic to you, it is probably better that you wait until the fully documented and user-friendly Rybka 1.0 release in the middle of December 2005. Brief Engine Specs History: The Rybka chess engine began as a part-time project in March 2003 and is now being developed full-time. Aims: Rybka aims to have a fully knowledgeable evaluation function. This term however has taken some abuse recently, so let me make something clear: chess knowledge wins chess games. If it doesn't, it isn't knowledge. Opening book: Not supported. An internal engine opening book contradicts my sense of the proper separation between the database-oriented graphical front end and the engine. However, if enough people scream for this, well .. :) Winboard support: Ditto - not supported. This protocol contradicts my notion of what an engine should do. However, if enough people scream for this ... :) Endgame tablebase support: In principle, this also slightly contradicts my notion of what an engine should do. Chess strength comes from themes and principles, not memorization. However, enough people have screamed for this and so endgame tablebases will be supported in the full Rybka 1.0 release. Multi-processor support: Not present in Rybka 1.0, but at the top of the to-do list for the next release. The emphasis will be on running smoothly on the affordable multi-core desktop machines which are revolutionizing the personal computer world. Beta Distribution We ask that the beta releases not be circulated except in cases where special permission was given, as it was for example to all of the members of the CEGT test team. Those interested in becoming beta testers are asked to please contact us directly to get a copy. Release Dates Dec 2, '05: windows 64-bit Rybka 1.0 Beta Dec 4, '05: windows 32-bit Rybka 1.0 Beta Dec 16, '05: Rybka 1.0 64-bit & 32-bit releases Rybka 1.0 represents the internal chessboard using bitboards - one bit for each square on the board. Bitboards are nothing new - they date back to publications from the Soviet Union in the 1970s - and the topic is a source of endless discussion on the computer chess message boards. After 30+ years, we still have no idea if bitboards are the most efficient way to represent chess knowledge. For the users, there is one serious practical effect: like other bitboard engines, and unlike non-bitboard engines, Rybka runs significantly faster on 64-bit systems than on 32-bit systems. For example, the following are the knps rates for the two versions of the engine on my own test position sample on a 2.4 GHz Amd-64 machine: 32-bit Rybka 1.0 Beta: 104 knps 64-bit Rybka 1.0 Beta: 166 knps This difference in speed should result in a difference in strength of between 25 and 50 rating points. I believe that it should be relatively bigger at shorter time controls, and relatively bigger in sharper openings (ie. Sicilians) rather then in more strategic openings (ie. Nimzowitch, French). The computer chess community does not have very good data about this topic and I would be very pleased if some testers investigated it further. Testers are also of course free to decide for themselves how (if at all) to distinguish these two different playing strengths. User Features in Full Release The Beta releases are missing several features which will be present in the full release. These features are related to user friendliness and have no effect on practical playing strength, so it is appropriate for Rybka 1.0 Beta versions to represent Rybka 1.0 in rating lists. These features include: 1) Full support of UCI protocol ("go nodes", "go mate", "go searchmoves", etc) 2) Multi-variation mode 3) Tablebase support (I should say that it is only my personal opinion that tablebases are not a playing strength feature - others may disagree) 4) Proper handling and reporting of mates Beta Testing In practice, Beta testing usually means Beta using. It certainly has meant that in my experience as a Beta tester :) Nevertheless, we are interested in all kinds of feedback. In particular, we are interested in: 1) Testing under all sorts of different conditions - different operating systems, different machines, different GUIs, against different opponents, playing on ICC or playchess, etc. 2) Statistically valid game-playing results, again under all sorts of different conditions. 3) Comments about playing style or strength or even better, annotated games, potentially for use on our web site (which is under construction). 4) Feedback about the "search direction" option, see section below for more details. Closer Collaboration? We are also interested in finding chess and computer chess fans who would like to participate more closely in our project. There are a number of possibilities in this direction: 1) Opening book creation. 2) Official operation of Rybka in in-person and online tournaments. 3) More serious and technically open testing of Rybka versions and changes. 4) Porting of the engine to other platforms. Please contact us if you are interested in any of the above. I should also mention one other thing: we are planning to expand the project to include a GUI which can properly display Rybka's chess knowledge. This will probably also involve expanding the UCI protocol - but that's all another topic for another day. In general I prefer to work with people I have worked with in the past, under deadline pressure, etc. Nevertheless, if you are a talented software developer with an interest in computer chess, don't hesitate to get in touch with me. "Search Direction" UCI Option In general, chess strength is chess strength - each component of an engine either makes it stronger, or weaker. At this point, it appears that there is one potential exception to this in the case of Rybka, so I have decided to make it a user option. The name of the option is "search direction", and there are four possible settings: 1) Very Positional 2) Slightly Positional 3) Slightly Tactical 4) Very Tactical The default setting is very positional. This is the version which I like the best personally, and the setting also makes the most sense to me intuitively. It vibes with the way I think search should be handled and where the priorities should be placed. In addition, a 350 game head-to-head match at 40/10 time control gave the following result: Rybka 1.0 (Very Positional): 193.5 Rybka 1.0 (Very Tactical): 156.5 However, the very positional version gives slightly inferior results on tactical testsuites. On a private tactical testsuite which I use, I got the following result: Rybka 1.0 (Very Positional) was faster: 11 Same depth: 30 Rybka 1.0 (Very Tactical) was faster: 56 Of course, tactical testsuites are a dicey business, but the above is a significant result and it also agrees with my intuition regarding what should happen. (That's why I use the names I use for these versions.) In addition to these tests, each version also played a 150-game match against Shredder 9. I'll keep the exact scores secret (that's what testers are for), but the very tactical version scored 2.5% better than did the very positional one. This itself is not that impressive for a 150-game match, but given the head-to-head result, it does raise some questions. The most likely explanation is that more games would flatten this phenomenon into nothing, but one could also theorize that Rybka is relatively better positionally than Shredder anyway and any tactical weakness just opens the door for Shredder's powerful search. If so, it might further turn out that this phenomenon is limited to games at relatively short time controls. If any testers out there are looking for a more interesting project, getting to the bottom of this would be extremely interesting for me. One more note here: the intermediate "slightly positional" and "slightly tactical" settings are almost completely untested by me - no games were played. They represent two more neutral settings between the two tested extremes. There are actually two separate quantities being adjusted internally, so "slightly positional" goes to the tactical extreme on one and the positional extreme on the other (bigger) one, and "slightly tactical" is vice-versa. Hence, it might be that one of these two settings ends up being a sort of magical median - although I doubt it. Special Thanks I hesitate to include this section because I know I'll forget people who have been helpful in this project, but (with advance apologies to the omitted) here goes: Robert Hyatt - For Crafty. There is nothing like an open source program for passing knowledge to the next generation. Fabien Letouzey - For Fruit, which shattered a number of computer chess myths, demonstrated several interesting ideas, and made even the densest of us aware of fail-low pruning. Tord Romstad - For making Fabien aware of fail-low pruning :-), and more seriously for sharing in every way possible his considerable knowledge. Eugene Nalimov - For his cryptic but somehow fully functional endgame tablebase access code. Uri Blass, Gerd Isenberg, Dieter Burssner, Vincent Diepeveen, Raschid Chan, Anthony Cozzie, Mridul M* :), Thomas Gaksch, Peter Berger, Sandro Necchi, Ed Shroeder, Amir Ban, Christophe Theron and every one else, past and present, on the computer chess club: For sharing their computer chess knowledge despite the fact that in principle computer chess is a competitive field. Heinz van Kempen, Guenther Simon, Olivier Deville, Sergio Martinez, Claude Dubois: for testing early versions of Rybka despite countless bugs and annoying problems. Alex Dumov, Gabriel Luca: for helping a Windows newbie get up to around half-speed without excessive derision (or at least open derision :)) and Iweta: for being great! :) and a pretty good Rybka tester and web master to boot Happy testing, and best chess regards, Vasik Rajlich Budapest Hungary December 4, 2005
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.