Rybka is made out of People! (serious problem exposed)

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

rfadden

Re: Rybka is made out of People! (serious problem exposed)

Post by rfadden »

Why do you care enough to post a reply?

Do you believe that you are somehow defending Rybka, and further let us try to figure out why someone would feel that they need to defend Rybka.

I think this is just human nature.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Rybka is made out of People! (serious problem exposed)

Post by michiguel »

rfadden wrote:Why do you care enough to post a reply?

Do you believe that you are somehow defending Rybka, and further let us try to figure out why someone would feel that they need to defend Rybka.

I think this is just human nature.
I have a similar question as Bill. He asks "Who cares?" and I ask "Why care?". I do not think that any serious chess player will give any thought to this type of numbers, which are completely meaningless from a chess point of view. The PV and the move selected are only things that matter.

Miguel
wgarvin
Posts: 838
Joined: Thu Jul 05, 2007 5:03 pm
Location: British Columbia, Canada

Re: Rybka is made out of People! (serious problem exposed)

Post by wgarvin »

There's nothing wrong with sharing info, and the details of the obfuscated node count are kind of interesting (even though they are not useful to anyone writing their own chess engine).

But as for "it is time for Rybka to change and to start telling the truth"... no one here has any control over what the author of Rybka puts into his program, and that's why I suggested the Rybka forum. The only people whose opinion is worth influencing about this, would be Vas or his customers.
Guetti

Re: Rybka is made out of People! (serious problem exposed)

Post by Guetti »

I feel the node count and NPS is only important for the programmer. You can count whatever you want, as long as this gives you the necessary information. How many of the "things" you count is not so important, as long as it is consistent. i.e. if you compare nodes from one iteration to the other, it doesn't matter if you have nodes(ply)/nodes(ply-1) or 8*nodes(ply)/8*nodes(ply-1). If you want to multiply the node count with pi, no problem.
Another reason I use node count is to check what influence a modification has on the NPS. Do they increase, or decrease, and should they do so. Again, the actual number is meaningless, as long as both versions calculate the node count in the same way.
The same applies for the depth. There are engines that have a different measurement of search depth (extension included/excluded etc) i.e. in a lot of positions Rybka states to search 3 ply deeper than Hiarcs, with the ply-3 trick this would be even 6 plys. If Hiarcs really would calculate 6 plys less deep, it would never win a game against Rybka. It would be lost after 5 moves. So search depth is relative too.
rfadden

Re: Rybka is made out of People! (serious problem exposed)

Post by rfadden »

Yes I did take this suggestion and I did post there. I got some interesting replies.

Hey one good thing is that I feel better. I had these details and I withheld them for two years and that did bother me a bit. It was nice to just come out with what I had discovered.

I find it surprising that no one else gave the details. Yes people had been giving their opinion that "something is wrong" but there were no postings of the actual calculation.
ernest
Posts: 2041
Joined: Wed Mar 08, 2006 8:30 pm

Re: Rybka is made out of People! (serious problem exposed)

Post by ernest »

rfadden wrote:I find it surprising that no one else gave the details...
Sorry, Rick, this was all in the Forums almost 2 years ago!
Quite a few people had a look at reverse engineering of Rybka 1.0 Beta.
For instance, see the investigations by John L. Jerz:
http://mysite.verizon.net/vzesz4a6/current/id18.html

Too bad you chose to work blind... :wink:
rfadden

Re: Rybka is made out of People! (serious problem exposed)

Post by rfadden »

ernest wrote:
rfadden wrote:I find it surprising that no one else gave the details...
Sorry, Rick, this was all in the Forums almost 2 years ago!
Quite a few people had a look at reverse engineering of Rybka 1.0 Beta.
For instance, see the investigations by John L. Jerz:
http://mysite.verizon.net/vzesz4a6/current/id18.html

Too bad you chose to work blind... :wink:
What do you mean? I wrote in my posting of the details that I discovered all of this information two years ago, January 2006 or so. Rybka then was on 1.01 beta x. As I said in my main note, I decided to not say anything at the time, and I also was looking for someone else possibly coming out with the information and I did not see that (except for the mentioned comment by Anthony Cozzie).

So recently I checked and saw that the Obfuscation is still in all version of Rybka and I figured it had been over two years and as a customer and as someone who appreciates Rybka I decided to post what I had found two years ago. I'm also posting that this lie is still continuing.

For example, the code subtracts 2 from depth only at the routine which prints out depth, and as one other poster here said, Rybka also truncates the PV in order to not give away the fact that it actually searched two ply deeper than what it prints out.

(side detail: the code also does not print PV at an internal ply less than 5, so what you see is PV starting at ply 3, but that's actually ply 5, ha ha ha ha ha ha)...

I guess you're saying that you're sorry that I wasted my time, but I didn't waste my time... I spent very little time on this.

Two+ years is long enough to wait.

Thanks...
utzinger

Re: Rybka is made out of People! (serious problem exposed)

Post by utzinger »

Very interesting observations, but who cares :D Personally I am neither
interested in node counting nor in depth search. The only thing that
matters me is the moves a chess engine is producing.
Kurt
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Rybka is made out of People! (serious problem exposed)

Post by Ovyron »

Problem:
(noun) a state of difficulty that needs to be resolved

I don't think this qualifies as "problem."
rfadden

Re: Rybka is made out of People! (serious problem exposed)

Post by rfadden »

So people here did suggest that I post over in the Rybka forum, and I *am* a customer and a fan of Rybka so I did this.

There was an interesting discussion that followed and Vas did come on and he gave some interesting further thoughts.

I recommend that anyone who is interested look at the Thread there to see the exact context of Vas's further thoughts.

I will cut/paste what he wrote so you can get the flavor of what he's saying, and to get the full context accurately you can go to that forum and see the thread titled "A Problem with all Versions of Rybka..."


One comment from Vas:
The topic was: the way people look at the binary of the free 1.0 beta (and maybe other versions) and the way that they might comment about the contents that they discover there:

"For fun/curiosity and little discussions like this, I don't have any problem with it. If on the other hand a commercial author does this and uses Rybka's eval or search terms, then yeah, I'll have a problem with it.

Vas "


About people's comments on Rybka's PV output:
"The PV is a more interesting issue.

Currently, Rybka has two modes: display full PV (set 'Display PV Tips' to true) and display a PV truncated at depth == 6 (default). The latter typically means leaving out the last 6-10 moves or so.

Which is more appropriate really depends on the position.

For example, if the variation leads to mate, the full PV is almost always worth displaying. If the PV ends with some quiet moves, the tips of the PV are just noise.

At some point, I will sit down and work out a really good algorithm for this. Probably this will be after Rybka 3.

Vas "


About the post in general:

"Hi,

there is a lot of interesting stuff here.

Your technical analysis is more or less correct, as far as I remember. Although you are using some really ugly variable names - 'Trans_Max_Store', 'nodeTickHigh', 'nodeTickLow', .. I use 'tick' and 'gulp' in place of the last two.

Re. nps - this has been discussed here many times. I don't agree with your use of the word "obfuscation" - the term "node" is a generic one. In general you want to check I/O less frequently rather than more. Anyway, other users have also made the same request and I will revisit all of this for Rybka 3.

Re. older Rybka versions - the problem is that I'm the only developer, and this means that I have to ruthlessly prioritize. One thing which is out is any sort of version branching. We always put 100% effort on the latest version. The good side of this is that Rybka is not expensive

By the way - I'm very interested in making this type of disassembling more difficult, to prevent other commercial programmers from keeping up with us. If you have any tips/suggestions about this, I'm all ears.

Vas "

The most important thing here is I'm showing you some of his comments so you can decide if it's interesting enough for you to see the full context of these comments on the Rybka Community forum.

I did post a reply of some further ideas in direct answer to Vas's questions. Like I said, Vas is a great guy. He's very smart, he's reasonable.

I love the products that he sells. They are the best!