Interview with Vasik Rajlich


05.12.2005: A beta version of a new chess engine suddenly appeared: Rybka by Vasik Rajlich. For a very long time the question, "Which is the best chess engine?" was a question of a few ELO points, but Rybka is now leading all lists by 50-100 points. Presently we can see only one topic in the chess fora, on the Chessbase server the Fritz engine has become rare. Of course this is reason enough to bother the programmer IM Vasik Rajlich with some questions. Since Rybka's development is still in the beginning we can expect a further increase in strength.

Interviewers: Christopher Conkie, Michael Diosi, Frank Quisinsky & Alexander Schmidt.

1. Frank Quisinsky: What where your personal thoughts when you shocked the computerchess community with the first release of Rybka? At the beginning of 2005 no one could imagine that Stefan Meyer-Kahlen (our Achilles, Shredder) had to give the crown to someone else in foreseeable time. Then Fruit came up and we all where impressed by the enormous achievement of Fabien Letouzey. And now Rybka appeared, taking the crown like it would be the easiest thing to do. How do you feel about this?
Vasik Rajlich: Well, I am now in the computer chess business full-time, so this is just one step along a long road. No doubt there will be many ups and downs. What these results do give me is the understanding that my rather original approach to building the Rybka engine was justified, at least to this point.

2. Frank Quisinsky: Maybe you want to tell us something personal about you at the beginning of this interview. What is your occupation? How much time do you spend in programming and/or the developement of Rybka? Are you married, do you have children? Are there any other interests/hobbies beside Chess? Will Rybkas development computer be auctioneered on E-Bay soon?
Vasik Rajlich: I am a professional software developer. The Rybka project began in the spring of 2003 as a part-time project, and for the past three months it has been a full-time project. I have a fiance, Iweta Radziewicz, who is a professional chess player, and a very enthusiastic (and critical) Rybka tester. As for interests and hobbies - where should I begin? I especially like sports - basketball is my favorite as a participant, NFL football as a fan (go Redskins!).

3. Frank Quisinsky: Only a few of the known programmers have an ELO rating over 2000. You are owner of the IM title. In the Megabase 2005 (ChessBase Database) are more than 600 games of you. Obviously you like fast wins, already in your openings you chose risky and aggressive variations, trying to put very early pressure on your opponent. Of course this doesn't function in every game. I assume you wanted to create an opponent for your own training to improve your sophistiated attacking chess, combinied with lots of chess knowledge. Was this the beginning of Rybka? Wasn't the existing chess engines good enough for this purpose, and if so, why?
Vasik Rajlich: Indeed, I was a chess player before I was a chess programmer. There is a great history of chess culture in my family, probably springing from my grandfather, Vaclav Rajlich, who was the chief of the chess club in Tabor (Czechoslovakia) for over 40 years.

One of the things which I understood as a chess player is that the existing engines, while tremendously strong in practical play, are in fact rather inadequate as analysis tools and could be greatly improved on many fronts. However, I don't think that this is any big secret.

4. Alexander Schmidt: Of course we want to know how you are doing against your own monster. How many serious games did you play against Rybka, and how often where you able to win? Did you chose the name Rybka (little fish) because your program always slipped out of your hands like a little fish?
Vasik Rajlich: I never play seriously against Rybka - at most, I will play little game segments to see how she handles certain positions. There is little doubt that under tournament conditions I would score very badly - the search of any modern chess engine is too much to handle for all but a very small handful of chess players.

As for the name Rybka - I am sorry but this will remain my private secret

5. Alexander Schmidt: Not for the first time, engine programmers claimed that a very good chessplayer will never be able to write a very strong chess program, simply because he would fail at the attempt to implement the human kind of thinking. Mikhail Botwinnik is a nice example, his chess program Pioneer never finished. How hard was it for you to ignore your human kind of thinking and what is more important for the success of Rybka, your programming or your chess playing skills?
Vasik Rajlich: It's self-evident that being stronger at chess is useful for writing a chess engine. I am not especially familiar with the Botvinnik story - perhaps he was lacking in some other traits.

If I had to rate the main skills or traits which make a good chess engine developer, they would be (in order of importance):

1. Ability to think clearly, objectively and scientifically;
2. Software development skill;
3. Chess skill;
4. Workaholic tendencies.

6. Alexander Schmidt: There are some people who manage with a consequent Anti-Computer-Strategy to draw or even to win against the best programs. This games are for sure, no fun to watch, but on the other hand they show very well the weaknesses of the machines. Do you care about such games, and are you trying to teach Rybka to avoid such draws or loses?
Vasik Rajlich: The main goal with Rybka is to provide a useful analysis tool for our customers. Concepts such as contempt (ie. avoiding draws against much weaker players) and dealing with lag on chess servers are of secondary importance. However, some of the tools of the anti-computer experts do fall under this umbrella - for example, an engine should understand that a completely blocked position is drawn.

7. Michael Diosi: Why is Rybka so much stronger than all the others, what (knowledge, search techniques...) is in Rybka that other engines do not have? What is not in Rybka that other engines do have?
Vasik Rajlich: It's hard to say for sure. Computer chess is at present too difficult for any of us to be able to answer such a question with full confidence. I have tried to give Rybka both a knowledgeable evaluation as well as an effective search. My personal opinion is that Rybka's evaluation is better than that of her main competitors (and very different), while her search is of comparable quality (and somewhat different).

8. Michael Diosi: For a long time people said that the chess engines have reached such a high standard of playing that it is not easy to get even stronger. Rybka proved them wrong. Do you see any possibilities that this can be pushed even further and what are your future plans with Rybka besides those mentioned on your homepage?
Vasik Rajlich: Our engines are certainly nowhere near perfection. Our evaluations have huge holes and our search algorithms have incredible inefficiencies. I see no reason why these problem areas cannot be greatly improved.

My plans are to add knowledge to Rybka's evaluation function (in just about every area), to improve the efficiency of Rybka's search, and to provide visualization tools which allow a user to understand what an engine thinks about a position.

From a user's point of view, this last point is likely to be the most exciting. Already in the summer of 2006, a new tool will be available for this purpose. Most likely, it won't be perfect yet, but we are now starting on the path of having chess engines which can serve as chess teachers.

9. Frank Quisinsky: For me it is hardly conceivable that a chess programm breaks the 2800 ELO barrier. Rybka goes straight in direction to 2900, even without multi cpu usage. Many experts assume an effective search in combination with a lot of chess knowledge could break the 3000 ELO barrier. Your advantage compared to other programmers is your enormous strength, especially because of your style you must be able to implement appropriated chess knowledge. Is pure chess knowledge the secret of Rybkas success? Maybe you want to tell us your conceptions of the ultimate 3000 ELO program?
Vasik Rajlich: A 3000 ELO program is by no means the ultimate - when 3100 ELO programs exist, the 3000 ELO program will be just the latest entry for the scrap heap. Furthermore, there are surely many different ways to make a 3000 ELO program. If you take any of the existing top engines, and improve the evaluation enough, you will get a 3000 ELO program. Conversely, if you take any of these engines and improve the search enough, you will get a 3000 ELO program.

As for the relative importance of evaluation vs search, it's neither possible nor necessary to pick just one. Both are very important, both can be greatly improved in every program, and (contrary to some opinion) both are very interesting for me.

10. Frank Quisinsky: Are you conscious, of the kind of hype you started with Rybka? I think about the group of correspondence chess players and of course your fellow IM's and the GM's, all strong chess players, who wanted a chess engine full of chess knowledge. In the middle game Rybka dominates all other engines by classes, but it is very weak in the endgame. When replaying Rybka's games one could think the endgame is not interesting for you at all. How do you plan to improve Rybka's endgame?
Vasik Rajlich: The endgame is weak simply because I decided to make the first public Rybka release before addressing the topic. I could have waited a bit longer before releasing, and delivered a better engine - it's a normal tradeoff which every software business must decide about. I have a number of ideas for how the endgame should be handled, but as always it will be necessary to not only implement them but also observe their effect and make the appropriate adjustments - in short, it will take some time. There will be a Rybka 1.2 release (see my web site for more details) whose endgame skill should at least be comparable to her middlegame skill.

11. Frank Quisinsky: Independent of the success of Rybka, other questions appear. Could a group of Grandmasters support your programming skills in a manner to create a nearly unbeatable legend? You could, in an arrangement with e.g. WC Vishwanathan Anand, create Rybka ANAND or together with the hungarian national team a Rybka HUN. Do you think such projects are conceivable? Did Rybka, from your point of view, start a new age in computer chess that is mainly based on chess knowledge?
Vasik Rajlich: Absolutely, someone like Anand would be a tremendous asset to any chess programmer and would greatly speed Rybka's improvement. The problem here is economical: computer chess is presently a field in which a single engine can really only support a single developer (and even that is pushing it :-)). Anand can make a lot more money giving a simul somewhere than I could ever pay him.

As for a new age in computer chess, I understand where this question comes from. The existing generation of chess engines appear to emphasize engineering quality rather than chess knowledge. I am really not sure if other engine developers will attempt to follow Rybka's path, or to refine their own path. At this point, everything in computer chess is unclear.

12. Michael Diosi: For you as an IM it might be easier to implement chess knoweldge in a chess program than for a non chess playing person. Did you, or would you recommend chess books which describe the strategies that should be used in a opening/middlegame/endgame for programing your engine? What are they if yes and if not, how should a non-chess expert start programming a chess engine?
Vasik Rajlich: That's a good question. I learned chess at a young age and grew up in a fairly chess-rich environment. Can this be replaced with book study? It's hard for me to say. Probably, it would be best to ask this question of an experienced chess trainer. To tell the truth, I can't think of anything I ever learned to do properly by reading books :-) - software development was another thing I learned at a young age by simply writing one bad program after another. I guess in theory it could be done.

13. Frank Quisinsky: After my own experiences with marketing you will not be able to sell more than 750 - 2.500 versions of Rybka, regardless of it's enormous strength. For a good marketing (e.g. sales in warehouses or under lincence) you need help. Is Rybka for you some kind of nice supplementary income or do you plan your entry in the "big" computerchess buisness?
Vasik Rajlich: I've gone into computer chess now full time. The plan is to provide a full chess analysis tool, which is something which in my opinion users badly need. Unfortunately I can't really discuss details right now -- please stay tuned.

14. Alexander Schmidt: This sounds to me like you have big plans with Rybka. At the moment we have the Chessbase products for the serious chessplayer, we have Chessmaster for the mass market and people who never played a game of chess before. Beside that there is Shredder, Lokasoft and Fruit for the specialists. Where do you see the place for Rybka in the long term, what further plans do you have?
Vasik Rajlich: I want to create a product which serious chess players everywhere use to analyze chess. Please note that by serious chess players, I mean players who want to use their chess tools to understand chess positions - there is no minimum rating here, many 1500 rated players qualify as serious chess players.

As for the details -- this is all still under discussion and development. Please stay tuned.

15. Michael Diosi: Do you plan to participate at any computer chess worldchampionships in the future, for example the next WCCC to be held in Italy? How important is a victory on such tournaments for the sales in your opinion?
Vasik Rajlich: Yes, Rybka will play in Leiden and Turin. I think that a victory in Turin has some commercial value and we will try to win, but at the same time we understand that the first priority is to give our users the tools which they need. Fortunately (or unfortunately), computer chess users tend to be fairly discerning.

16. Frank Quisinsky: You are using the UCI protocol. This is for interested people, one more reason to purchase your engine because nearly all graphical user interfaces support UCI engines. I think it would be important for Rybka to support the new generation of UCI options. Which are other important (analysing) features beside the multivariation mode? Would you tell us how important the things in the list below are for you? Just give a number from 1 (not important) to 10 (very important). Maybe you want to give further information on some of these points?
Vasik Rajlich:
Option Priority Comments
Endgame Knowledge 10
UCI 2.0 10
Multi CPU usage 10 Although I don't plan to spend a massive amount of time here to squeeze every last drop of performance on multi-processor machines - a modest 1.7 speedup on two processors would satisfy me.
Own opening book 5 This will be done by someone else.
Own user interface (GUI) 10 Let me rephrase this to "good user interface", it does not at this point necessarily have to be mine, as long as it can display the engine knowledge to the user; there will be more to come on this topic soon.
Pocket PC & Palm compatibility 5 I have had several port offers, as long as they are painless for me, we'll go for it.
Modul for a dedicated unit 5 Ditto.
Exchange informations in fora with other programmers 6 Posting on CCC and the such is mostly for fun.
Create a developement team x I want a good user interface to display Rybka's knowledge, whether this is made by my own team or someone else's has not yet been decided and in principle I am flexible about it.
Marketing activities 0
17. Alexander Schmidt: Can you give a forecast on the Rybka GUI? With Arena, Shredder, Chessbase and some more, there are GUI's available for every kind of purpose and I cannot imagine what a new GUI could do better than the existing ones. Do you want to tell some details about your ideas?
Vasik Rajlich: First of all, it is not currently certain that there will be a special Rybka GUI. What is certain is that there will be some GUI which properly displays chess knowledge to the user.

Re. the display of chess knowledge, this will be discussed very soon with some of the other programmers and open extensions to the UCI protocol will be published. Just to give a very general flavor, the engine will inform the GUI about the following types of positional elements:

1) Pieces - ie. this knight is a good piece, this bishop is a bad piece;
2) Squares - ie. on this square, good things are happening for white;
3) Themes - ie. white is scoring highly on the "king attack" theme here;
4) Moves - ie. this move is a thematic move in this position.

The GUI will then display this knowledge to the user.

Of course, the above is just the planned first iteration. Who knows where it will all eventually lead. In additon, there are several other possible directions for a new GUI which I will keep to myself for now.

You can be sure about one thing: starting next summer, the first of a new generation of chess GUI will appear on the market.

18. Alexander Schmidt: What was the point that you decided to go the commercial route, and was it clear from the beginning to go this way? I think it would be much easier for the programmer of such a strong engine to talk to an existing company like Chessbase or Lokasoft with their big marketing advantage. Did you at least talk to them? Wasn't their offer interesting for you?
Vasik Rajlich: Already when I started in March 2003, I had some plans to go into the field full-time. This is probably a very unusual way to start working on a chess engine, but that is how it was for me. I don't remember when exactly I made the final decision, probably sometime in early 2004, long before Rybka was among the very top engines.

As for existing computer chess companies, there have been of course some discussions but at this point I cannot say more than this. I can say that in the summer of 2006, you will see a very knowledgeable Rybka 2.0 running in some GUI which can properly display her knowledge.

19. Frank Quisinsky: There is still a world beside Rybka. At the moment we are waiting for Hiarcs 10, Shredder 10 and maybe a new version of Fruit. Also we can observe clear improvements of the amateurs. The TOP 32 of the available Winboard / UCI Engines are reaching 2615 ELO in average. Especially the other commercial programmers have a problem with the Rybka release though not one of them will talk about that. Is it important for you to have the strongest chess engine or is it a secondary matter for you what the others are doing? Will you answer to Fruit 3 or Shredder 10 with Rybka 2?
Vasik Rajlich: Yes, playing strength is important. Of course, my main focus is to give my customers what I promise - that is, a complete chess analysis tool. However, it is hard to claim success in this area without having the strongest engine.

As for the existing Rybka release, with a free Beta followed by a cheap, un-copy-protected main release, I understand that it was a slightly destabilizing force in computer chess. My answer is that as a newcomer, I need to be aggressive. I am not satisfied to sell only to the computer chess specialists.

20. Alexander Schmidt: The increase in playing strength of the latest chess engines is unbelieveable. We have since some time with Fruit 2.1 by Fabien Letouzey a very strong open source engine. Do you see a relation between the published sources of such a strong engine and the increase of strength in computer chess in general? How much influence do the ideas of Fruit have on the future of computerchess?
Vasik Rajlich: Yes, the publication of Fruit 2.1 was huge. Look at how many engines took a massive jump in its wake: Rybka, Hiarcs, Fritz, Zappa, Spike, List, and so on. I went through the Fruit 2.1 source code forwards and backwards and took many things.

It is a bit of a pity that Rybka won't make the same contribution to the computer chess community, but at the moment I must also think about protecting my secrets. It's the eternal struggle for a computer chess programmer.

21. Alexander Schmidt: We had our first contact when I had questions about a similarity to Fruit in the search, others found similarities in the evaluation. Some people where a little bit suspicious that Rybka could be a clone of the open source engine. In the meantime it is clear that Rybka is no clone but you used ideas of Fruit (I guess all other serious engine programmers had a look at Fruit too). How strong would Rybka actually be if the Fruit code would have never been published?
Vasik Rajlich: It's a good question. I don't want to get too specific about which ideas from Fruit I think are really useful, but they fall into two categories:

1) Very specific tricks, mostly related to search;
2) Philosophy of the engine (and in particular of the search).

Fruit could really hardly be more useful along both of these dimensions. Fabien is a very good engineer, and also has a very clear and simple conception of how his search should behave.

Anyway, if I really had to give a number - my wild guess is that Rybka would be 20 rating points weaker had Fruit not appeared.

22. Frank Quisinsky: In the morning you are going to your mail box and you find: A Hiarcs 10 CD, an invitation to a IM tournament, an envelope by GM Wassili Ivantschuk with new interesting test positions and an invitation to the premiere of Brad Pitts new movie "The Fall of Achilles". Consider your fiance is away for the weekend and you have time for yourself.

What would you do...?

01. Eng-Eng Match: Hiarcs 10 vs. Rybka X ... with a cup of coffee;
02. Go to the IM tournament;
03. Analyse the positions of Wassili Ivantschuk with Rybka;
04. Meet Brad Pitt in Hollywood;
05. Visit your fiance and see if everything is in order.
Vasik Rajlich: Are the Redskins playing?

Seriously, for fun, I like playing sports and watching sports or movies.

However, it's been a long time since I took a full weekend away from Rybka. So the practical answer is probably #3 and maybe some #1

23. Frank Quisinsky: You have a Czech name. I forgot to say that you wouldl meet in Hollywood of course beside Brad Pitt, VERONICA VAREKOVA (nearly forgot to mention that, sorry). By the way, what is your nationality? You play for the U.S chess federation, you have a Czech name, you played lots of tournaments in Hungary and you played for a German team. I have to chose a flag in the Arena GUI when Rybka starts to fight with other gladiators!
Vasik Rajlich: Well, that's a little better - I don't know why I'd want to meet Brad Pitt

As for my roots, it's a long story. I grew up in Prague, but spent many years in the United States, studying and working, and have an American passport. I have also lived in Hungary (twice now), Germany, and even (for six months) Libya. If it's not too much trouble, I'd like to use both a Czech and an American flag, but if only one can be used - well, I am now an American citizen.

A BIG thank you for answering our questions. We wish you good luck with Rybka and of course, in your private life.

Merry Christmas and a happy and successful new year!
Source Alexander Schmidt.
Copyright © 1984-2007 Ed Schröder Mail Me