Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about definition of clones

Author: Roger D Davis

Date: 22:28:45 08/20/05

Go up one level in this thread


On August 21, 2005 at 00:06:30, Uri Blass wrote:

>On August 20, 2005 at 22:57:18, Roger D Davis wrote:
>
>>On August 20, 2005 at 22:06:24, Uri Blass wrote:
>>
>>>Suppose that somebody look at some public source code and decide to write code
>>>that does the same algorithm but with different data structure so he cannot use
>>>copy and paste for chess tasks.
>>>
>>>Do you think that the program is a clone or use code of another programmer?
>>>Do you think that the programmer should not be allowed to participate in
>>>tournaments?
>>>
>>>Note that my opinion is that the programmer should be allowed to participate
>>>because copying ideas unlike copying code is allowed but before even considering
>>>to try this idea(I am not sure if I will try it even if it is allowed) I prefer
>>>to ask this question.
>>>
>>>Uri
>>
>>IMHO, clones are code-based, not idea-based. The A-B search was somebody's idea,
>>right? If so, then we're all clones, yes?
>>
>>Even cutting and pasting of code may not be cloning if the code is already in
>>widespread use (e.g., EGTB code), or if an algorithm is known to be optimized,
>>so that any modification would be inferior.
>>
>>Conversely, cutting and pasting code that operationalizes an obscure idea in a
>>good way is the epitomy of cloning.
>>
>>Roger
>
>Thanks for your opinion.
>
>The main problem that I see is that doing the same thing with different data
>structure may also mean using the same evaluation weights and I am not sure
>if it is allowed.
>
>Part of the ideas in chess programs are about choosing correct weights and not
>only about what to evaluate.
>
>Uri

IMHO, If it's the same idea implemented in the same way, but with a different
data structure that requires modification of the code, but the same evaluation
weights...then the answer that people give is likely to depend on

1) the amount of code used
2) the significance of the code in the context of the total program. That is,
how much does the code determine the total behavior of the program?

This leads to four possibilities:

1) lots of similar code, very significant to total behavior of the program.
Likely Judgement: Obviously a Clone.

2) lots of similar code, insigificant for total behavior of the program.
Likely Judgement: Not a clone.  An example would be some extension that requires
many lines of code, and coded in a similar way...just having similar code for an
extension does not make a program a clone. The extension may not get triggered
often, for example.

3) A small amount of similar code, very significant for the total behavior of
the program.
Likely judgement: Not a clone, since the amount of code is very small.
But...others might have other ideas here.

4. A small amount of similar code, insignificant for total behavior of the
program.
Judgement: Obviously not a clone.


As the similarity of the code decreases, as the length of the code used
decreases, and as the significance of that code in the total behavior of the
program decreases, and as the extent to which the code is already in widespread
use increases (eg. EGTB code) ...the probability of a program being judged a
clone decreases.

Roger



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.