Mike S. wrote:chrisw wrote: Obviously what went wrong was the pre-decision. To ask for source they need strong evidence already. Otherwise anybody can, in Stasi manner, wreck any competitors tournament for them.
That's what happened, and that explains my sometimes (too?) harsh wording against the ICGA. Of course, I cannot be 100% sure that List didn't contain any Crafty code, but from what was possible to read in public, I am almost sure that there was no strong evidence.
The extra funny thing about that matter is, that actually there WAS a clone participating in that tournament, as was found out later: (El) Chinito, a Crafty clone. The glorious ICGA disqualified List but not Chinito.
http://computer-chess.org/doku.php?id=c ... ngine_list
(you will notice that List or Loop is NOT in that list)
I was for quite some time a strong supporter of List not being a clone. Currently, I cannot say pro or con. At any rate, the query for source code against List was not without merit. Consider what was known at that time ...
List-460.exe {11/10/2001} embedded strings:
\List\460\A10\attacks.c
\List\460\A10\bench.c
\List\460\A10\captures.c
\List\460\A10\chessboard.c
\List\460\A10\hash.c
\List\460\A10\init.c
\List\460\A10\io.c
\List\460\A10\list.c
\List\460\A10\make.c
\List\460\A10\moves.c
\List\460\A10\next.c
\List\460\A10\opening.c
\List\460\A10\pawnhash.c
\List\460\A10\phase.c
\List\460\A10\ponder.c
\List\460\A10\recog.c
\List\460\A10\score.c
\List\460\A10\search.c
\List\460\A10\searchr.c
\List\460\A10\sort.c
\List\460\A10\test.c
\List\460\A10\timer.c
\List\460\A10\undo.c
\List\460\A10\utility.c
List-461.exe {11/3/2001} embedded strings:
F:\List\470\A8\attacks.c
F:\List\470\A8\bench.c
F:\List\470\A8\captures.c
F:\List\470\A8\chessboard.c
F:\List\470\A8\hash.c
F:\List\470\A8\init.c
F:\List\470\A8\io.c
F:\List\470\A8\list.c
F:\List\470\A8\make.c
F:\List\470\A8\moves.c
F:\List\470\A8\next.c
F:\List\470\A8\pawnhash.c
F:\List\470\A8\phase.c
F:\List\470\A8\ponder.c
F:\List\470\A8\recog.c
F:\List\470\A8\score.c
F:\List\470\A8\search.c
F:\List\470\A8\searchr.c
F:\List\470\A8\sort.c
F:\List\470\A8\test.c
F:\List\470\A8\timer.c
F:\List\470\A8\undo.c
F:\List\470\A8\utility.c
List501.dll {9/6/2002} embedded strings:
F:\List\Native\4\attacks.c
F:\List\Native\4\board.c
F:\List\Native\4\captures.c
F:\List\Native\4\hash.c
F:\List\Native\4\init.c
F:\List\Native\4\interface.c
F:\List\Native\4\list.c
F:\List\Native\4\make.c
F:\List\Native\4\moves.c
F:\List\Native\4\next.c
F:\List\Native\4\pawns.c
F:\List\Native\4\phase.c
F:\List\Native\4\recog.c
F:\List\Native\4\score.c
F:\List\Native\4\search.c
F:\List\Native\4\sort.c
F:\List\Native\4\speed.c
F:\List\Native\4\time.c
F:\List\Native\4\undo.c
F:\List\Native\4\utility.c
The following Crafty file names are exact matches:
attacks.c
hash.c
init.c
list.c
make.c
moves.c
next.c
phase.c
ponder.c
search.c
searchr.c
test.c
time.c
utility.c
Now, the naming similarities for a large number of List engine files could simply be coincidence. However, it seems enough (to me) for a request by a neutral board to examine the source code. The board that was assembled to consider the evidence was certainly trustworthy and did not contain commercial chess programmers. If information gained from this scrutiny were ever to be used to create a commercial chess engine, and it was demonstrated that the information used was innovation by Mr. Reul, then I think it would have been grounds for a really potent lawsuit.
I think the question is still unanswered:
Did List borrow from Crafty? Note that this question is perhaps more significant in the context of ICGA tournaments than the Rybka/Fruit question. That is because ICGA tournaments specifically do not allow derivative programs to compete {further, Rybka mentions the study of Fruit and List has no mention of the study of Crafty in his credits}. So even if List was a case of "study and then implement your own version", if the studied program was crafty that information being withheld could disqualify List from the tournament.
I will say that I examined some List code at one point and it was definitely not bitboard based, so List certainly was not simply a copy/paste/tweak engine. However, there is compelling evidence that at least invites the question "Did List borrow from Crafty?"
As for El-Chinito, the clone evidence simply had not been gathered at that time. Due to tips from interested parties, I did investigate El-Chinito and determined that it was (indeed) based on Crafty. I initiated conversations with Eugene {who I am convinced simply did not understand the incorrect nature of his actions when he performed them} but was not able to find any suitable resolution.