Page 1 of 21
What do you folks make of this ?
Posted: Sun Jun 27, 2010 2:23 pm
by Robert Flesher
Posted: Sun Jun 27, 2010 1:06 pm Post subject: What do you folks make of this?
--------------------------------------------------------------------------------
Reading the forums regarding the Ipp* and family issue lead me to a very interesting post from Vas himself , this is a direct copy from the Rybka forum :
By Vasik Rajlich Date 2008-08-25 12:29 This discussion looks like a complete mess, I see wild statements like:
> --I noted earlier that the history initialization was different. Strelka and Rybka 1.0 are the same here, using memset(History, 256, 12 * 64 * sizeof(int)); But what I didn't notice is, 256 is out of range for an unsigned char. So that code is the same as Fruit's memset(History, 0, 12 * 64 * sizeof(int)); Why would Rybka 1.0 have 256? Is it the optimizer gone wild, or a deliberate attempt at obfuscation?
Maybe somebody can summarize the points.
Generally, code theft is easy to show - just show the two sections of identical code, side-by-side. There isn't much to debate in such cases. Rybka is of course original (with some accepted exceptions like bit scans & bit counters, etc). Strelka contains Rybka code. Whether Strelka also contains Fruit code, I don't know and don't really care.
Re. algorithms and structures - sure, you'll get a lot of similarity between programs. Take something like "modern move ordering" - by this, I mean hash move, non-losing captures (by MVV/LVA), killers, non-captures, and losing captures. The chance of two programmers settling on this independently is more or less zero.
Here we have a statement from Vas himself saying how easy it is to prove that the Ipp* and other are clones. Yet he has not done this ? I know some will say, "why should Vas have to do this ? " I answer, what harm can be done ? If they are truly clones, the open source of the Rybka code if already available all over the internet. Logically, it cannot make any sense. However, what does make appear to make sense is that this same conclusion that Vas came to also applies to parts of Rybka being a direct copy of Fruit. This would indeed explain his reluctance to come forth with evidence.
This is just one possibility among many, maybe Vas will still explain. I will not hold my breath.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 3:46 pm
by LetoAtreides82
From what I understand there is nothing in Rybka 1 Beta that is a direct identical copy of Fruit.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 4:36 pm
by hyatt
That would be completely wrong.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 5:02 pm
by Robert Flesher
LetoAtreides82 wrote:From what I understand there is nothing in Rybka 1 Beta that is a direct identical copy of Fruit.
Perhaps you should give this a looksee then.
https://webspace.utexas.edu/zzw57/rtc/eval/eval.html
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 6:07 pm
by Chris Whittington
The expert witness had already found the defendant guilty. All that remained was the writing of a suitable report. The language is biased, the reader is told what to think, where there are dissimilarities the reader is assured, for example, 'this is done for optimisation reasons only' and is left to assume the dissimilarity doesn't really exist. Where Rybka uses tables, the expert witness 'recreates' the code he imagines was used to build the table data (although he never saw the code in binary form!) and unsurprisingly it matches directly with Fruit code - well, if you want to find/prove something and are sufficiently biased and committed to the result ...... Please read that last bit carefully, again: the expert witness took a lookup table of data, imagined up the code required to recreate that data (this without access to the program that created the data which he has never seen), wrote the code as identical to some Fruit source, and says "it's the same, but optimised". Ridiculous, but it gets worse in this same code section ..... for the sub-function called in the above that looks at pawn defence in front of the king returns completely different values for each program, the sub-functions are given the same name by the witness, but they do different things. And, lastly on this section, what program doesn't look in some way at open files in front of the king? Just not good enough.
In king_safety as another example both Fruit and Rybka look at piece attacks on the eight squares around the king. Er, who doesn't do this? But it is treated as a similarity proof. The expert witness skips over the fact that Rybka does it all very fast with btiboards (who wouldn't with a bb program?), while Fruit code is longer and slower, done without bb's (well it would be wouldn't it?). We're told that the 'sum of weights' for the attacks are different for each program, but the fact that pawns are treated as zero (what a surprise!!) is yet more 'proof' of similarity, while all differences (massive I would imagine) are just the result of 'optimisation' (again). Hahahaha!!!
Just for starters.
In a court the witness document would be torn apart and rapidly discredited. I am shocked that elements of comp chess community have placed so much weight on it.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 7:06 pm
by hyatt
Chris Whittington wrote:
The expert witness had already found the defendant guilty. All that remained was the writing of a suitable report. The language is biased, the reader is told what to think, where there are dissimilarities the reader is assured, for example, 'this is done for optimisation reasons only' and is left to assume the dissimilarity doesn't really exist. Where Rybka uses tables, the expert witness 'recreates' the code he imagines was used to build the table data (although he never saw the code in binary form!) and unsurprisingly it matches directly with Fruit code - well, if you want to find/prove something and are sufficiently biased and committed to the result ...... Please read that last bit carefully, again: the expert witness took a lookup table of data, imagined up the code required to recreate that data (this without access to the program that created the data which he has never seen), wrote the code as identical to some Fruit source, and says "it's the same, but optimised". Ridiculous, but it gets worse in this same code section ..... for the sub-function called in the above that looks at pawn defence in front of the king returns completely different values for each program, the sub-functions are given the same name by the witness, but they do different things. And, lastly on this section, what program doesn't look in some way at open files in front of the king? Just not good enough.
In king_safety as another example both Fruit and Rybka look at piece attacks on the eight squares around the king. Er, who doesn't do this? But it is treated as a similarity proof. The expert witness skips over the fact that Rybka does it all very fast with btiboards (who wouldn't with a bb program?), while Fruit code is longer and slower, done without bb's (well it would be wouldn't it?). We're told that the 'sum of weights' for the attacks are different for each program, but the fact that pawns are treated as zero (what a surprise!!) is yet more 'proof' of similarity, while all differences (massive I would imagine) are just the result of 'optimisation' (again). Hahahaha!!!
Just for starters.
In a court the witness document would be torn apart and rapidly discredited. I am shocked that elements of comp chess community have placed so much weight on it.
If one tries to compare an array of values against a function's return value, how else do you compare them? You can print a table produced by repeated calls to the function. Or you can use the ideas in the function to create a table that can be printed out. What matters is that (a) the two sets of values are similar or identical; (b) that the code to initialize the table compares favorably to the code in the function, when the function is converted into code to initialize the table.
I don't follow the reasoning that says if program A has a set of values and program B has a function, and even if you index the array or call the function with the same argument and get the same result, they are not closely related. I didn't notice you are anyone complaining about this in the Rybka / IP* case. Where rybka has tables and ip* has a function and vice versa. Consistency _is_ required here...
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 7:41 pm
by Chris Whittington
hyatt wrote:Chris Whittington wrote:
The expert witness had already found the defendant guilty. All that remained was the writing of a suitable report. The language is biased, the reader is told what to think, where there are dissimilarities the reader is assured, for example, 'this is done for optimisation reasons only' and is left to assume the dissimilarity doesn't really exist. Where Rybka uses tables, the expert witness 'recreates' the code he imagines was used to build the table data (although he never saw the code in binary form!) and unsurprisingly it matches directly with Fruit code - well, if you want to find/prove something and are sufficiently biased and committed to the result ...... Please read that last bit carefully, again: the expert witness took a lookup table of data, imagined up the code required to recreate that data (this without access to the program that created the data which he has never seen), wrote the code as identical to some Fruit source, and says "it's the same, but optimised". Ridiculous, but it gets worse in this same code section ..... for the sub-function called in the above that looks at pawn defence in front of the king returns completely different values for each program, the sub-functions are given the same name by the witness, but they do different things. And, lastly on this section, what program doesn't look in some way at open files in front of the king? Just not good enough.
In king_safety as another example both Fruit and Rybka look at piece attacks on the eight squares around the king. Er, who doesn't do this? But it is treated as a similarity proof. The expert witness skips over the fact that Rybka does it all very fast with btiboards (who wouldn't with a bb program?), while Fruit code is longer and slower, done without bb's (well it would be wouldn't it?). We're told that the 'sum of weights' for the attacks are different for each program, but the fact that pawns are treated as zero (what a surprise!!) is yet more 'proof' of similarity, while all differences (massive I would imagine) are just the result of 'optimisation' (again). Hahahaha!!!
Just for starters.
In a court the witness document would be torn apart and rapidly discredited. I am shocked that elements of comp chess community have placed so much weight on it.
If one tries to compare an array of values against a function's return value, how else do you compare them? You can print a table produced by repeated calls to the function. Or you can use the ideas in the function to create a table that can be printed out. What matters is that (a) the two sets of values are similar or identical; (b) that the code to initialize the table compares favorably to the code in the function, when the function is converted into code to initialize the table.
I don't follow the reasoning that says if program A has a set of values and program B has a function, and even if you index the array or call the function with the same argument and get the same result, they are not closely related. I didn't notice you are anyone complaining about this in the Rybka / IP* case. Where rybka has tables and ip* has a function and vice versa. Consistency _is_ required here...
your argument is all very fine and dandy, were it to fit the facts of the case I referred to
your case (a) above (
What matters is that (a) the two sets of values are similar or identical) is not met as the two sets of values are very different both in scale and in relation to each other. Since they are not the comparison between the code in Fruit and the lookuptable data in Rybka is completely misleading, he shouldn't have even tabled up the comparison without a huge "THIS DOES NOT PROVE ANYTHING" written next to it. I can see that skim-reading Zach's report will easily lead to the conclusion of rip-off, but actually reading it and cross-checking brings about an entirely different conclusion, namely that this report appears to have been written by the prosecution with one intent in mind. Guilt and conviction.
Almost lastly please don't try and tar me with being in some sort of manufactured group pro or anti nonsense that ravages the comp chess fora. I just make my own mind up quite individually on all cases. I happen to broadly agree with you re IPPO (and therefore not with Vas) but disagree with you over Rybka (and therefore agree with Vas this time).
Finally your ad hominem defense to Rolf at CCC slandering me (untruthfully btw, I was banned by Schwartz of ICD since I was the only person in the FG to oppose links or influence by the shop, and Schwartz wanted to get his influence in, and that meant me out), comes across as a bit desperate. I expect you to argue on facts and not ad hominems.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 9:55 pm
by hyatt
Feel free to quote this "ad hominem" you refer to. I have no idea what you are talking about, otherwise.
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 10:05 pm
by Robert Flesher
Chris Whittington wrote:
The expert witness had already found the defendant guilty. All that remained was the writing of a suitable report. The language is biased, the reader is told what to think, where there are dissimilarities the reader is assured, for example, 'this is done for optimisation reasons only' and is left to assume the dissimilarity doesn't really exist. Where Rybka uses tables, the expert witness 'recreates' the code he imagines was used to build the table data (although he never saw the code in binary form!) and unsurprisingly it matches directly with Fruit code - well, if you want to find/prove something and are sufficiently biased and committed to the result ...... Please read that last bit carefully, again: the expert witness took a lookup table of data, imagined up the code required to recreate that data (this without access to the program that created the data which he has never seen), wrote the code as identical to some Fruit source, and says "it's the same, but optimised". Ridiculous, but it gets worse in this same code section ..... for the sub-function called in the above that looks at pawn defence in front of the king returns completely different values for each program, the sub-functions are given the same name by the witness, but they do different things. And, lastly on this section, what program doesn't look in some way at open files in front of the king? Just not good enough.
In king_safety as another example both Fruit and Rybka look at piece attacks on the eight squares around the king. Er, who doesn't do this? But it is treated as a similarity proof. The expert witness skips over the fact that Rybka does it all very fast with btiboards (who wouldn't with a bb program?), while Fruit code is longer and slower, done without bb's (well it would be wouldn't it?). We're told that the 'sum of weights' for the attacks are different for each program, but the fact that pawns are treated as zero (what a surprise!!) is yet more 'proof' of similarity, while all differences (massive I would imagine) are just the result of 'optimisation' (again). Hahahaha!!!
Just for starters.
In a court the witness document would be torn apart and rapidly discredited. I am shocked that elements of comp chess community have placed so much weight on it.
Thanks for your input Chris. Many of us here are not programmers so we cannot make the assessment that you and other experts can. So then we are forced to make a conclusion based on what other experts say about the evidence or document. Zach's report was not really questioned until now (from what I have seen), so there was no reason to doubt its claims. However, other than stating you feel it is slanted and biased could you further clarify for the rest of us. Is it accurate? Could you dumb it down for the rest of us non technical idiots?
Thanks
Re: What do you folks make of this ?
Posted: Sun Jun 27, 2010 10:07 pm
by Chris Whittington
hyatt wrote:Feel free to quote this "ad hominem" you refer to. I have no idea what you are talking about, otherwise.
who cares? read your own post at CCC. I'm more interested in this .....
your argument is all very fine and dandy, were it to fit the facts of the case I referred to
your case (a) above (
What matters is that (a) the two sets of values are similar or identical)
is not met as the two sets of values are very different both in scale and in relation to each other. Since they are not the comparison between the code in Fruit and the lookuptable data in Rybka is completely misleading, he shouldn't have even tabled up the comparison without a huge "THIS DOES NOT PROVE ANYTHING" written next to it. I can see that skim-reading Zach's report will easily lead to the conclusion of rip-off, but actually reading it and cross-checking brings about an entirely different conclusion, namely that this report appears to have been written by the prosecution with one intent in mind. Guilt and conviction.