Chess Assistant 16 & Chess Assistant 16 PRO
Chess Assistant 16 combines advanced game database management, analysis powered by strong engines, the advanced Tree mode, Opening Encyclopedia and many other features.
|ChessOK.com » Interview with the Developers of Rybka 3|
Interview with the Developers of Rybka 3 11 May 2008
In last month’s ChessOK Cafe I interviewed the developers of Rybka Aquarium, a new graphical user interface (GUI) for Rybka that is expected to be released soon. This month we’ll be talking to Vasik Rajlich and Larry Kaufman – the brains behind Rybka itself. They are currently working on a completely new version, Rybka 3, which has been in development for almost a year. Rybka has been by far the strongest chess playing engine ever since Vasik released the first beta version and distributed it for free in December 2005. Rybka 3 will not only offer increased playing strength greater chess knowledge compared to Rybka 2.3.2a, but also new features such as FischerRandom chess (Chess960) and “persistent hash”.
Q: Its not very common that two persons work actively together on the same chess engine. When and why did your collaboration start?
Vas: That’s an interesting and complex question. As a chess player, I never really tried to break the game down into its nuts and bolts. I would basically just try to beat my opponents :). I didn’t start to think about chess in a structured way until my work on Rybka began.
Every computer chess heuristic, whether it’s search or evaluation, has its root in some sort of human chess concept. In its final form it typically looks much different, but there is definitely some type of link between the way a person thinks about chess and the way he instructs his program to think about chess. Of course, this link is extremely complex.
Q: What about the effect of Rybka and its development on your own chess career?
Larry: It seems to be helping, since I’m having the best results in many years despite my age (60), having just won both the Maryland Championship and the U.S. Senior Championship in the same week.
Vas: It’s been ages since I had any chess ambition or even played in a chess tournament. Chess is a tough sport.
Q: You are both very active on the Rybka forum (http://rybkaforum.net) and your participation in the discussions are clearly important to Rybka owners. Does this also work the other way around? Is the feedback from users somehow affecting/helping the development of Rybka?
Q: You have organized several matches where Rybka has played against grandmasters and it seems that we can expect more such matches. Have you learned something from these matches which you were able to translate into improvements in Rybka?
Larry: I would say that each match contributes something. Usually it’s something little, maybe worth 1 or 2 Elo points, but I think that the most important development from these matches is the new definition of “contempt” and associated ideas to avoid draws that are part of the eval now. I hope that with Rybka 3, when contempt is set, we won’t see people making draws by blockading the position and “passing”; at least it should be much harder.
Vas: This is Larry’s area. Aside from anything Larry picks up, I do think that there is some sort of general benefit in seeing Rybka in action in a different setting.
Q: Does the work on the evaluation improvements in Rybka 3 focus on specific areas or is it an overall revision involving most evaluation terms?
Larry: It’s an overall revision. Not only are most values changed, there are many new terms, maybe the eval is something like twice as big now.
Vas: Larry tends to work very incrementally, one solid but small step at a time. Evaluation work lends itself to this. After more than a year of such steps, and considering that Larry brought a rather different philosophy to the table, almost everything is very different.
Q: What do you consider the most important evaluation improvements in Rybka 3 compared to the previous version?
Larry: The contempt and related terms are very important against humans, even if they only add 3-5 Elo points against computers. New endgame knowledge is worth several points, revised definition of game phase helped, pawn structure knowledge is dramatically improved, king safety is much better understood, special terms about piece placement relative to other pieces helped, more sophisticated definition of mobility gained some points, defense of the king was much improved, proper use of the king in the endgame was emphasized. The list is almost endless.
Vas: This is mostly for Larry. There isn’t any one big thing – it’s dozens of little things. We’ll probably try to document this in some detail around the time of the Rybka 3 release, as this could be interesting for users.
Q: Based on the improved evaluation and assuming no other changes how much stronger would Rybka be compared to Rybka 2.3.2a?
Larry: This is a tricky question for two reasons. First of all, increased eval slows down the program. If you don’t consider speed, the increase is huge, maybe 100 Elo or more, but this is not fair. When I played recent versions against 2.3.2a MP at bullet chess, I got results in the +50-60 Elo range. Because the search work was midway, I don’t even know if the search on these versions was better or worse than on 2.3.2a, maybe roughly comparable. So this might be a fair estimate for the net eval gain based on self play. I believe that self-play tends to inflate gains mildly compared to playing other engines, so maybe this would drop to +40 against other engines. Against humans there is a further drop, maybe to + 30. In general, the more dissimilar the opponents are, the less the rating gain from any given improvement.
Vas: Again, this is mostly for Larry. The evaluation is much better - it’s simply more accurate in almost every type of position, although of course not in every individual position. The features are better and the way the features interact is more scientific and better-justified.
Q: What can you tell us about the search improvements?
Vas: It’s hard to say anything concrete here, first because search changes are hard to describe, and second because everything is still being assembled and I haven’t been able yet to see everything in action as a coherent whole.
Generally speaking, the search will be much more efficient – relevant variations will be searched more deeply, while irrelevant variations will be discarded more quickly. I put special emphasis on the tactical strength and on Rybka’s ability to search through murky, irrational positions, as these have always been an area of relative weakness for her.
Q: I guess that you still recommend a 64-bit operating system such as Windows Vista 64-bit or Windows XP x64 for running Rybka?
Larry: Using a 64-bit OS is equivalent (for Rybka, not for most other engines) to using a faster processor, by close to a 1.7 to 1 ratio based on the average of reported results on different systems. This should be worth close to 50 Elo points in self play, somewhat less against other engines and against humans.
Vas: Rybka runs around 1.6x to 1.7x faster on a 64-bit operating system than on a 32-bit operating system. Upgrading from a 32-bit operating system to a 64-bit system is easily the cheapest way to improve your computer’s performance.
Q: Rybka offers some unique features not available in other chess engines. This includes the Randomizer which was introduced over a year ago. Are you planning some changes to the randomization approach in Rybka 3?
Vas: There will be a little bit of cleaning up and new interface support – without this, the feature is nearly unusable for typical users. However, there will be no major conceptual changes. For Rybka 4, we have some plans to experiment with embedding some sort of Monte-Carlo-type simulations into the search itself. Users will probably see some work in this area over the next two to three years.
Q: Persistent hash is a highly anticipated feature of Rybka 3. What exactly is “persistent hash”?
Vas: A persistent hash is basically permanent program memory, which will allow Rybka to remember her analysis from previous sessions. We have quite some plans for this, allowing users to share hashes and manipulate their contents in various ways, etc.
Q: The “set position” command from the UCI protocol allows you to manually set the value for a position in the hash table so that Rybka always uses it instead of its own evaluation. Are you planning to implement this feature in Rybka 3 in connection with persistent hash?
Vas: Yes. This is a few minutes of work on the engine side. The main question is if interfaces will support it and if users will find it interesting.
Q: What are the practical applications of persistent hash for chess players, correspondence chess, opening book authors etc? Will it be practical to use persistent hash for position learning in engine matches?
Vas: The persistent hash simply allows the engine to remember its previous analysis. This has the nice property that it can never do any harm, so aside from being useful as an analysis feature, it can be used by book authors for positions at that point in the opening theory where the opening is ending and the middlegame is beginning, where they are not sure enough of their choices to commit to them in their books.
There are a lot of interesting and complicated issues which I won’t go into here. The archives in the Rybka forum ( rybkaforum.net ) have a lot of more detailed discussions.
Q: Rybka Aquarium (see last month’s column) stores the results of infinite analysis on disk. It also offers Deep Analysis (DA) which analyzes a specific position deeply. DA can look up and reuse previously run infinite analysis. All DA results are stored in a tree so you can stop DA any time you like and resume it later from the point where you left off or any other point in the tree. Users can exchange analysis and different DA trees can be merged. Opening books can be extended with these trees. This could almost be a description of the possibilities offered by persistent hash which will clearly fit nicely into this picture and further enhance the value of DA.
Q: Rybka WinFinder is perhaps the most tactical chess engine currently available. Can we expect something similar for Rybka 3?
Larry: Yes, there will be some options for more/less speculative evaluation, as well as (I think) one or more search options. Vas will have to speak to the search part of the question.
Vas: I spent a lot of time working on the search around the time of Rybka 2.2, and the WinFinder was a sort of experiment with some of the wilder ideas. I spent only about 2 days on the WinFinder itself and it’s a bit unpolished.
The WinFinder concept itself is quite good and if there is time, we’ll have a Rybka 3 WinFinder as well. This tool could be really nice if I were to spend something like two weeks on it.
Q: Are you planning to release Rybka versions for other platforms than Windows?
Vas: Yes. As soon as Rybka 3 for Windows is out, I’ll sit down and make a plan for this.
Q: You mentioned in a recent post on the Rybka forum that your top priority is keeping Rybka the strongest available chess engine, but you have also considered diversifying and going in other directions. Could you tell us more about the options that you are considering?
Larry: We are already adding options so that the user can chooses a style more to his liking, as well as FRC support. Other forms of chess or even other games are also possible.
Vas: The things we’ve learned in developing Rybka would be really useful in a bunch of other domains, so it’s only logical to take advantage of this at some point. We’ll need to pick the right moment for it, as chess is very interesting and definitely not something we’d want to lose.
There are tons of ideas for other directions. One logical first step would be Shogi.
Q: Oh, I almost forgot to ask about this! One of the favorite pastimes on the Rybka forum is setting up polls and guessing when Rybka 3 will be released. When are you planning to put an end to this hobby?
Larry: Since my evaluation work is continuous and incremental, one date is as good as another for me. This is not the case with Vas.
Vas: Sometime before Rybka 3 is released :)
Seriously, almost all of the mistakes we made in the past were from rushed schedules. I’d like to see what a different set of mistakes looks like :)
Study chess online on Chess King Learn! Time-proven training courses, thousands of examples and exercises.
Start playing right now in your web browser on Chess King Playing Zone! Teams, tournaments, training, analysis and much more!
7-man Lomonosov Tablebases provide deeper-than-ever insight into chess endgame.
Download weekly chess database updates (containing 2000+ games) with latest tournaments and games in PGN and Chess Assistant format.
|About - Contact Us|
|© 2008 — 2010 ChessOK.com|