Questions for BB about Rybka PST = Fruit PST

Code, algorithms, languages, construction...
Post Reply
User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Questions for BB about Rybka PST = Fruit PST

Post by Rebel » Sun Aug 14, 2011 1:09 pm

BB+ wrote:Additionally, guides to programming differ somewhat from programs themselves, just as a book-writing manual would differ from an actual book, though it can depend on how "explicit" a guide is. I think I already mentioned [just as a possibility] back in February that Fruit could conceivably be taken to be a "programming guide", but no one has really pushed that idea, other than maybe Chris at some point. Perhaps we could rephrase this: would it reasonable (on the current facts) to say that Rajlich used Fruit merely as "pseudocode" rather than actual code? I can tell you what my [rather long] answer to this would be, but for now I leave it out there as a possibly useful rephrasing of the issue.
This is correct. I have been trying to push Chris into that further but time is not on his side. You can see my 5½ month argument as a sort of pilot balloon on this. It's not unlikely Vas at the time of the Fruit sources release already had a full functioning bit-board engine of his own and then "went forward and backwards and took many things".

So shoot ;)

User avatar
thorstenczub
Posts: 592
Joined: Wed Jun 09, 2010 12:51 pm
Real Name: Thorsten Czub
Location: United States of Europe, germany, NRW, Lünen
Contact:

Re: Questions for BB about Rybka PST = Fruit PST

Post by thorstenczub » Sun Aug 14, 2011 2:36 pm

Rebel wrote:It's not unlikely Vas at the time of the Fruit sources release already had a full functioning bit-board engine of his own and then "went forward and backwards and took many things".

So shoot ;)

"of his own" - of course he had a full functioning bit-board engine: a modified crafty !

we have seen the games. they are public and can be replayed.

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: Questions for BB about Rybka PST = Fruit PST

Post by Chris Whittington » Sun Aug 14, 2011 4:22 pm

Rebel wrote:
BB+ wrote:Additionally, guides to programming differ somewhat from programs themselves, just as a book-writing manual would differ from an actual book, though it can depend on how "explicit" a guide is. I think I already mentioned [just as a possibility] back in February that Fruit could conceivably be taken to be a "programming guide", but no one has really pushed that idea, other than maybe Chris at some point. Perhaps we could rephrase this: would it reasonable (on the current facts) to say that Rajlich used Fruit merely as "pseudocode" rather than actual code? I can tell you what my [rather long] answer to this would be, but for now I leave it out there as a possibly useful rephrasing of the issue.
This is correct. I have been trying to push Chris into that further but time is not on his side. You can see my 5½ month argument as a sort of pilot balloon on this. It's not unlikely Vas at the time of the Fruit sources release already had a full functioning bit-board engine of his own and then "went forward and backwards and took many things".

So shoot ;)
I can certainly push the idea of using open source as a kind of manual, but that is an argument for later. First we have to critique the documents in detail and beyond simply the PST material.

I have questioned the 5.5 months timeframe in which to rip off Fruit and convert it line by line. Given two facts, first that Vas had something bitboardy that worked already and secondly the lack of time, it would appear that a better model for the accusers would have been "stole the eval and ported a bitboarded version of that into some already working code".

It is also clear that this model is where BB-Zach spent their time (eval) and that the attack documents effectively contain no real material from elsewhere. So why make such a meal of the allegation that Vas stole all Fruit and converted it (which is mostly a Hyatt inspired allegation, and one where BB-Zach remain mostly silent).

It all points to Hyatt loudly dominating the conclusion phase of the "investigation" and forcing his line on the others through his usual techniques. The exaggerations and lies continue on Rybka forum, one suspects much to the squirming dislike of Hyatt's onetime collaborators.

Basically, guys, he is singlehandedly destroying your case for his own wild motives.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Questions for BB about Rybka PST = Fruit PST

Post by hyatt » Sun Aug 14, 2011 5:20 pm

Rebel wrote:
BB+ wrote:Additionally, guides to programming differ somewhat from programs themselves, just as a book-writing manual would differ from an actual book, though it can depend on how "explicit" a guide is. I think I already mentioned [just as a possibility] back in February that Fruit could conceivably be taken to be a "programming guide", but no one has really pushed that idea, other than maybe Chris at some point. Perhaps we could rephrase this: would it reasonable (on the current facts) to say that Rajlich used Fruit merely as "pseudocode" rather than actual code? I can tell you what my [rather long] answer to this would be, but for now I leave it out there as a possibly useful rephrasing of the issue.
This is correct. I have been trying to push Chris into that further but time is not on his side. You can see my 5½ month argument as a sort of pilot balloon on this. It's not unlikely Vas at the time of the Fruit sources release already had a full functioning bit-board engine of his own and then "went forward and backwards and took many things".

So shoot ;)
He did have a bitboard engine. Crafty. And he did publicly admit that he used the rotated bitboard stuff from Crafty. We now know he used much more than that, however.

User avatar
Rebel
Posts: 515
Joined: Wed Jun 09, 2010 7:45 pm
Real Name: Ed Schroder

Re: Questions for BB about Rybka PST = Fruit PST

Post by Rebel » Sun Aug 14, 2011 7:41 pm

hyatt wrote:He did have a bitboard engine. Crafty. And he did publicly admit that he used the rotated bitboard stuff from Crafty. We now know he used much more than that, however.
Since when is the idea of rotated bit-boards copyrighted?

You have proof Vas copied rotated bit-boards data and/or code into Rybka ?

zwegner
Posts: 57
Joined: Thu Jun 10, 2010 5:38 am

Re: Questions for BB about Rybka PST = Fruit PST

Post by zwegner » Sun Aug 14, 2011 10:15 pm

Chris Whittington wrote:I have questioned the 5.5 months timeframe in which to rip off Fruit and convert it line by line. Given two facts, first that Vas had something bitboardy that worked already and secondly the lack of time, it would appear that a better model for the accusers would have been "stole the eval and ported a bitboarded version of that into some already working code".

It is also clear that this model is where BB-Zach spent their time (eval) and that the attack documents effectively contain no real material from elsewhere. So why make such a meal of the allegation that Vas stole all Fruit and converted it (which is mostly a Hyatt inspired allegation, and one where BB-Zach remain mostly silent).
I entirely disagree, and no, that's not a Hyatt inspired allegation. I don't know who first came up with it, but I have always thought that Vas started from Fruit as a base, and possibly copied some low-level bitboard infrastructure from some earlier code. The reason that my "attack documents" (a description that I find to be quite rude, BTW) only contain information about the evaluation is that I have not yet had the chance to spend thousands MORE hours compiling evidence for absolutely zero personal gain. Sorry.

I have gone over my reasoning for this in the past (there's a good amount of code that looks like it was glued together sloppily), but with the state of the pre-beta Rybkas, I think it's very hard to argue otherwise. I would be a lot happier if someone could explain to me why Vas copied things like UCI parsing routines when he had a fully working bitboard engine. But they can't, because it DOESN'T MAKE ANY SENSE.

I don't buy any of the 5.5-month-timeframe argumentation either. Converting to bitboards is a very methodical task. I would guess it would take me at most a few days to convert Fruit to fully bitboard without any bitboard code to start from. Even if we are extremely conservative and say one month for a bitboard conversion, that's still several months to play around with tuning and search tricks.

User avatar
thorstenczub
Posts: 592
Joined: Wed Jun 09, 2010 12:51 pm
Real Name: Thorsten Czub
Location: United States of Europe, germany, NRW, Lünen
Contact:

Re: Questions for BB about Rybka PST = Fruit PST

Post by thorstenczub » Sun Aug 14, 2011 10:23 pm

older versions of crafty were winboard, not uci.

zwegner
Posts: 57
Joined: Thu Jun 10, 2010 5:38 am

Re: Questions for BB about Rybka PST = Fruit PST

Post by zwegner » Sun Aug 14, 2011 10:27 pm

All versions of Crafty are winboard. I was talking about copying UCI parsing routines from Fruit.

The UCI parsing in the pre-beta Rybkas is entirely different, and is based on the Crafty data structures.

wgarvin
Posts: 47
Joined: Thu Jul 01, 2010 3:51 pm
Real Name: Wylie Garvin

Re: Questions for BB about Rybka PST = Fruit PST

Post by wgarvin » Mon Aug 15, 2011 12:19 am

I also think copying the eval from Fruit and converting it to bitboards was probably a much faster and easier task than creating an original one from scratch would have been. It also avoids the difficult subjective issues of which evaluation features should be used and exactly what details those features should have. And certainly there is no guarantee that if you create your own eval from scratch, it will be any good. I think Vas decided to duplicate all of the eval features from Fruit because Fabien had already done the hard part and created an obviously-strong eval, and its source code was there for the taking. Compared to this, converting it to bitboards would be a simple, mechanical task.

I have no opinion on whether the rest of Rybka is the original work of Rajlich or not, and I don't know what was going through his head when he decided to base his eval so closely on someone else's published code. Whether he gave any thought to copyright law, or Fruit's license, I have no idea. Perhaps he just didn't think about it at all--as a professional programmer I have to be very careful about copyright and licensing requirements whenever I use 3rd-party code, but not everybody is interested or required to know about that stuff.

Once he had a strong engine, and the opportunity to compete in the WCCC and other tournaments came up, there was a commercial motivation for him to compete and try to win some prestige for Rybka (in addition to just wanting to win, same as any programmer might want, commercial or not).

Did he even read the rule requiring "original work"? If he did, he probably had convinced himself that Rybka was original. People are very good at rationalizing things they have done. Its all history now, but one thing I wonder is whether Vas ever felt that what he had done might be wrong. There seems no doubt now that some versions of Rybka were not completely original work and that Vas had an unfair advantage over his competition in 2006-07 because he was profiting from Fabien's hard work in addition to his own. As an outsider, and with the advantage of hindsight, it seems clearly wrong to me--but I can imagine the series of choices and rationalizations that can lead one into this position, and I feel some sympathy for Vas. But also for Fabien, because a lot of things might have been different had Rybka not been available for commercialization when it was.

Vas did write a strong program, but I doubt he could have made it so strong in that timeframe if he had written its eval on his own from scratch. It might never have become as strong, or at least it probably would have taken 1-2 years longer.

BB+
Posts: 1484
Joined: Thu Jun 10, 2010 4:26 am

Re: Questions for BB about Rybka PST = Fruit PST

Post by BB+ » Mon Aug 15, 2011 12:21 am

If the argument is which of these two is more likely:
*) VR started with Fruit, and imported his implementation of rotated bitboards
*) VR started with his old Rybka engine, and ported in some rendition of the Fruit eval
I'd have to say that the former is more likely [though I'm not sure what the purpose of such a nuance really is]. It is really difficult to find much in common between Rybka 1.6.1 and Rybka 1.0 Beta, other than the rotated bitboards (and even these are not completely translatable).

And as Zach says: UCI stuff, hashing, piece numbering -- all of these "suddenly" followed a Fruit pattern in R1B. Another example is underpromotion disappearing, so at the very least there was major re-writing taking place. Based on the facts as I know them, I'd think I'd go so far as to flat out reject (as not only extremely unlikely, but outright unreasonable) the idea that VR was fooling around with some "Rybka 1.7" version in mid-2005, then Fruit came out, he saw how well the eval worked, "plopped" in all the ideas from that, etc. The "picayune" evidence of data structures here, parsing commonalities there, ..., might not have mattered much in the "substantive" debate, but I think that they can be brought to bear here so as to eliminate explanation #2.

This being said, it's a more decent question as to whether VR "started with Fruit", or whether he rather re-implemented all its algorithms himself (as in his claim to Levy, that he typed it himself).

Post Reply