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.