Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: define Clones - MY definition

Author: Thomas Mayer

Date: 23:36:59 01/28/04

Go up one level in this thread


Hi Michael,

>> 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:

You get me wrong... Nobody must re-invent the wheel - most common technics are
very well explained in several books and papers. Besides, Nullmove is not that
simple, there are many ways how you can implement it - the code in lines might
be very less, but the thoughts behind it are not. Also you simply CAN'T use
Crafty code when the rest of your program is original - it would not fit to your
structures. You must rewrite it then... Crafty (and other open source project)
gives you the chance to understand how it could be done -> I think that is what
Bob wants - he sees it like an exchangement of ideas and he teach us how it can
be done.
Of course there is also Crafty SE from Mike Byrne -> he has spent for sure MANY
hours to create all the personalities but he will never say that his version is
in a hole his own creation... and of course he can't take part in any tournament
with it without permission of Bob - that is stated pretty clear in the main.c of
Crafty:

*  Crafty, copyright 1996-2001 by Robert M. Hyatt, Ph.D., Associate Professor *
*  of Computer and Information Sciences, University of Alabama at Birmingham. *
*                                                                             *
*  All rights reserved.  No part of this program may be reproduced in any     *
*  form or by any means, for other than your personal use, without the        *
*  express written permission of the author.  This program may not be used in *
*  whole, nor in part, to enter any computer chess competition without        *
*  written permission from the author.  Such permission will include the      *
*  requirement that the program be entered under the name "Crafty" so that    *
*  the program's ancestry will be known.                                      *
*                                                                             *
*  Copies of the source must contain the original copyright notice intact.    *
*                                                                             *
*  Any changes made to this software must also be made public to comply with  *
*  the original intent of this software distribution project.  These          *
*  restrictions apply whether the distribution is being done for free or as   *
*  part or all of a commercial product.  The author retains sole ownership    *
*  and copyright on this program except for 'personal use' explained below.   *
*                                                                             *
*  personal use includes any use you make of the program yourself, either by  *
*  playing games with it yourself, or allowing others to play it on your      *
*  machine,  and requires that if others use the program, it must be clearly  *
*  identified as "Crafty" to anyone playing it (on a chess server as one      *
*  example).  Personal use does not allow anyone to enter this into a chess   *
*  tournament where other program authors are invited to participate.  IE you *
*  can do your own local tournament, with Crafty + other programs, since this *
*  is for your personal enjoyment.  But you may not enter Crafty into an      *
*  event where it will be in competition with other programs/programmers      *
*  without permission as stated previously.                                   *
*                                                                             *

> It does not justify an "prove innocence" approach leading to a
> disqualification, unless strong evidence was acquired. Which AFAIK wasn't.

well, you are no programmer -> for programmers the strong evidence was
definitely shown... The similarities were to much to be sure that everything is
really only randomness. It still could be the case, but the Jury did get
suspicious...
I don't know really where I did read it, but someone said that when you feel
with something as a participant uncomfortable it is better to ask the Jury about
it then to hide your uncomfortableness... The person that complaint did feel
uncomfortable enough...

Let's take a look at the rules of the event:

2. Each program must be the original work of the entering developers.
Programming teams whose code is derived from or including game-playing code
written by others must name all other authors, or the source of such code, in
their application details. Programs which are discovered to be close derivatives
of others (e.g., by playing nearly all moves the same), may be declared invalid
by the Tournament Director after seeking expert advice. For this purpose a
listing of all game-related code running on the system must be available on
demand to the Tournament Director.

such a rule is not uncommen, at the IPCCC at Paderborn (which is besides, since
this year an ICGA event !) there is an identical rule.

One of the problem is that you can only be sure that someone uses part of
sources of another one when you have seen part of the code... So there is some
need for such a rule... Of course the shown evidence for the complain must be
strong enough - as I stated above, in the case of List it was... Only when
somebody is really stupid, like this Dennis Grafen was with Depp <9> you can
really prove things -> besides, it would have been not easy to really prove his
first Tiger-clone he has used at the Online Masters. The rules of the Online
Masters not even have a rule for such cases. Afaik. What would you have done if
Dennis had said that it is his original work ? Not doing anything because
innocence first ?

> 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.

you can't -> how will you specify this ? It will NEVER fullfill at the needs...

> 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.

It was neither weak nor pseudo ! For programmers it was enough to get
suspicious. Besides, you may think totally wrong about providing sourcecode... I
was explained that this usually works fully different then you think... Of
course the source code must never leave your PC, also you must not show all
parts -> tricks are money, especially for the professionals... First you may be
asked some basic questions about algorithms etc... next you may be asked to show
some structures, like the structure of your hashtable, bookcode, moves etc...
Maybe they want to see some parts of your eval... Then you may be asked to
compile it and to reproduce some of the moves made by the engine... (Of course
everyone knows that not every move is reproduceable, so when it can't reproduce
all moves then nothing is wrong) - at this point usually it is clear wether it
is based on something else or not... this would for sure not take longer then
maybe an hour, even less I think... and I think in this short time nobody can
understand or even find the secrets of your engine...

Of course it is unsure what a professional would do in such a situation - well,
so far it did not happen... (Maybe I am wrong and Bob can tell us some story's
from history)

> 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.)

In fact it was based on disrespect to the rules and the jury... as somebody else
stated here already -> cut & paste is like doping... if you refuse the
doping-test in a championship you will be disqualified also... it is to bad in
my opinion that this happens very often AFTER the championship - many must give
back there medals which make every Champion e.g. in athletics doubtful - that's
ashaming -> that's ashaming, especially for the honest athlets...

> (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.)

of course this is part of the rules in nearly every serious computer chess
event. It's a must, in my opinion -> else you would attract strange persons...
Like doping tests are a must nowadays...

> just by saying "Hey, I think X is a clone of Y because
> I found move.c and hash.c in both." (Very surprising :-))

You know that there was WAY more... and some very uncommon names... You may
search through the available open source projects -> you will not find so many
similarities... Of course it is not enough evidence to be sure that it is a
clone -> but it is definitely enough to get suspicious.

> And then eventually, you'll have to trust someone you don't really know and
> show your code.

As I said -> this will not be handled like you think... I described it above how
it may be handled.

Greets, Thomas



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.