Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Review of ALEXS by Larry Kaufman

Author: Dan Homan

Date: 12:53:21 02/16/99

Go up one level in this thread


This is a very difficult issue.

As an amateur chess programmer who wrote his program from
scratch, I can tell you that this whole issue makes me
angry.  The thought of some jerk copying crafty's source,
making some (perhaps extensive) modifications to the
eval and search, and passing the program off as his/her
own is very discouraging to those of us who do the work
ourselves.

The greatest gift crafty gives to someone who wants to
have a strong program without doing most of the work
themselves is its' infrastructure.  It has tablebase support,
multi-processor support, opening book/building/learning, an
advanced bitboard engine, positional learning, hash tables,
winboard support, etc... etc.... etc...

All of these components are state-of-the-art, highly
tuned and debugged, and represent years of dedicated
effort.  In addition, crafty provides an equally
advanced search and evaluation.

In my opinion, producing the infrastructure for a chess
program is the hardest part and takes the greatest amount
of time and patience.  By copying crafty's code, authors
(using the term rather loosely) avoid 98% of the work.
Sure, they can spend time to modify/test/tune the evaluation.
They can even optimize the search and extensions to fit
the eval changes they made.  The end result might play
much different (and perhaps better) than the original
they started with, but it is still 98% crafty.

The Bionic-Impakt people have admitted from that start that
they do this.  Honesty is great, and I think that
the program might grow over the years to be their own.  However,
the idea of a programmer doing this in a secret way, such
as Voyager is accused of, is particularly angering and
discouraging.

The fact that this kind of behavior is so angering
means that anyone who is accused of doing this will wear
a black mark whether they are guilty or innocent.  Because
of this, I agree that strong evidence is necessary.

The author of Voyager admits (according to your post) to
using crafty's book and hash code.  This, alone, is a
significant piece of work taken from crafty.  To make
efficient use of the book and hash code, however, it is
clear to me that a significant amount of the crafty
infrastructure was also likely to have been copied.
One cannot just lift hash and book routines from crafty
and drop them into an otherwise original program.  Bob
can answer this better than I can, but these routines
are usually integrated with other parts of the infrastructure
in such a way as to make such a cut-n-paste difficult.
(It also begs the question: if the author wrote
 the rest of the infrastructure of an advanced program,
 why borrow crafty code for the hash and book routines?)

Evidence from game play is problematic because it is so
easy to change the eval (and search) to produce different
results.  Changing them to produce better results (as you
note that Voyager seems to produce) is much harder, but certainly
not impossible, especially if the author is smart, systematic,
and performs careful testing of new ideas.

I think that getting to the bottom of the Voyager case
is going to be very difficult unless Bob has some
pretty clear-cut evidence.

 - Dan

P.S.  Another problem with this whole thing is that
any new strong program that has a style similar
to crafty's may be accused of this....
If an accused author wants to absolutely clear
his/her name, they have to cough up their source code.
However, if the author has new advanced ideas, they
probably will not want to do this.... The end
result may be to discourage all new original programs:
The weaker ones could feel like they can't compete with
what might be "hidden" crafty clones and the stronger
ones might be afraid of being accused of copying crafty's
source.  What a mess.



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