Chris Whittington wrote:hyatt wrote:Chris Whittington wrote:hyatt wrote:Rebel wrote:BB+ wrote: Chris Whittington wrote:did you look to see what readers were being invited to read. Levy invites readers to form their own opinion after reading ..... "Simply put, Rybka's evaluation is virtually identical to Fruit's."
And after reading Rajlich's reply:
Aside from that, this document is horribly bogus. All that "Rybka code" isn't Rybka code, it's just someone's imagination. But then, maybe it is just my making of excuses for Levy that lead me to quote both parts, rather than just one...
Which document would that have been? IIRC the official documents weren't ready at that time.
And BTW, let's examine the full quote.
Code: Select all
From: Vasik Rajlich
Subject: Re: Fruit and Rybka
To: "David Levy"
Cc: "Jaap van den Herik" "Hiroyuki Iida", Larry Kaufman"
Date: Friday, February 4, 2011, 8:33 AM
Hi David,
I'm not really sure what to say. The Rybka source code is original. I used lots of ideas from Fruit, as I have mentioned many times. Both Fruit and Rybka also use all sorts of common computer chess ideas.
Aside from that, this document is horribly bogus. All that "Rybka code" isn't Rybka code, it's just someone's imagination.
Best regards,
Vas
So we have 2 admissions of Vas -
1.
I used lots of ideas from Fruit, as I have mentioned many times. (2011)
2. Vasik Rajlich:
Yes, the publication of Fruit 2.1 was huge. Look at how many engines took a massive jump in its wake: Rybka, Hiarcs, Fritz, Zappa, Spike, List, and so on. I went through the Fruit 2.1 source code forwards and backwards and took many things. (December 2005, 3 weeks after the R1 release)
So in your RE work it's only natural you came accross Fruit ideas.
Basically the ICGA has convicted Vas by his own admission, especially the one of 2011.
We didn't convict him of anything. But we DID find that he violated rule 2, which is NOT about using an idea or two here and there. Our RE stuff was not looking for ideas, it was looking for specific implementation details which go far beyond "an idea". We found that Vas violated rule 2 NOT by any statements he made, but rather by the evidence that was compiled and examined.
I'ld like to hear a relatively new and independent programmer explain what he understands one would have to do to violate rule 2 as Vas is supposed to have done, and what to do to ensure his program was in the safe side of not violating rule 2 as Vas is supposed to have done.
I doubt anyone understands. Basically you convicted him because you intended to convict him because you decided beforehand he had to be guilty (of something).
I decided he was guilty after looking at a TON of evidence presented by Zach. I became even MORE convinced after looking at the additional evidence uncovered during the panel investigation. I didn't form ANY opinion prior to seeing real, concrete evidence. You keep implying I did. You are dead wrong. The evidence was/is really overwhelming.
that doesn't answer the question.
It addresses the
accusation. I didn't convict him of anything. I formed an opinion that he violated ICGA rule 2, as did the rest of the panel that participated. I didn't form that opinion just because I wanted to. I formed it in light of a pile of evidence that was 100% convincing _to me_.
What one has to do to violate rule two is probably impossible to answer if you want a 100% all-inclusive answer. But for starters:
(1) one must not directly copy code that was written by others, except for the small pieces the ICGA has allowed in the past (i.e. endgame table code, sliding piece move generation (rotated or magic, NOT complete move generator ever).)
(2) one must not take a program and use it as a template or blueprint, with the original in one window, and writing the new code in another window, where they are effectively derivatives or non-literal copies.
(3) one must not take an existing program and simply translate it to a new language, or to a new board representation, and use that in an ICGA tournament.
A programmer KNOWS whether his program is original or mostly taken from another program. That doesn't require genius-level intellect to know. It only requires honesty.