Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: define Clones - MY definition

Author: Mike S.

Date: 19:59:45 01/28/04

Go up one level in this thread


On January 28, 2004 at 20:45:06, Thomas Mayer wrote:

>the achieved improvement in strength does not play a big role... I think with
>around 10 lines of code I could make e.g. TSCP 100-200 Elos stronger... simply
>implementing nullmove... is this now a new program ? Am I in the position to
>claim that it is original ? You see that it is really not that easy. (...)

All of that sounds reasonable (although I'm somewhat surprised that everybody
must re-invent the wheel even for simplest parts as is seems :-)), but still:

It does not justify an "prove innocence" approach leading to a disqualification,
unless strong evidence was acquired. Which AFAIK wasn't. The civilised principle
is innocent unless proven guilty, not vice versa.

The *qualitiy of evidence* (or pre-evidence if that word fits better) which is
required for such a protest, has to be *exactly specified* in the rules.
Especially when later in such a case, not providing a sourcecode - for which
(other) reasons can exist - is threatened with disqualification (which
potentially can have harmful effect on reputation or even income). That cannot
be based on weak pseudo evidence.

The disqualification was in fact just based on the *protest* really, not on the
fact that the sourcecode wasn't provided. That was just a follow-up thing.)

One reason why this is necessary: Somebody who has indeed written every line of
code himself based on his very own ideas how to implement common concepts, must
be able to be *sure* that he'll never have to provide sourcecode to have it
checked by someone else. And with a rule like above, he could be 99% sure
because there just cannot be evidence in a quality required for a protest, then.

It would prevent false clone protests (unless faked).

(If routine controls of sourcecode, not protest-based, would be planned,
programmers will - or should - usually be informed before that this is possible,
so they can decide if they agree with it and join such a competition, or if they
agree not and join not.)

If such a (higher, or stronger) character of evidence required for a clone
protest is not specified in the rules, it practically means that everybody can
protest against everybody just by saying "Hey, I think X is a clone of Y because
I found move.c and hash.c in both." (Very surprising :-)) I'm also sure, if one
searches long enough he can find 2 or 3 positions where move and evaluation at a
certain depth are identical, for *every pair* of two engines although they are
no clones of each other at all.

When chess programmers are satisfied with such a situation, it shouldn't be my
concern. But it seems naive to me (or lack of phantasy).

So have always a printout of the sourcecode available with all your fine trade
secrets... maybe in one of these locked suitcases which are fixed to the arm
with a chain. :-)) And then eventually, you'll have to trust someone you don't
really know and show your code.

An illustration:

"Do you trust me? So please tell me the code number of your card for the money
automat. I won't use it, I just want to check if it's identical to XY's... :-))"

(Do you see a problem, suddenly? :-)

Regards,
Mike Scheidl



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.