Questions for BB about Rybka PST = Fruit PST

Code, algorithms, languages, construction...
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 » Wed Aug 17, 2011 10:46 am

BB+ wrote:
Miguel Ballicora wrote:I corrected Bob already about this. The normalizing constant is embedded in the vector. So, use -1,1,2,3 rather than -3,-1,0,1 and you get Crafty numbers exactly, without even touching the multipliers and using the exact same code. Saying the you can get them with +8 is an easy way to see it.
OK, I didn't catch this. But this is no longer the Fruit ramping arrays. You've made them parameters (see below), while I insist they are not for the Rybka/Fruit comparison, where they can be taken to be the same. [The Fruit method must have, e.g., 0 at d2, when using the ramping array in question (and Crafty does not)]. If you argue that there are 8 parameters, I will say: "OK, but 4 of these 8 are the same (by whichever method, either ramping arrays or redundancies via linear relations) in F/R -- is there a similar commonality amongst your 8 parameters for other engines?"
Miguel Ballicora wrote:No, I said this already, they were not overparametrized,
Well, I guess we are going to argue about the mathematics then (and this forum is not the easiest to typeset, if it comes to that)... Fruit uses specific arrays, like -3 -1 0 1. If you view these specific arrays as "parameters" also, you add four more. But the Rybka data can be determined from the use of the same ramping arrays as Fruit (sorry for so many bolds, but this is the point). Counting these notable commonalities of Fruit/Rybka as "parameters" of a more general layout seems just plain wrong to me.
There is very little of specificity in these tables..
Here is the challenge: find another pre-2005 engine that reproduces so many PSTs via the Fruit process that recurs "overly often" in Rybka, that is without changing the "ramping arrays".
In fact, with the criteria used, Fruit Q tables and K endgame tables were cloned... from Fruit B table. They can be generated from that one, just changing the multipliers (not even the ramping array!)
Fruit made a specific choice for the ramping-array of the Bishops. Then another specific choice of ramping-array for Queens, then Kings, etc. You can indeed argue than none of these are particularly earth-shattering, but their summatory effect is exactly the point. A relevant legal quotation is: Lest we fall prey to defendants' invitation to dissect the works, however, we should remember that it is the combination of many different elements which may command copyright protection because of its particular subjective quality.
That is the point, there no lists of 10 ramping arrays, they are four or five, which the imply obvious chess knowledge. They look many because -3,-1,0+1 is repeated several times.
I think this is misguided, as the multiplicity and specificity of use matters too. If there are 5 "reasonable" lists (ABCDE) that specify some chess knowledge for any PST [say it's left-to-right increasing, such as -2,-1,0,1 and -3,-1,0,-1 and -4,-1,0,1 and 0,0,2,3 and -4,-2,0,3] , and my engine uses them for the (say) 8 PSTs as: AEDBBBEA, this is a particular choice. For your engine to choose (first the same process and then) the same AEDBBBEA usage independently would be quite rare. This is (in essence, perhaps not to degree) the gravamen of the Fruit/Rybka PST issue.
Here again you fall prey to the recurring problem with your work. Mathematical-itis, where all numbers are randomly distributed and equally likely. This was the problem that led to your ridiculous statistics of copying probability where a little chess knowledge would have told you that your "independent" values were highly dependent, of limited range and often forced.

Now you would have us believe in the random distribution of the use of potential ramping arrays ABCDE or DECBA being mere mathematical probabilities of equal happenstance. Yet you should know perfectly well that most combinations of ABCDE are rejectable on chess knowledge grounds, or would you actually be proposing making, say a knight table up from 1,2,3,4,5,6,7,8 ramped across both the x and y axis, and thus weighting your knights to go as far and as fast as possible to the corner square a8?

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 » Wed Aug 17, 2011 11:07 am

Chris Whittington wrote: Here again you fall prey to the recurring problem with your work. Mathematical-itis, where all numbers are randomly distributed and equally likely. This was the problem that led to your ridiculous statistics of copying probability where a little chess knowledge would have told you that your "independent" values were highly dependent, of limited range and often forced.

Now you would have us believe in the random distribution of the use of potential ramping arrays ABCDE or DECBA being mere mathematical probabilities of equal happenstance. Yet you should know perfectly well that most combinations of ABCDE are rejectable on chess knowledge grounds, or would you actually be proposing making, say a knight table up from 1,2,3,4,5,6,7,8 ramped across both the x and y axis, and thus weighting your knights to go as far and as fast as possible to the corner square a8?
That's my conclusion too.

BB, you can of course reject it at first glance or give it a chance.

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 » Wed Aug 17, 2011 2:48 pm

Chris Whittington wrote:
BB+ wrote:
Miguel Ballicora wrote:I corrected Bob already about this. The normalizing constant is embedded in the vector. So, use -1,1,2,3 rather than -3,-1,0,1 and you get Crafty numbers exactly, without even touching the multipliers and using the exact same code. Saying the you can get them with +8 is an easy way to see it.
OK, I didn't catch this. But this is no longer the Fruit ramping arrays. You've made them parameters (see below), while I insist they are not for the Rybka/Fruit comparison, where they can be taken to be the same. [The Fruit method must have, e.g., 0 at d2, when using the ramping array in question (and Crafty does not)]. If you argue that there are 8 parameters, I will say: "OK, but 4 of these 8 are the same (by whichever method, either ramping arrays or redundancies via linear relations) in F/R -- is there a similar commonality amongst your 8 parameters for other engines?"
Miguel Ballicora wrote:No, I said this already, they were not overparametrized,
Well, I guess we are going to argue about the mathematics then (and this forum is not the easiest to typeset, if it comes to that)... Fruit uses specific arrays, like -3 -1 0 1. If you view these specific arrays as "parameters" also, you add four more. But the Rybka data can be determined from the use of the same ramping arrays as Fruit (sorry for so many bolds, but this is the point). Counting these notable commonalities of Fruit/Rybka as "parameters" of a more general layout seems just plain wrong to me.
There is very little of specificity in these tables..
Here is the challenge: find another pre-2005 engine that reproduces so many PSTs via the Fruit process that recurs "overly often" in Rybka, that is without changing the "ramping arrays".
In fact, with the criteria used, Fruit Q tables and K endgame tables were cloned... from Fruit B table. They can be generated from that one, just changing the multipliers (not even the ramping array!)
Fruit made a specific choice for the ramping-array of the Bishops. Then another specific choice of ramping-array for Queens, then Kings, etc. You can indeed argue than none of these are particularly earth-shattering, but their summatory effect is exactly the point. A relevant legal quotation is: Lest we fall prey to defendants' invitation to dissect the works, however, we should remember that it is the combination of many different elements which may command copyright protection because of its particular subjective quality.
That is the point, there no lists of 10 ramping arrays, they are four or five, which the imply obvious chess knowledge. They look many because -3,-1,0+1 is repeated several times.
I think this is misguided, as the multiplicity and specificity of use matters too. If there are 5 "reasonable" lists (ABCDE) that specify some chess knowledge for any PST [say it's left-to-right increasing, such as -2,-1,0,1 and -3,-1,0,-1 and -4,-1,0,1 and 0,0,2,3 and -4,-2,0,3] , and my engine uses them for the (say) 8 PSTs as: AEDBBBEA, this is a particular choice. For your engine to choose (first the same process and then) the same AEDBBBEA usage independently would be quite rare. This is (in essence, perhaps not to degree) the gravamen of the Fruit/Rybka PST issue.
Here again you fall prey to the recurring problem with your work. Mathematical-itis, where all numbers are randomly distributed and equally likely. This was the problem that led to your ridiculous statistics of copying probability where a little chess knowledge would have told you that your "independent" values were highly dependent, of limited range and often forced.

Now you would have us believe in the random distribution of the use of potential ramping arrays ABCDE or DECBA being mere mathematical probabilities of equal happenstance. Yet you should know perfectly well that most combinations of ABCDE are rejectable on chess knowledge grounds, or would you actually be proposing making, say a knight table up from 1,2,3,4,5,6,7,8 ramped across both the x and y axis, and thus weighting your knights to go as far and as fast as possible to the corner square a8?
If your black has castled queen-side, I could see someone doing _exactly_ that, in fact. Not the best idea, as it implies a "root pre-processor" which can be problematic with today's deep searches. But you shot yourself right in the middle of the foot, because that is not an "impossible to imagine" approach. What about my 3 sets of king PSTs?

let's attract the king to the center:

{-40, -40, -40, -40, -40, -40, -40, -40,
-40, -10, -10, -10, -10, -10, -10, -40,
-40, -10, 60, 60, 60, 60, -10, -40,
-40, -10, 60, 60, 60, 60, -10, -40,
-40, -10, 40, 40, 40, 40, -10, -40, /* [black][64] */
-40, -10, 20, 20, 20, 20, -10, -40,
-40, -10, -10, -10, -10, -10, -10, -40,
-40, -40, -40, -40, -40, -40, -40, -40 },

Or let's attract it to the queen-side:

{-20, -20, -20, -20, -20, -20, -40, -60,
40, 40, 40, 40, 20, -20, -40, -60,
40, 60, 60, 60, 20, -20, -40, -60,
40, 60, 60, 60, 20, -20, -40, -60,
40, 40, 40, 40, 20, -20, -40, -60, /* [black][64] */
20, 20, 20, 20, 20, -20, -40, -60,
0, 0, 0, 0, 0, -20, -40, -60,
-20, -20, -20, -20, -20, -20, -40, -60 },

Or let's attract it to the king-side:

{-60, -40, -20, -20, -20, -20, -20, -20,
-60, -40, -20, 20, 40, 40, 40, 40,
-60, -40, -20, 20, 60, 60, 60, 40,
-60, -40, -20, 20, 60, 60, 60, 40,
-60, -40, -20, 20, 40, 40, 40, 40, /* [black][64] */
-60, -40, -20, 20, 20, 20, 20, 20,
-60, -40, -20, 0, 0, 0, 0, 0,
-60, -40, -20, -20, -20, -20, -20, -20 },

I mean, there is only ONE order one can use when putting a PST together right? Has to be bigger in the center, smaller as you get further away? except for those cases where bigger toward the edge is better and being in the center is not as good. And you accuse me of not having any "imagination". You have an acute case of tunnel-vision and can't see anything outside your very narrow field of view. But that doesn't mean that stuff outside of your view is not there, or not viable...

mballicora
Posts: 26
Joined: Tue Aug 09, 2011 7:58 pm
Real Name: Miguel A. Ballicora

Re: Questions for BB about Rybka PST = Fruit PST

Post by mballicora » Wed Aug 17, 2011 4:40 pm

BB+ wrote:
Miguel Ballicora wrote:I corrected Bob already about this. The normalizing constant is embedded in the vector. So, use -1,1,2,3 rather than -3,-1,0,1 and you get Crafty numbers exactly, without even touching the multipliers and using the exact same code. Saying the you can get them with +8 is an easy way to see it.
OK, I didn't catch this. But this is no longer the Fruit ramping arrays. You've made them parameters (see below), while I insist they are not for the Rybka/Fruit comparison, where they can be taken to be the same. [The Fruit method must have, e.g., 0 at d2, when using the ramping array in question (and Crafty does not)]. If you argue that there are 8 parameters, I will say: "OK, but 4 of these 8 are the same (by whichever method, either ramping arrays or redundancies via linear relations) in F/R -- is there a similar commonality amongst your 8 parameters for other engines?"
You can always fix certain parameters and make them constants. If you do that, you are adding constraints to the system. That is ok, but if you do it with one method (Zachs's) I am allowed to apply the same constraints to my code (and I end up with the same number of parameters). If you fix -3,-1,0,1, what you have is only four parameters (multipliers) and constraints like: "the edge penalty equals each of the steps of the linear ramp, and this one equals to one, and the normalization doubles it", which is one way to put the constraints into words. That is because [-3,-1,0,1] = [0,1,2,3] + [-1,0,0,0] + [-2,-2,-2,-2] (linear ramp - edgepenalty - normalization.

So, if I am allowed to apply those constraints, the I am allowed to say Edgepenalty = GeneralOpening etc for instance

static const int BishopGeneralOpening = 2;
static const int BishopBackRankOpening = 10;
static const int BishopDiagonalOpening = 4;
static const int BishopEdgePenaltyOpening = BishopGeneralOpening;
static const int BishopNormalizeOpening = -(BishopGeneralOpening+BishopGeneralOpening+BishopGeneralOpening+BishopGeneralOpening) ; /* I am stressing that I should multiply by four as constant */

/* Fruit numbers Endgame */
static const int BishopGeneralEndgame = 3;
static const int BishopEdgePenaltyEndgame = BishopGeneralEndgame;
static const int BishopNormalizeEndgame = -(BishopGeneralEndgame+BishopGeneralEndgame+BishopGeneralEndgame+BishopGeneralEndgame);,

I and end up with four parameters.
BishopGeneralOpening, BishopBackRankOpening, BishopDiagonalOpening, BishopGeneralEndgame

But if we do this, all of the sudden, you have to admit that VR did not copy any of the four parameters (my code or Zach's code) but copy the algorithm. In other words, you force the -3,-1,0,1 to be part of the algorithm (constant) rather than leaving those relaxed (parameters). I thought you did not go that way because it actually supports my concept. That is the reason I called -3,-1,0,1 parameters. This may be debatable, but no matter how you fix one of the other, I can always apply the same constraints to end up with the same number of parameters.

Of course, you can fix the normalization [-2,-2,-2,-2] to force Crafty out but I do not think that you want to argue that Crafty is any different. The normalization could come later as a modification of the piece value.
Miguel Ballicora wrote:No, I said this already, they were not overparametrized,
Well, I guess we are going to argue about the mathematics then (and this forum is not the easiest to typeset, if it comes to that)... Fruit uses specific arrays, like -3 -1 0 1. If you view these specific arrays as "parameters" also, you add four more. But the Rybka data can be determined from the use of the same ramping arrays as Fruit (sorry for so many bolds, but this is the point). Counting these notable commonalities of Fruit/Rybka as "parameters" of a more general layout seems just plain wrong to me.
There is very little of specificity in these tables..
Here is the challenge: find another pre-2005 engine that reproduces so many PSTs via the Fruit process that recurs "overly often" in Rybka, that is without changing the "ramping arrays".
Tough challenge, but it is not relevant to my point. Why pre-2005 anyway?
In fact, with the criteria used, Fruit Q tables and K endgame tables were cloned... from Fruit B table. They can be generated from that one, just changing the multipliers (not even the ramping array!)
Fruit made a specific choice for the ramping-array of the Bishops. Then another specific choice of ramping-array for Queens, then Kings, etc. You can indeed argue than none of these are particularly earth-shattering, but their summatory effect is exactly the point. A relevant legal quotation is: Lest we fall prey to defendants' invitation to dissect the works, however, we should remember that it is the combination of many different elements which may command copyright protection because of its particular subjective quality.
That is the point, there no lists of 10 ramping arrays, they are four or five, which the imply obvious chess knowledge. They look many because -3,-1,0+1 is repeated several times.
I think this is misguided, as the multiplicity and specificity of use matters too. If there are 5 "reasonable" lists (ABCDE) that specify some chess knowledge for any PST [say it's left-to-right increasing, such as -2,-1,0,1 and -3,-1,0,-1 and -4,-1,0,1 and 0,0,2,3 and -4,-2,0,3] , and my engine uses them for the (say) 8 PSTs as: AEDBBBEA, this is a particular choice. For your engine to choose (first the same process and then) the same AEDBBBEA usage independently would be quite rare. This is (in essence, perhaps not to degree) the gravamen of the Fruit/Rybka PST issue.
First of all, once you adopt a system, 0,1,2,3, it is likely that you will adopt the same for other tables. In fact, that is why Fabien re used them. So, the probabilites to have similar tables once you have one similar, increases. Second, the probabilities should be a moot point from the get go because we know VR studied (and admited it) Fruit's code. So, yes, it is not coincidence there is a similarity. That is not my point, the point is if the similarities are punishable for copying or not.

In addition, I do not agree there are so many "distinct" possibilities. For instance, -3,-1,0,1 is the same as -6,-2,0,1 (you change later a multiplier) and basically the same as 0,2,3,4 (add a constant a the end) etc. Dissecting the vector to their intrinsic "meaningful" components we see that the [0,1,2,3] is the linear ramp, no other option unless you want to make it parabolic or something more complicated. Changing the slope can be mimicked by changing a multiplier later. What a chess programmer will change is the edge penalty component (and maybe the normalization), but is there so many possibilities? Fruit uses [-1,0,0,0], you propose one option that is [0,0,0,0] and another that is [-2,0,0,0], and third one that changes both ends [+2,0,0,-1] (multiplying the ramp previously by 2) but it looks a bit less reasonable. We really do not have millions of options. Most CC programmers will chose numbers really close to each other.

Miguel

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 » Wed Aug 17, 2011 5:07 pm

As an addendum to the Knight PST going for square a8, I looked at Cray Blitz (the one with source available on the net) and found that the knight PST has two "superimposed" PST tables. The first set of values attracts the knight to the center. But then another set is added to the array to attract the knight closer to the opponent's king position. Which, if it happens to be on a8/b8/c8 would certainly be attracting the knight to that corner of the board if it can get there, otherwise it will just try to centralize and then hopefully create pawn pushes that weaken the king so that the knight can get closer.

So there is yet another way the PSTs can differ, and why just looking at fruit and rybka and saying "that is the only way they can be produced, that is why they are so similar." They are similar because one copied the other, not for lack of possibilities of divergence...

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

Re: Questions for BB about Rybka PST = Fruit PST

Post by zwegner » Wed Aug 17, 2011 6:20 pm

Rebel wrote:
Rebel wrote:I don't know and I don't care any longer. Today I made up my mind.
zwegner wrote: Why didn't you just say this earlier, and save me the time of even trying to argue with you?
You must have missed the word today ;)
Rebel wrote:What I did not like is the suggestive part, the sentiment of the document already is GUILTY and them on a total new feature, that is unique and clean the temptation could not be resisted to link it with Fruit after all...
zwegner wrote: So basically, you didn't even read what I said.
I did, just don't want to comment it, I could, but it is irrelevant. And I am pretty sure you understood it that way. ;)

To speak with the famous words of Vas, I went through the documents forwards and backwards and rejected many things.
And what has changed now? Did you not read all the documents before?

What I don't understand is that you can criticize me for being suggestive in a case where there is an undeniable similarity with Fruit. Am I supposed to not point it out? It could even be considered a "bomb" of some sorts that the phase value stored in the material table is extrapolated from 0-24 to 0-64 (in Fruit the exact same value is extrapolated to 0-256, but that doesn't fit in a byte), and that value is used as an index into a table. So why is the extrapolation done, requiring a 65-element table, of which only 25 can ever possibly be accessed? Why not just store 0-24? The answer is pretty obvious to me...

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 » Wed Aug 17, 2011 8:15 pm

zwegner wrote:And what has changed now? Did you not read all the documents before?
Yep, read them with the ballast of the 0.0 thing, thus with a subjective (Vas is guilty) mind. Taking the opposite road (Vas is innocent) while rereading the documents a new world opened.

Which raises the question for me if during the panel talks you faced some real opposition.

If you compare the opposition during the panel talks with the opposition of Chris, Miguel and me, then what would be your opinion ?

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

Re: Questions for BB about Rybka PST = Fruit PST

Post by BB+ » Wed Aug 17, 2011 8:50 pm

BB+ wrote:I think this is misguided, as the multiplicity and specificity of use matters too. If there are 5 "reasonable" lists (ABCDE) that specify some chess knowledge for any PST [say it's left-to-right increasing, such as -2,-1,0,1 and -3,-1,0,-1 and -4,-1,0,1 and 0,0,2,3 and -4,-2,0,3] , and my engine uses them for the (say) 8 PSTs as: AEDBBBEA, this is a particular choice. For your engine to choose (first the same process and then) the same AEDBBBEA usage independently would be quite rare. This is (in essence, perhaps not to degree) the gravamen of the Fruit/Rybka PST issue.
Chris Whittington wrote:Here again you fall prey to the recurring problem with your work. Mathematical-itis, where all numbers are randomly distributed and equally likely. This was the problem that led to your ridiculous statistics of copying probability where a little chess knowledge would have told you that your "independent" values were highly dependent, of limited range and often forced.

Now you would have us believe in the random distribution of the use of potential ramping arrays ABCDE or DECBA being mere mathematical probabilities of equal happenstance. Yet you should know perfectly well that most combinations of ABCDE are rejectable on chess knowledge grounds, or would you actually be proposing making, say a knight table up from 1,2,3,4,5,6,7,8 ramped across both the x and y axis, and thus weighting your knights to go as far and as fast as possible to the corner square a8?
I think you are greatly distorting my example. I gave five arrays, all of which are nearly of the same nature. This is not too much like your version of it, where as you say, the numbers run off to (deliberate) silliness. I might agree that the split between my five is not exactly 20% each, but all seem a reasonable choice for any given centralisation element, and indeed switching between some of these (in the PST calculation) was one of the specific things that was done between 2 relevant Rybka versions [one of the few eval changes from R1 to R232a]. Which of my five would you reject on "chess knowledge grounds" for a centralisation pattern?
Rebel wrote:If you compare the opposition during the panel talks with the opposition of Chris, Miguel and me, then what would be your opinion ?
I would say that the Panel has more substantive comments in putative defense of VR, some of which led to the omission of various elements in the final Report.

The main useful remark I've seen from ChrisW is that EVAL_COMP might have considered including easily available and popular programs like TSCP and GnuChess -- Charles Roberson made a similar comment about RESP and EXchess [which is why they were included]. Much of his other comments, besides being overtly rude, either don't address the issues [sometimes due to his opposition to copyright concepts for computer code in general, it seems], or are more of "possible suggestions" w/o much argumentation/evidence for them (such as EVAL_COMP being overly correlated with skill).

I think Miguel's reconstruction of PSTs via a different means, when the Fruit process is sitting there all along as an explanatory "Occam's Razor", is too unlikely for the investigation itself to consider -- just a general procedural principle, if an investigation were expected to invest a lot of time into all such "possibilities", nothing would ever conclude (as per Forum argumentation). OTOH, if Rajlich were to specifically raise (and swear to, in court, with penalty of perjury) the contention that he did in fact use a different PST process, that would be a different matter, and indeed one should take it more seriously.

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 » Wed Aug 17, 2011 9:10 pm

OTOH, if Rajlich were to specifically raise (and swear to, in court, with penalty of perjury) the contention that he did in fact use a different PST process, that would be a different matter, and indeed one should take it more seriously.
Or if he just simply showed some code as I did, and I am in the process of producing some cluster runs showing that the -8 bias to center things is pretty near optimal. I have (so far) run -18 (an extra -10 per square) and the Elo dropped by 5. At +2 (-8 + 10) the Elo is down by -8 with the test almost completed. I am trying +/-20 and +/- 30, and +/- 5 to see if the "default" is right at the inflection point on the Elo curve I get from these tests. Cluster was idle, seemed like an interesting question since the eval has changed a lot since that "bias" was tuned, I thought it might be interesting to see if (a) a better bias now exists; and (b) what changing the bias by relatively small amounts will actually do the Elo (seems to lower it, but more once the test finishes...)

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

Re: Questions for BB about Rybka PST = Fruit PST

Post by BB+ » Wed Aug 17, 2011 9:23 pm

Miguel Ballicora wrote:
BB+ wrote:Here is the challenge: find another pre-2005 engine that reproduces so many PSTs via the Fruit process that recurs "overly often" in Rybka, that is without changing the "ramping arrays".
Tough challenge, but it is not relevant to my point. Why pre-2005 anyway?
The reason why I said this is that after 2005, many more engines became Fruit-influenced, and the exercise is easy. I would still argue that the PST ramping arrays are exactly the point in the Fruit/Rybka comparison. Once one specifies the process that is apparent in Fruit 2.1, from the Rybka data one derives ramping arrays that are overly common with Fruit's choices for the same. This is not true if you change the process (for instance, you might use the Fruit 1.0 method), but then I've argued that the assumption of this process is a reasonable one.
First of all, once you adopt a system, 0,1,2,3, it is likely that you will adopt the same for other tables. In fact, that is why Fabien re used them.
On the contrary, I would note he has three different "centralisation" tables, -4 -2 0 1 (for knights), -3 -1 0 1 (for kings/queens/bishops, and pawn files), and -2 -1 0 1 for rooks. If he had used the same -3 -1 0 1 throughout, I might conclude differently. Rybka happens to diverge from the "mainstream" case at the same junctures (R/N) that Fabien did, and in the same way. My understanding of copyright law is that is exactly the sort of nuance that is distinctive of a work, particularly when considering an overall pattern/picture.
In addition, I do not agree there are so many "distinct" possibilities. For instance, -3,-1,0,1 is the same as -6,-2,0,1 (you change later a multiplier) and basically the same as 0,2,3,4 (add a constant a the end) etc
My guess is the first should be -6,-2,0,2. I would say the list of "obvious" transforms ends there (scaling and adding), so what is in your "etc" besides their combination? If you note, I carefully ensured that none of mine were equivalent under such affine linear transformations, though all were (unlike CW's example) giving some criterion for centralisation.
[-4,-1,0,1] [-3,-1,0,1] [-2,1,0,1] [0,0,2,3] [-4,-2,0,3]
Fruit uses [-1,0,0,0], you propose one option that is [0,0,0,0] and another that is [-2,0,0,0], and third one that changes both ends [+2,0,0,-1] (multiplying the ramp previously by 2) but it looks a bit less reasonable. We really do not have millions of options. Most CC programmers will chose numbers really close to each other.
The point is: computer chess programmers do have some options (~3 here, for just this one choice), and that the numbers for F/R are not "really close", but precisely the same in too many cases, and in distinctive ways. As above, I don't think this is untypical for the sort of commonalities in copyright/originality/plagiarism when there is a general store of knowledge. A relevant case law quotation: [...] the transgression in its unauthorized appropriation is not to be neutralized on the plea that 'it is such a little one'.

Post Reply