hyatt wrote:Rebel wrote:hyatt wrote:Rebel wrote:Chris Whittington wrote: I would say your 0.8 for the rook-pawn code is an outrageous mistake. And I'm being kind calling it a mistake.
Yup.
Let's consider the
main message Zach and Mark uttered :
Mark Watkins: I think the case for "copyright infringement" (or plagiarism) of the evaluation function as a whole is quite weighty, particularly when combined with the various other Fruit 2.1 bits that appear here-and-there in Rybka 1.0 Beta.
Zach Wegner: Simply put, Rybka's evaluation is virtually identical to Fruit's.
Then there are 2 ways to write an EVAL_COMP, the way Mark did, measuring the similarity between 8 engines, OR a SINGLE measuring between the 2 itself BASED on the accusation above. You get total different numbers.
Ain't that so?
No. Because then the question would be "how similar are others?" He tried to answer that. The PANEL folks that raised the issue made that suggestion. Otherwise you would be complaining "But we don't know how others fare when compared like this." And I do not see how you would get "totally different results". You get "more results" since there are more programs in the mix.
I don't know even where to begin what's wrong with EVAL_COMP. Here is minor yet real funny one.
Evaluation bishop pair. Watkins similarity is 0.3
Fruit - classic evaluation
Rybka - no code at all, it's pre calculated in the MIT (material imbalance table)
Meaning,
IN THE LIGHT OF THE ACCUSATION Rybka's eval is (ahem)
virtual indentical to Fruit --> 0.0 similarity.
So if A counts the bishops and says ">1 is good", and B looks that up in a table that says ">1 is good" those are fundamentally different? I've already pointed out the hole in that, but here goes, once again.
Crafty count's mobility in a non-traditional way, where each square attacked is NOT weighted equally. There used to be code in the evaluation that would (a) generate bishop attacks; (b) extract an equally-weighted set of squares from that and add to total; (c) repeat for the next set of equally weighted squares, until all are done.
Today, rather than generating the bishop moves, I do a magic lookup into a table where these squares have already been summed, weighted and totaled. I get EXACTLY the same number for the same position, using either approach. The last takes almost no time, however.
Are those "fundamentally different"? I don't think so. If someone uses a pawn hash, is that fundamentally different from someone that doesn't, even if their pawn evaluation matches exactly other than that? I don't think so.
Your definition of "fundamentally different" is "fundamentally flawed."
The bishop pair is a well known chess heuristic. It says "2 bishops is good" and better than "1 bishop" or "0 bishop". Therefore chess programmer, he count bishops and say if count>1 then bonus.
You are aware that copyright law and obviously by extension via extraction all the way up to the imaginary "ideas law" via "plagiarism law", holds that there are many cases where identical/similar code/expressions are NOT copyright breaches (by extension not plagiarism, nor ideas breaches)? In this case the COUNTING is effectively: a) public domain and b) very simple and c) the best way, if not the only way. Therefore, copyright law (extend to plagiarism and ideas) says FILTER this one OUT. We can't consider it.
When you add that the concepts are coded COMPLETELY DIFFERENTLY in R and F then the question arises: WTF are you even thinking about this? Pass it. Next code segment ...
Obviously though, it is very convenient and nice for you to include it is the "similarity list", because by then everybody should have forgotten that it should have been filtered out. So you get one more point against Vas than you should do, and it all adds up. You can't add apples and oranges to get a count of oranges, any more than you can "possibly copied similarities" to "similar things that are filtered out and not counting as copied" to get a count of possible copied similarities. It's called CHEATING.
Re Crafty. Who cares what you do? Neither Fruit nor Rybka carry out your convoluted tinkering around on mobility code (-600 ELO additive), they just do a quick and dirty mobility count, the same as everybody with a YOUNG program. Tinkering comes much later, by loser programmers who can't understand their -600 ELO failures. The loser programs then have a huge "original" component list brought about by tinkering in desperation for those elusive ELO points.
Basic, quick, dirty, mobility should also be filtered. It"'s public domain and a well known formula. Can't be copied. Shouldn't be included in the "copied" list. But, of course, it is very convenient for you to include yet another "supposed to be filtered out", non-copy case because it all adds up, and then everybody forgets you added apples and oranges and you can create a 6 sigma outlier with 1 in 100000000000 gazillion alleged chance of not being copied and make a pretty graphic for icga to put in its report. MISLEADING. Also basically a CHEAT.