Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Stuffing PV from Triangular Table into Hash Table before each iterat

Author: Dan Honeycutt

Date: 20:33:25 09/12/04

Go up one level in this thread


On September 12, 2004 at 22:58:22, Stuart Cracraft wrote:

>I did this and the results are worse.
>Clearly something is wrong
>
>I took the triangular table, once the iteration finishes,
>and grabbed pv[0][0..N] to get the pv. I then made each
>of these moves on the board and used my hash store function
>to store the move that's in pv[0][i] from 0 through N into
>the hash table. The reason I made them was so that the hashkey
>was calculated since it is stored from a global value into
>the table when a store is done. After all this, the pv[] moves
>made is unmade and the position is back where it was.
>
>Since depth, a score, and whether it is an upper/lower/exact
>are required, I threw in some ideas, but nothing worked well.
>
>Results dropped by 20% with various settings for depth, score,
>and exact.
>
>Anyone else do this and have a suggestion about what to store
>as depth and score? Perhaps my whole approach to this method is
>wrong.
>
>Stuart

Following is what I do.  I walk the PV to keep the hash key and other data
correct.  depth is the current iteration depth.

    //save the pv in the hash table
    for (i1=0; i1<pv_len[0]; i1++) {
      move = pv_move[0][i1];
      //ply, depth, flag, mate threat, score, move
      HashStore(i1, depth, HF_EXACT, 0, root_score, move);
      Move(move);
      depth -= ply_depth;
      root_score = -root_score;
    }
    while (i1--) {
      move = pv_move[0][i1];
      UnMove(move);
      depth += ply_depth;
      root_score = -root_score;
    }

Dan H



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.