Interview with:
Vasik Rajlich
by Christopher Conkie, Michael Diosi, Frank Quisinsky &
Alexander Schmidt
translated to german by Peter Ackermann , find the german
version
here.
translated to spanish by Alejandro Melchor, find the
spanish version
here.
Visit also the
homepage of Rybka:
http://www.rybkachess.com (site is
under developement)
Introduction:
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 Rybkas
development is still in the beginning we can expect a further
increase in strength.
Rybka, a new age in
Computerchess?
01. 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.
02. 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!).
03. 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.
04. 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 :-)
05. 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 (tie). Software development skill
2 (tie). Chess skill
4. Workaholic tendencies
(Vasik
Rajlich the workaholic...
Probably improving Rybka, or maybe just looking for the latest
results of the Redskins?)
06. 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.
07. 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).
08. 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.
09. 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:
-
UCI II options
10
-
Endgame knowledge
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)
-
Vacations with your family on New Zealand / Australia
1 :-) - maybe later
-
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 / developement
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
-
Start at an IM-
/ GM-Tournament / Open to incrase your own rating
-1 :-)
-
Change informations in fora with other programmers
6 - posting on CCC
and the such is mostly for fun
-
Implement more chess knowledge
10
-
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!
(Veronica
Varekova on a sunny day at the beach of... hmmm... who cares...)
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!
Further publication of this
interview is allowed and wished as long as full a indication of
the source is made:
UCI Engines:
http://www.uciengines.de
Furthermore one condition is the
complete casting. (e.g. in printed media)
Alexander Schmidt, Stuttgart, 2005/12/20
For further information:
Alexander Schmidt
|