Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: when is a clone a clone?

Author: José Carlos

Date: 06:31:18 11/28/03

Go up one level in this thread


On November 28, 2003 at 06:52:45, Odd Gunnar Malin wrote:

>On November 28, 2003 at 06:44:48, Tord Romstad wrote:
>
>>On November 28, 2003 at 06:12:43, Odd Gunnar Malin wrote:
>>
>>>On November 28, 2003 at 05:00:49, martin fierz wrote:
>>>>
>>>>how much foreign code is allowed?
>>>
>>>None.
>>
>>My engine is completely different from Crafty in almost every possible
>>way.  I don't have a single bitboard in my code.  I do lots of
>>eval-based extensions, reductions and forward pruning.  My qsearch is
>>quite big and contains many checks and other non-capturing moves.
>>Qsearch is hashed.  My eval is used to locate mate threats, hanging
>>pieces, forks, pinned or overloaded pieces and similar tactical motifs.
>>My search algorithm is MTD(f) rather than PVS.  In short, my whole
>>approach to chess programming is radically different to Bob Hyatt's,
>>and there is very little in Crafty's source code which has any interest
>>to me.
>>
>>But still, my 64-bit random number generator is copied directly from
>>Crafty's source code.  Does this make my engine a clone?  If you or
>>somebody else thinks the answer is "yes", I will consider replacing
>>the random number code in my next version, even though it will force
>>my users to download the opening book again.
>>
>>Tord
>
>If you took it as it is without testing, yes I would think so.


  I disagree. I did not write the function to send text to a file (fprintf) nor
the code to measure time nor the code to check for a key pressed. What's so
different between these things and a random number generator? If I used rand(),
would it also be cloning?
  I use Bob's numbers. I asked permission from him. He said "feel free". So
what's the problem?


>If you took his
>idea and learned it from Knuth's book, I guess it would be right.


  I read Pepito's code. I saw an interesting idea. At the end of the eval
function he did something like:

  return score - (score % 3);

  Ok. I see the idea. I understand it. I find it interesting 'cause I can get
more cutoffs without losing too much accuracy. Obviously, the implementation of
this simple idea will be almost equal in every program, no matter if you use
bitboards or 0x88. Can I use it or would it be cloning?
  IMO, these simple things can't be copyrighted, simply. It doesn't make sense.

  José C.



>I did allmost
>the same but I stoped because I didn't have the source of his magic numbers or
>any other magic number. I added instead the random generator two pages later in
>Knuth's book. But I have to admit that I have several random generators masked
>out in my code that I put in to check when I have debugged the hash for some
>days.



This page took 0 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.