Dann Corbit wrote:
The similarity in search and eval are not very condemnatory in my view.
The duplication of errors and dead code is.
I do not think that it has been demonstrated that Rybka has broken the law. But it seems to me that their finding is not unreasonable as far as breaking the conditions of the contest. While he does cite the named programs as sources of information, I find that things like initializations that only have purpose for Steven J. Edwards tablebase files being duplicated should make everyone uneasy about it.
To date, I haven't written much about the purported Rybka cloning topic as I hadn't read any of the investigatory papers. But as you can imagine, by interest in the matter grew somewhat when I first heard about the reported lifting of the en passant tablebase avoidance code from Crafty.
Bob had written this code at my request way back in the mid-1990s. Its purpose was to avoid probing any of my tablebase files if an en passant capture might influence the result and it was necessary because my tablebase generator did not understand retrograde en passant captures.
I have since read one of the referenced analysis papers that gives Crafty's code for this and a disassembly of its counterpart from Rybka.
After that and as far as I'm concerned, any further discussion deciding the copying issue is wholly unnecessary. It is far beyond any reasonable doubt that the en passant tablebase avoidance code could be innocently duplicated.
Incidentally, my current program still has its own version of the avoidance code:
Code: Select all
bool IsTablebaseEligible(void) const {return (ccmc <= TBMaxManLen) && !BothHavePawns();}