About Rybka search info

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

Moderator: Ras

Gerd Isenberg
Posts: 2251
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: About Rybka search info

Post by Gerd Isenberg »

ozziejoe wrote:
You seem to become "Robin Hood" of computer chess.
I am not sure you meant this seriously? Didn't robin hood steal from rich people who abused power and used poor people like slaves?
The despotic sheriff Vasik tyrannized the whole computer chess community with his outstanding program and gravely abuses his position, keeping and obfuscating his secrets and persecuting the poor...

Robin was just a man known for robbing the rich to provide for the poor and fighting against injustice and tyranny ;-)

http://en.wikipedia.org/wiki/Robin_Hood
Heiko Mikala

Re: About Rybka search info

Post by Heiko Mikala »

Jorge Garcia de Andres wrote:I have a question for you Jury,

There is only one extension in the search:
the check extension in fact, why don't you have put more extensions in the full root function it will have enpowered your engine
In fact he also uses recapture and pawn-promotion extensions, but only in PV-Nodes, while check extensions are done in all nodes. (Like Fruit)
ozziejoe wrote:If the author of strelka claims that all vas did was duplicate fruit and add a few "trivial tricks", then why hasn't he done the same and created an engine as strong as rybka. Rybka is now over 300 points stronger than fruit 2.1 (and unlike fruit, it is a bitboard engine, for goodness sake.)

I look forward to the new wave of engines that will be made stronger based on the rybka/strelka code (and not so much on the fruit code which has been available to programmers for a long time.).
It may be a big disappointment to many, but really, there isn't much to learn from Strelkas sources at least regarding the search techniques and there surely is no secret revealed. All the techniques used in Strelka are well known and known for years. Things like Nullmove with R=3, Nullmove verification with R=4 (not 5, because in reality it's depth-1-R, giving depth-5), futility pruning, late move reduction, "delta" pruning and so on.

Strelka is clearly based on Fruit, which can be seen on the first glance by everyone who has looked into the Fruit 2.1 sources. The search is very similar, many functions and variables still using the same name, and it's following the same strict (and very good and successfull) principles that Fruit was following, but taken even further into the extreme.

Namely:

No selectivity in PV-nodes
No hashtable values being used in PV-nodes
Full extensions in PV-nodes

Full selectivity in other nodes
Full hashtable use in other nodes
No extensions in other nodes

With the only exception being the check extension, which is being used everywhere.

Fruits search has a very clear and unique fingerprint, which you can find exactly in Strelka.

Even more extreme than the original Fruit is the fact, that in Strelka the search functions have been split up even more into different functions - one function for every possible situation (like root-search, pv-search, full-search (all other than pv-nodes), check-search, quiescence-search, quiescence-check-search). Maybe a good idea, because it makes things a bit easier in some situations.

But every experienced chess programmer can read and understand Strelkas search functions within minutes - and will discover, that there is nothing new in it.

What makes Strelka strong is the same recipe, that made Fruit strong. What makes Strelka stronger than the first Fruits may be a better and clever combination of existing, well-known techniques and aggressive selectivity (but also using well known techniques with adjusted parameters). And maybe some things in the evaluation functions. But on the other hand, the eval of Fruit 2.1 was very strong already, and far from being simple (some things were split over some different source files, which some may not have realized).

My appeal to all of you:

Please do not in advance discredit all chess programmers, who will release new, stronger versions or new strong programs in the future by claiming they are all based on Strelka/Rybka. There really is no secret revealed in Strelka.

You may have noticed that there are close to zero discussions about the Strelka source in the programmers section. The reason, I'm very sure about that, is, that no one found something spectacular new in the sources.

Kind regards,

Heiko

Disclaimer:
With all this I do not judge, if Jury has disassembled Rybka beta or not. I truly admire Vas Rajlichs work with Rybka, which is great program, and which I have bought myself and enjoy to use.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: About Rybka search info

Post by Rolf »

George Tsavdaris wrote:
ozziejoe wrote: This whole situation is morally repugnant. Osipov used his intelligence to steal another person's ideas, and people can't wait to enjoy the fruits of this disgusting act (which I guess is unavoidable.).
Can an idea be stolen?
Can we accuse someone for stealing an idea?
Does ideas belong to anyone?
Code yes, but ideas....
This is a little bit more complicated than you think. You have sort of laws of justice in mind and ask if we can say that someone has stolen from another man. Well, of course we can say that, or do you want to believe that everything is allowed what is not especially violating the Law.

In reality someone can well be a guy beneath contempt also if he doesnt violate the Law, but if he violates the moral standards in a community. Rethink that again and above all please hold in mind that we have over 300 programmers with programs much weaker than these top things. Why are they all weaker? Answer that question for yourself.

Are theyx weaker because they are working on their own in the realm of the allowed digestion of common ideas? If yes, answer yourself a second question. Are those who take Fruit and call it saya for example Toga therefore strong because they are better programmers than the 300 weaker guys or are they stronger because they simply used someone else's stuff? If they were stronger then ok but if they are perhaps not understanding at all what they are doing and they have such a strong thing - wouldnt you agree that also all the 300 could do the same?? Would you want that all do the same and take Fruit? If you believe that this would be nonsense then please condemn the very few who took almost everything from others and became almost as strong as the really top strong ones.

And do that NOT because now you have understood a cheater or stealer, no, not at all. These are expressions of justice. But we in this community have another moral. We have 300 honest guys who dont want to be treated like dumb fools who are just too lame to become unethical too.

You know what. There are unwritten rules of decency. An artist who sees a certain work in the rooms of a collegue, he wont go home and do the same thing, taken he has uunderstood the trick. He would tell himself that this were shit because an artist is a proud man who is only happy if he has created something on his own. He doesnt for all not need you or our approval or applause. He's his own best critic. And he couldnt live with any kind of cheat/shit.

We should do it along these lines.

Look, I speak this out well knowing that certain people are getting mad at me, they want nothing more than telling others that I as a lay couldnt know anything about ethical standards in computerchess because I have no program and never participated in tournaments. Do you also believe that?

The point is that people who are big experts have a sort of particular blindness because of their expertise. You dont believe me? That's your problem, not mine.
Last edited by Rolf on Sat Jan 26, 2008 1:29 am, edited 1 time in total.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Guetti

Re: About Rybka search info

Post by Guetti »

Gerd Isenberg wrote:
ozziejoe wrote:
You seem to become "Robin Hood" of computer chess.
I am not sure you meant this seriously? Didn't robin hood steal from rich people who abused power and used poor people like slaves?
The despotic sheriff Vasik tyrannized the whole computer chess community with his outstanding program and gravely abuses his position, keeping and obfuscating his secrets and persecuting the poor...

Robin was just a man known for robbing the rich to provide for the poor and fighting against injustice and tyranny ;-)

http://en.wikipedia.org/wiki/Robin_Hood
The thing about despots is that they are bound to magically bring forth a hero whose sole duty is to free the people from the tyranny.

(sorry if this sentence is not correct, I had to travel on the verge of my limited english knowledge..)
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: About Rybka search info

Post by Rolf »

Heiko Mikala wrote:
Jorge Garcia de Andres wrote:I have a question for you Jury,

There is only one extension in the search:
the check extension in fact, why don't you have put more extensions in the full root function it will have enpowered your engine
In fact he also uses recapture and pawn-promotion extensions, but only in PV-Nodes, while check extensions are done in all nodes. (Like Fruit)
ozziejoe wrote:If the author of strelka claims that all vas did was duplicate fruit and add a few "trivial tricks", then why hasn't he done the same and created an engine as strong as rybka. Rybka is now over 300 points stronger than fruit 2.1 (and unlike fruit, it is a bitboard engine, for goodness sake.)

I look forward to the new wave of engines that will be made stronger based on the rybka/strelka code (and not so much on the fruit code which has been available to programmers for a long time.).
It may be a big disappointment to many, but really, there isn't much to learn from Strelkas sources at least regarding the search techniques and there surely is no secret revealed. All the techniques used in Strelka are well known and known for years. Things like Nullmove with R=3, Nullmove verification with R=4 (not 5, because in reality it's depth-1-R, giving depth-5), futility pruning, late move reduction, "delta" pruning and so on.

Strelka is clearly based on Fruit, which can be seen on the first glance by everyone who has looked into the Fruit 2.1 sources. The search is very similar, many functions and variables still using the same name, and it's following the same strict (and very good and successfull) principles that Fruit was following, but taken even further into the extreme.

Namely:

No selectivity in PV-nodes
No hashtable values being used in PV-nodes
Full extensions in PV-nodes

Full selectivity in other nodes
Full hashtable use in other nodes
No extensions in other nodes

With the only exception being the check extension, which is being used everywhere.

Fruits search has a very clear and unique fingerprint, which you can find exactly in Strelka.

Even more extreme than the original Fruit is the fact, that in Strelka the search functions have been split up even more into different functions - one function for every possible situation (like root-search, pv-search, full-search (all other than pv-nodes), check-search, quiescence-search, quiescence-check-search). Maybe a good idea, because it makes things a bit easier in some situations.

But every experienced chess programmer can read and understand Strelkas search functions within minutes - and will discover, that there is nothing new in it.

What makes Strelka strong is the same recipe, that made Fruit strong. What makes Strelka stronger than the first Fruits may be a better and clever combination of existing, well-known techniques and aggressive selectivity (but also using well known techniques with adjusted parameters). And maybe some things in the evaluation functions. But on the other hand, the eval of Fruit 2.1 was very strong already, and far from being simple (some things were split over some different source files, which some may not have realized).

My appeal to all of you:

Please do not in advance discredit all chess programmers, who will release new, stronger versions or new strong programs in the future by claiming they are all based on Strelka/Rybka. There really is no secret revealed in Strelka.

You may have noticed that there are close to zero discussions about the Strelka source in the programmers section. The reason, I'm very sure about that, is, that no one found something spectacular new in the sources.

Kind regards,

Heiko

Disclaimer:
With all this I do not judge, if Jury has disassembled Rybka beta or not. I truly admire Vas Rajlichs work with Rybka, which is great program, and which I have bought myself and enjoy to use.
Pardon me, are you saying that - because there are no secrets in Strelka, nothing to learn - every programmer should or could take the code and rewrite it a bit and then use it for his own stuff? I think your message is interesting but you dont answer the questions that were in focus of the debates for more than a month now. And excuse me again, if with that no secrets Strelka is enough strong to be a precious piece of code for hundreds of other programmers. Should they take it? In your opinion? Please make some clear judgements. Thanks are selfunderstood.
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: About Rybka search info

Post by Rolf »

Guetti wrote:
Gerd Isenberg wrote:
ozziejoe wrote:
You seem to become "Robin Hood" of computer chess.
I am not sure you meant this seriously? Didn't robin hood steal from rich people who abused power and used poor people like slaves?
The despotic sheriff Vasik tyrannized the whole computer chess community with his outstanding program and gravely abuses his position, keeping and obfuscating his secrets and persecuting the poor...

Robin was just a man known for robbing the rich to provide for the poor and fighting against injustice and tyranny ;-)

http://en.wikipedia.org/wiki/Robin_Hood
The thing about despots is that they are bound to magically bring forth a hero whose sole duty is to free the people from the tyranny.

(sorry if this sentence is not correct, I had to travel on the verge of my limited english knowledge..)
Even I can see that you must have misread Gerd. Funny. But it's no language problem that many people have here. They hate out of ignorance and with prejudices.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Guetti

Re: About Rybka search info

Post by Guetti »

Rolf wrote:
Even I can see that you must have misread Gerd. Funny. But it's no language problem that many people have here. They hate out of ignorance and with prejudices.
I think it was meant ironic. ;)
Heiko Mikala

Re: About Rybka search info

Post by Heiko Mikala »

Hello Rolf,
Rolf wrote:Pardon me, are you saying that - because there are no secrets in Strelka, nothing to learn - every programmer should or could take the code and rewrite it a bit and then use it for his own stuff?
I personally am not a big friend of clones. It's nice if someone finds enhancements for an open source chess program, but then he should present his ideas to the original author, who should decide, if he will incorporate these ideas into the original source.

We have some very good clones available, and it's surely fun to play with them, but I have much more respect for those who wrote their programs on their own.

But one thing is clear: computer chess has lived for ages from the exchange between the authors, here, on rgcc and elsewhere. And of course everyone looks into the freely available sources (normally you do not find new things in there, but only examples of implementations of already known and published ideas).

No, I definitely hope, that noone will take Strelkas source, change one or two variables, make the program closed source and then call it his own program!

Kind regards,

Heiko
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: About Rybka search info

Post by Rolf »

Guetti wrote:
Rolf wrote:
Even I can see that you must have misread Gerd. Funny. But it's no language problem that many people have here. They hate out of ignorance and with prejudices.
I think it was meant ironic. ;)

Yes, then what has despot Vas done for a magic that a certain O appeared on the stage? And more absurd: why has O done all the hard work if he hasnt 'found' any secrets at all(see Heiko)? Where is the beef? Could Vas be O? And for all, is O Vas? Slowly we have a real case. Stay tuned...
-Popper and Lakatos are good but I'm stuck on Leibowitz
Heiko Mikala

Re: About Rybka search info

Post by Heiko Mikala »

Again to Rolf:
Heiko Mikala wrote:Please do not in advance discredit all chess programmers, who will release new, stronger versions or new strong programs in the future by claiming they are all based on Strelka/Rybka.
With this I meant, that we should not claim, that every new strong program is based on Strelka or Rybka beta, simply because it is strong.

We will get new, stronger programs. But not because of the release of the Strelka sources.

At the moment, there are far too many comments here, that make people believe, that every chess programmer in the world has only to take a short look into the Strelka sources, and then he can make his own engine some 100 elos stronger. That is not true.

Kind regards,

Heiko