Why you're never going to catch Rybka

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 3:54 am
Location: San Jose, California

Re: Why you're never going to catch Rybka

Post by Bill Rogers »

With all due respect. There are a couple of programs that are almost as strong as Rybka now. Are you saying that they may not catch up and/or surpass Rybka? I know that Rybka is the strongest program out there for the time being and I am glad to see its success, but we have had winners in the past only to see someone write something better a little later on.
I mean who would have thought 10 years ago that programs today would be albe to pass the 3,000 elo mark?
There will always be a new kid on the block so to speak or as they used to say on the streets someone tougher will come along and whip a-- .
Bill
RVisitor

Re: Why you're never going to catch Rybka

Post by RVisitor »

Dann Corbit
Posts: 12792
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Why you're never going to catch Rybka

Post by Dann Corbit »

Every new superstar engine looks unstoppable when it came on the scene.

For years, Shredder looked untouchable.

Nobody knows where the next pile driver will come from. But it will come.
User avatar
Eelco de Groot
Posts: 4673
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: Why you're never going to catch Rybka

Post by Eelco de Groot »

SzG wrote:Many seem to believe that you can catch Rybka by taking a strong open source engine and continue its development by optimizing code here, adding some technique there etc.
I believe that is not the way to go. The structure of the initial program will act as a cage for a bird: it won't let your thoughts fly freely, you will hit a wall and no further improvement will be possible.
To reach Rybka you will need a revolutionary idea and that idea will not be programming related because programming resources have been fully exploited and exhausted. It must be chess related and when you have that idea you can build your chess program on it.
Until then you'll only go creeping slowly and you'll always watch Rybka from the distance because, remember, Rybka is not waiting at the corner for you to catch up.

"Show me the way to go home"

Beating Rybka, errr Jaws in 30 seconds

Image


Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
Jan Brouwer
Posts: 201
Joined: Thu Mar 22, 2007 7:12 pm
Location: Netherlands

Re: Why you're never going to catch Rybka

Post by Jan Brouwer »

SzG wrote:Many seem to believe that you can catch Rybka by taking a strong open source engine and continue its development by optimizing code here, adding some technique there etc.
I believe that is not the way to go. The structure of the initial program will act as a cage for a bird: it won't let your thoughts fly freely, you will hit a wall and no further improvement will be possible.
I agree that that is not the way to go, but for a different reason. The strong open source programs are the product of a process of development. I think that this process is the key to improving the program. (Although, as I am writing this, Toga seems to be a counter example.., can anyone tell me how much Toga has improved in strength compared to the source code it started from?) I think the way how you develop a program determines how strong it can get, more so than inventing original algorithms.
User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Why you're never going to catch Rybka

Post by Ovyron »

Dann Corbit wrote:Nobody knows where the next pile driver will come from. But it will come.
And that will be the end of Rybka, literally. Vas said that he's been improving Rybka non-stop even while being far ahead because once someone beats it it would be the end of his business and he'd have to retire from computer chess.

Perhaps one trick to have a very strong chess engine is living from it.
Dann Corbit
Posts: 12792
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Why you're never going to catch Rybka

Post by Dann Corbit »

Ovyron wrote:
Dann Corbit wrote:Nobody knows where the next pile driver will come from. But it will come.
And that will be the end of Rybka, literally. Vas said that he's been improving Rybka non-stop even while being far ahead because once someone beats it it would be the end of his business and he'd have to retire from computer chess.

Perhaps one trick to have a very strong chess engine is living from it.
I guess that the engine that made the most money of all time is the engine in Chessmaster by Johan de Koning.

Rybka is several hundred Elo stronger.

Marketing and other features are more important than engine strength, when it comes to making money.

If I were Vas, I would be in talks with UbiSoft. If he made $5 per copy of CM sold, he would probably end up with enough money to retire for life.
User avatar
Eelco de Groot
Posts: 4673
Joined: Sun Mar 12, 2006 2:40 am
Full name:   Eelco de Groot

Re: Why you're never going to catch Rybka

Post by Eelco de Groot »

Jan Brouwer wrote:
SzG wrote:Many seem to believe that you can catch Rybka by taking a strong open source engine and continue its development by optimizing code here, adding some technique there etc.
I believe that is not the way to go. The structure of the initial program will act as a cage for a bird: it won't let your thoughts fly freely, you will hit a wall and no further improvement will be possible.
I agree that that is not the way to go, but for a different reason. The strong open source programs are the product of a process of development. I think that this process is the key to improving the program. (Although, as I am writing this, Toga seems to be a counter example.., can anyone tell me how much Toga has improved in strength compared to the source code it started from?) I think the way how you develop a program determines how strong it can get, more so than inventing original algorithms.
I suppose I look at the chess related terms a bit more mundanely. The main trouble is that there are such a lot of them! As Vas already said somewhere in 2005 I think, "knowledge isn't knowledge if it doesn't work".
You need an enormous battery of tests if you really want to turn your program into an oiled fighting machine :).

Let me try to analyze a bit:

Suppose you add one term each day for a year, on average starting with many variables like the basic material values of all pieces that you can collect quickly, then for subsequent significant terms the search becomes harder. For each of these terms you do not know the best working value.

If the terms are all constants and for each you have to pick a value in a range of ten, you have to pick the best version of 10 * 365 possible combinations. That is still doable. If you have to play 50.000 ultrafast games with each version out of 3650 that is still doable with enough hardware.

But the biggest problem is I think when the variables are no longer independent. With proper care you can limit some of this dependency, but if that doesn't work for whatever reason, the number of possible combinations quickly spirals out of control. In the worst case, each of the varibles would depend on the setting of all the other variables. Then the number of possible combinations to test is 10 raised to the 365 or a 1 with 365 zeros. Go play 50.000 games with each one of them. If each match of 50,000 games takes us just one hour of Skulltrail time, the total duration of the test would take 1.1415525114155251141552511415525e+361 years to finish. That is ≈ 8.15 e+350 times the present age of our universe since the Big Bang :!: Talk about astronomical figures...

Maybe I'm a few orders of magnitude off but that is still a nightmare scenario. Fortunately the number of depencies need not be so large but for instance in Fruit I think there are many variables that work well only because one variable's error compensates another. That is also because of the heuristic nature of most known computerchess terms, but this probably also means every term only has a narrow optimal range where most of the errors cancel each other, and play is correct. Whenever you fall out of the optimal range playing against a superior opponent, -the errors don't cancel or you a missing one crucial piece of knowledge, one chessterm you have not yet discovered or tried-, you make one positional error at least, in your search. Some of them end up 'cascading' into a suboptimal move on the board. Assuming your opponent does not make any of these errors, every game is inevitably lost.

In short this probably also means that chess is far from solved in the sense of displaying unbeatable play by any computer program, which frankly is a very hopeful conclusion also :)

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Why you're never going to catch Rybka

Post by bob »

SzG wrote:
Bill Rogers wrote:With all due respect. There are a couple of programs that are almost as strong as Rybka now. Are you saying that they may not catch up and/or surpass Rybka? I know that Rybka is the strongest program out there for the time being and I am glad to see its success, but we have had winners in the past only to see someone write something better a little later on.
I mean who would have thought 10 years ago that programs today would be albe to pass the 3,000 elo mark?
There will always be a new kid on the block so to speak or as they used to say on the streets someone tougher will come along and whip a-- .
Bill
1. Second best is 180 Elos below Rybka. That is not "almost" for me...
2. Neither of the closest rivals was built on the framework of an open source engine. They are all original.
:)

We don't even know what Rybka was developed from, so your comments are far from accurate...
User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Why you're never going to catch Rybka

Post by Ovyron »

If Vas was smart enough to improve Rybka 1 by some 300 rating points I think he's smart enough to have created it from scratch.