Author: Robert Hyatt
Date: 10:39:15 11/09/05
Go up one level in this thread
On November 09, 2005 at 10:11:11, Camp Troll wrote:
>Hello, Dr.Hyatt.
>I added following lines to see if it works when move is found from hash table.
>When Crafty runs, it prints a lot of illegal hash move statement.
>For example, it prints "Illegal hash mvoe i = 10 null".
>OutputMove() is null.
>Is this normal?
>
> if (pv->pathh == 1) {
> for (i = pv->pathl + 1; i < MAXPLY; i++) {
> HashProbe(tree, i, 0, wtm, &dummy, dummy, &dummy);
> if (tree->hash_move[i] && LegalMove(tree, i, wtm, tree->hash_move[i])) {
> .................
> Print(4095, "Legal hash move i = %d %s\n", i, OutputMove
> .................
> }
> else {
> .................
> Print(4095, "Illegal hash move i = %d %s\n", i, OutputMove(tree, tree-
> >hash_move[i],i,wtm));
> ...................
> break;
> }
> wtm = Flip(wtm);
> if (wtm)
> t_move_number++;
> }
> sprintf(buffer + strlen(buffer), " <HT>");
> } else if (pv->pathh == 2)
This should never happen, and I don't see how it can.
First, you should +never+ see "illegal hash move". I have a couple of hundred
thousand games here, and this has _never_ happened in any of them. The only
time I have seen this in testing is when I have broken something somewhere,
which is why the test is left in.
Second, a "null" (0) move should never be tested in fact...
Finally, there appears to be some debug output left in by mistake, since I do
not normally print hash moves that were found and appended to the PV...
What version is this from? Recent versions do not have code that looks like the
above that I can find. It appears to be something similar to what is in
utility.c, but not the same...
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.