Questions for BB about Rybka PST = Fruit PST

Code, algorithms, languages, construction...
Post Reply
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 6:04 pm

About the material table in Rybka 1.0 Beta. Its possible that was also originally from Fruit. Fruit 2.1 has stuff in material.cpp to calculate material balances, drawishness, recognize specific endings, etc. It keeps the results in a hash table. Perhaps Vas started with that, and converted it into a pre-initialized table similar to what he did with the PST init code. Zach's report says that several of the flags stored in this table are the same between Rybka and Fruit, and also that the "game phase" calculation is done in the same way.

Anyway, my point is just that counting the "material table" as an original part of Rybka that Vas added during those 5.5 months might be incorrect.

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 6:09 pm

Wylie Garvin wrote: Its possible that [material imblances] was also originally from Fruit. Fruit 2.1 has stuff in material.cpp to calculate material balances, drawishness, recognize specific endings, etc. [...] Perhaps Vas started with that, and converted it into a pre-initialized table similar to what he did with the PST init code.

Anyway, my point is just that counting the "material table" as an original part of Rybka that Vas added during those 5.5 months might be incorrect.
Here is some relevant "prior art" concerning the existence of material imbalances in prior Rybka versions:
TalkChess archives wrote:Subject: Re: piece values
From: Vasik Rajlich
Message Number: 339431
Date: December 31, 2003 at 09:03:21
[...]
Rybka uses Kaufman's values almost exactly. Only exception: 1/16th of a pawn bonus for Q+N v Q+B with nothing else on the board. J. Watson also covers this imbalance in his book "Secrets of Modern Chess Strategy" and claims that there is no evidence to suggest that Q+N are better (Kaufman agrees), but I just can't believe this.

One other thing I am starting to grow suspicious of is that BB v NN are not any better than BB v BN. (As Kaufman claims)
For the purpose of a "5.5 months" timeline reconstruction, I think one should only count the (rather minimal) time necessary to hook up a pre-existing material imbalance table into (purportedly) Fruit-derived code. For this, I don't think that Fruit's material.cpp matters too much, one reason being that Rybka implements material imbalances via an idiosyncratic 9-3-3-3-2 indexing.

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 » Mon Aug 15, 2011 9:09 pm

Unit testing was already alive and kicking end 70's early 80's. I remember doing an external course (class) for the company I worked for back then. The only thing I remembered from it that is so time consuming. Good method, incredible delays. But back then computer time was expensive and the management simply wanted their programmers to dry-test their work better before running to the computer room :lol:

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 » Mon Aug 15, 2011 9:23 pm

Its possible that [material imblances] was also originally from Fruit.

Look, it's this kind of presentation that irritates me in the document(s).

They suggest guilty from a predefined subjective view.

Vas very well could have taken the basic idea from REBEL as listed on my pages.

Or invented the idea all by himself for that matter.

It's nothing special really.

And pure speculation from your end.

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 9:28 pm

I think the following is agreed about PST.

*) PST was largely not an issue for the Panel discussions, though it was mentioned in almost every evidentiary document.
*) Fruit 2.1 gave a specific method to compute PST, using some pedestrian (yet specific) arrays, and some tunable constants.
*) For many of the PSTs, the Rybka 1.0 Beta PST can be exactly derived using the same specific arrays and method, but with different constants.
**) I would put this at 7 of 11 PSTs, but accountings vary. Pawn PST might be just ignored, and maybe also with Rooks. The KingRank question is another issue (in a related R3/IPPOLIT context, LK didn't think it was very notable). There is also the question of information content for some of the arrays (see the Endgame arrays, which are based on just 1 parameter).
*) No other engine prior to Fruit 2.1 (including Fruit 1.0) could be found for which there were so many PSTs that could exactly reconstructed via the method and specific arrays given in Fruit 2.1.

From the above, it seems to me to be a reasonable conclusion that the most likely happenstance is that Rajlich took the Fruit PST method and arrays and put them (in a slightly modified form) into Rybka. This is the type of question the Panel was asked to answer (though as noted above, PST was never explicitly debated): based on the evidence presented, and drawing from your knowledge of how chess engines are typically developed, what is the most likely sequence of events of Rybka development, and would that imply an infraction of ICGA Rules? -- such side tours as possible alternative constructions of the PST, whether or not PST should be considered "chess playing code" [or was something more like Zobrist keys], etc., were left to Rajlich.

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 9:49 pm

Rebel wrote:
Wylie Garvin wrote:Its possible that [material imblances] was also originally from Fruit.
Look, it's this kind of presentation that irritates me in the document(s).
And look how fast it was rebutted. :) Kidding aside, Wylie did like to raise "it's possible that" issues (for both sides) in the Panel discussions. In the end, the Panel had to use some amount of prognostication, as in any event it could only state a consensus about what was most likely, and the assurance level therein. On the whole, the evidence was noted as being "overwhelming" (by the Board), particularly when not rebutted by additional information from Rajlich.

I agree that each evidentiary statement should be couched in reasonably careful terms as to its provenance/likelihood, but I don't think that just because something it still a "question mark" that it shouldn't be mentioned at all (particularly in the earlier documents). [One might then reciprocally expect the same careful verbiage from those presenting an "alternative storyline" as to the Rybka development saga, but this has not always been noticeable to me -- e.g., I don't recall CW demurring it was "possible" that EVAL_COMP was merely a surrogate for strength, but rather this was practically stated as a conclusion, with a specific challenge (since rebutted) that if anyone cared to check this, they'd find this to indeed be the case]. It can also be noted that the final Report was more prone to stick with the issues that had the strongest backing to them, and ignored those that got rejected (such as the 10-30-60-100 scaling).

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 10:11 pm

Okay, I guess the material table was around in Rybka before Fruit 2.1.

About the "idiosyncratic" 9-3-3-3-2 indexing, I'm not sure there's anything idiosyncratic about it. Its the most obvious thng to do if you want to enumerate all material combinations in a way that can be updated incrementally.

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 10:22 pm

Chris Whittington wrote: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.
If my understanding of the reference in the provocatively derogatory phrase "attack documents" is correct, I would agree that Zach doesn't mention other points of coincidence in his. However, the first of mine (quoted in the Open Letter) mentions the other aspects [derided by various as being "unrelated" to chess-playing] of Rybka/Fruit congruence beyond just evaluation, such as the root search (Section 4 and Appendix A), hashing structures (Section 6.1), UCI parsing (Section 6.3.1), and time management (Section 6.3.2). Bob has made some exaggerations along the way, but the overall Fruit-origins of Rybka 1.0 Beta do not seem to me to one of them [if he used the word "stole", this is technically incorrect, as that word should not be applied to copyright infringement -- though I admit it would often be used in common parlance, similar to "embezzlement" not always being nuanced to "theft"].

The contention that Hyatt "loudly dominat[ed]" any phase of the Investigation is incorrect, as other than narrate the Rybka/Crafty evidence, Bob played no great role. As for the conclusion stage, Bob did vote publicly [possibly affecting the opinions of others?!], but the Report was written by MarkL, AFAIK.

Finally, I find any suggestion of "lack of time" (5.5 months) to be at best unsupported [either by evidence or argument], and most likely just plain wrong, as I argued above. Sorry if most of points here have already been stated -- it's just easier to state them again in a direct response, rather than point elsewhere. Also it now seems that I might have used "laugh test" to apply to Ed's suggestion that 5.5 months was not enough, while I meant it to apply to my own's attempts to form a reasonable alternative narrative to the Rybka development storyline. This said, I think it is incumbent upon those who suggest that 5.5 months is not often time to explain why they might specifically posit this, and not just leave it as a "possible". As a counterpoint to this, and something the Panel did discuss, it was generally accepted that, even if Rybka 1.0 Beta was Fruit-based, there was (more than) enough time for Rajlich to have re-written his engine between Dec 2005 and Jun 2006 (the first ICGA event he entered) so as to make it Fruit-free. Another possible counterpoint is to actually look at later versions in the Rybka 1 series, and note how many search changes there are, and from this determine a guess at a rate of possible development.

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 » Tue Aug 16, 2011 12:25 am

wgarvin wrote:About the material table in Rybka 1.0 Beta. Its possible that was also originally from Fruit. Fruit 2.1 has stuff in material.cpp to calculate material balances, drawishness, recognize specific endings, etc. It keeps the results in a hash table. Perhaps Vas started with that, and converted it into a pre-initialized table similar to what he did with the PST init code. Zach's report says that several of the flags stored in this table are the same between Rybka and Fruit, and also that the "game phase" calculation is done in the same way.
Simply outrageous. The man introduces something entirely new and even that must be stolen from Fruit.

Suggestive. Predefined. Tunnel vision. Unproven. Speculation.

I am speechless.

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

Re: Questions for BB about Rybka PST = Fruit PST

Post by BB+ » Tue Aug 16, 2011 1:42 am

Wylie Garvin wrote:About the material table in Rybka 1.0 Beta. Its possible that was also originally from Fruit.
[...]
Anyway, my point is just that counting the "material table" as an original part of Rybka that Vas added during those 5.5 months might be incorrect
Rebel wrote:Simply outrageous. The man introduces something entirely new and even that must be stolen from Fruit. [...]
I would say that your "must" does not equal his "possibly" as a choice of word. [And at any rate, the idea came from an article of LK, while WG's later prose suggested more of a Fruit-link via data structures]. Furthermore, he did at least give a few anecdotal points as additional adumbration regarding his suggestion, plus the exterior reason he was voicing it [not as a direct accusation per se but rather that one might be more hesitant before counting it as a time-consuming part of the 5.5 months -- a point which indeed seems to be valid, as it was pre-existent].

Perhaps you could suggest a re-phrasing of Wylie's thought in a manner you would prefer, or are you against the idea of Wylie voicing it publicly in the first place? Something like: "Maybe we should look further at this Rybka material table, as there's some issues with Fruit there that I'm not completely happy with [...]" -- but then, should we expect everyone to speak so cautiously? [And as above, I think you took (perhaps wrenched) his comment/wording out of its proper context, namely of how/whether to account the material table toward the 5.5 month timeline].
Rebel wrote:Suggestive. Predefined. Tunnel vision. Unproven. Speculation.
Which of those 5 words would correspond to Chris's conclusion regarding EVAL_COMP?
Chris Whittington wrote:BB wasn't measuring "overlap" he was measuring chess programming skill. If anybody cares to put the program ELO's against BB's "scores" he will find high correlation.
Note the lack of any doubt in his conclusion (though it was later rebutted by Adam Hair, who evidently did care), as could have been engendered by a word like "possibly". [I do, though, appreciate his suggestion that TSCP and GnuChess should be included]. If Chris was just being a gadfly devil's advocate, I don't see why Wylie's comment can't be taken the same way?
Rebel wrote:I am speechless.
I would tend not to be so theatrical. Do think Wylie's verbiage is any more transgressive than Chris's in (for instance) his "suggestive, predefined, tunnel-vision, unproven, and speculative" comments about Hyatt and the Panel?
Chris Whittington wrote: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.

Post Reply