The Inside Story on Rybka

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

Moderators: hgm, Rebel, chrisw

tmokonen
Posts: 1296
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: The Inside Story on Rybka

Post by tmokonen »

Graham Banks wrote: As long as the finished product plays good chess and preferably gives the thinking lines and evaluation, isn't that all that should really concern us?
Just my opinion of course. :wink:
Regards, Graham.
I agree with you on this. However, Rybka seems to truncate its PVs, and I wouldn't mind seeing full thinking lines myself.

Tony
User avatar
GenoM
Posts: 910
Joined: Wed Mar 08, 2006 9:46 pm
Location: Plovdiv, Bulgaria

Re: The Inside Story on Rybka

Post by GenoM »

Graham Banks wrote:
rfadden wrote: So if we all let Vas know that "the jig is up" and we know the exact details of this Obfuscation, then he may get tired of this issue and then just start writing "straight" code.

I am a developer and I would "fret" over an obfuscation if I had put something like this in an early version of a system such as this. After a while I would just want a fresh start. Just get rid of the piece of poo that is still in every copy of Rybka... Especially do not copy the poo into version 3 of Rybka! Man... !
I'm not a programmer, but my point of view is that as long as an engine author isn't trying to hide anything illegal, then how he writes his or her code is his or her business and nobody else's.
As long as the finished product plays good chess and preferably gives the thinking lines and evaluation, isn't that all that should really concern us?
Just my opinion of course. :wink:

Regards, Graham.
Hi Graham. Let me disagree with your opinion.

Every user of commercial Rybka is cheated with this engine attitude. Simplest example: if one wants to test engines at certain depth Rybka got advantage of searching 2 plies deeper but tester couldn't know this -- cause the programmer hadn't tell anything about this. Why? Why to hide the real state of things from your own customers?! I can't make it out... When you buy something, you want to know what exactly you're buying. I'm asking all Rybka users /excluding those using Rybka beta, cause they haven't pay for it/ when you buy a new car and finaly understand that speedometer of your car is lying about real speed you're driving at how would you react?

best regards,
Geno
take it easy :)
User avatar
Graham Banks
Posts: 41455
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: The Inside Story on Rybka

Post by Graham Banks »

GenoM wrote:
Graham Banks wrote:
rfadden wrote: So if we all let Vas know that "the jig is up" and we know the exact details of this Obfuscation, then he may get tired of this issue and then just start writing "straight" code.

I am a developer and I would "fret" over an obfuscation if I had put something like this in an early version of a system such as this. After a while I would just want a fresh start. Just get rid of the piece of poo that is still in every copy of Rybka... Especially do not copy the poo into version 3 of Rybka! Man... !
I'm not a programmer, but my point of view is that as long as an engine author isn't trying to hide anything illegal, then how he writes his or her code is his or her business and nobody else's.
As long as the finished product plays good chess and preferably gives the thinking lines and evaluation, isn't that all that should really concern us?
Just my opinion of course. :wink:

Regards, Graham.
Hi Graham. Let me disagree with your opinion.

Every user of commercial Rybka is cheated with this engine attitude. Simplest example: if one wants to test engines at certain depth Rybka got advantage of searching 2 plies deeper but tester couldn't know this -- cause the programmer hadn't tell anything about this. Why? Why to hide the real state of things from your own customers?! I can't make it out... When you buy something, you want to know what exactly you're buying. I'm asking all Rybka users /excluding those using Rybka beta, cause they haven't pay for it/ when you buy a new car and finaly understand that speedometer of your car is lying about real speed you're driving at how would you react?

best regards,
Geno
Fair enough point. When you pay for a product, I guess it's reasonable to expect such information.

Regards, Graham.
gbanksnz at gmail.com
playjunior
Posts: 338
Joined: Fri Jun 22, 2007 12:53 am

Re: The Inside Story on Rybka

Post by playjunior »

Graham Banks wrote:
GenoM wrote:
Graham Banks wrote:
rfadden wrote: So if we all let Vas know that "the jig is up" and we know the exact details of this Obfuscation, then he may get tired of this issue and then just start writing "straight" code.

I am a developer and I would "fret" over an obfuscation if I had put something like this in an early version of a system such as this. After a while I would just want a fresh start. Just get rid of the piece of poo that is still in every copy of Rybka... Especially do not copy the poo into version 3 of Rybka! Man... !
I'm not a programmer, but my point of view is that as long as an engine author isn't trying to hide anything illegal, then how he writes his or her code is his or her business and nobody else's.
As long as the finished product plays good chess and preferably gives the thinking lines and evaluation, isn't that all that should really concern us?
Just my opinion of course. :wink:

Regards, Graham.
Hi Graham. Let me disagree with your opinion.

Every user of commercial Rybka is cheated with this engine attitude. Simplest example: if one wants to test engines at certain depth Rybka got advantage of searching 2 plies deeper but tester couldn't know this -- cause the programmer hadn't tell anything about this. Why? Why to hide the real state of things from your own customers?! I can't make it out... When you buy something, you want to know what exactly you're buying. I'm asking all Rybka users /excluding those using Rybka beta, cause they haven't pay for it/ when you buy a new car and finaly understand that speedometer of your car is lying about real speed you're driving at how would you react?

best regards,
Geno
Fair enough point. When you pay for a product, I guess it's reasonable to expect such information.

Regards, Graham.
Especially-taking into account that a chess engine is not an ordinary product. There are some unwritten rules in the community, and so far everyone silently sticks to them. Except Vasik.

Junior was counting depth in other way than the others. And Chessbase would write in their website, explain how it occurs (i.e. Junior counts some moves as 2 moves, this is probably something like Nullmove). They didn't cover it.

From what I have understood what Bob Hyatt said in this forum, Vasik has greatly benefited from accumulated knowledge of CS community. Both from the publicly available one, and also-by taking free "lessons" by asking numerous questions to people who have contributed so much and know so much.

Then he makes the strongest engine. Commercial. Some are not happy about this. Nevertheless.

Rybka shows very low node count, and people start to think that TO CREATE A STRONG ENGINE YOU NEED A SMART ENGINE. Many people start searching in this direction, and waste their effort, more or less.

So let's elaborate. Vasik takes the best of the community, and then, after he has something better than the others-he misleads everyone with his low node count and subtracted depth.

Now imagine people like Hyatt or Deepoven...misleading community. Giving wrong answers to your questions, or, say, faking the eval parameters in Crafty's public source. Would we stand were we do now? No. Would there be Rybka? I BET NO.

I understand Geno's point as follows:after all, the community deserved a little more. If you don't want to tell your secrets-fine. But don't bite the hand that has fed you.
If this is what you meant-I agree with you Geno.
P.S. It reminds me more of animal farm now.
"All engine authors are equal, but Vasik is more equal than the others".
P.P.S. Sorry for a bit high tone, but I think I have the point.
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: The Inside Story on Rybka

Post by George Tsavdaris »

Graham Banks wrote:
Fair enough point. When you pay for a product, I guess it's reasonable to expect such information.
Such information as ply depth??

Since most or anyway some programs count depth differently(Junior, et al) it's pointless to discuss that the user should know this and that about depth....
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: The Inside Story on Rybka

Post by hgm »

Agreed. It is none of the user's business how the engine counts depth (i.e. which extensions and reductions it does) or selects its move. In fact this is proprietry information.
Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: The Inside Story on Rybka

Post by Terry McCracken »

hgm wrote:Agreed. It is none of the user's business how the engine counts depth (i.e. which extensions and reductions it does) or selects its move. In fact this is proprietry information.
Maybe..but you should know what depth is being searched, KNPS, and a full PV.
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: The Inside Story on Rybka

Post by George Tsavdaris »

Terry McCracken wrote:
hgm wrote:Agreed. It is none of the user's business how the engine counts depth (i.e. which extensions and reductions it does) or selects its move. In fact this is proprietry information.
Maybe..but you should know what depth is being searched, KNPS, and a full PV.
So you agree that "depth" is indefinite but you say that we must know it. :D
Why? Why to know an indefinite number?

Do you know for example what a reported depth/ply = 16 from Junior means? Or from Hiarcs, etc?
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
playjunior
Posts: 338
Joined: Fri Jun 22, 2007 12:53 am

Re: The Inside Story on Rybka

Post by playjunior »

George Tsavdaris wrote:
Terry McCracken wrote:
hgm wrote:Agreed. It is none of the user's business how the engine counts depth (i.e. which extensions and reductions it does) or selects its move. In fact this is proprietry information.
Maybe..but you should know what depth is being searched, KNPS, and a full PV.
So you agree that "depth" is indefinite but you say that we must know it. :D
Why? Why to know an indefinite number?

Do you know for example what a reported depth/ply = 16 from Junior means? Or from Hiarcs, etc?
Huh!? So if I am searching at depth 16, and subtract 2 and report 14 to you, it becomes indefinite!??
And node count is also barely definable, right?
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: The Inside Story on Rybka

Post by hgm »

Indeed, on both counts. Some engines count QS nodes, others don't, some engines count hash cutoffs, some don't, some engines count only end leaves, others also count internal nodes, some engines count evaluations, and some of those do not evaluate in every node...

And some engines count a PV of 16 moves as depth=8, because half of the move are extensions, while others count the same PV as depth=20, because 4 of the moves were reduced, or part of QS...