Author: Uri Blass
Date: 12:22:35 09/18/04
Go up one level in this thread
On September 18, 2004 at 11:34:28, Sune Fischer wrote: >On September 18, 2004 at 07:02:22, Andrew Platt wrote: > >>On September 18, 2004 at 04:05:38, Sune Fischer wrote: >> >>> >>>I decided to try out the triangular PV thing Bob >>>speaks so highly of, to see if it improves move ordering... >>> >>>I was careful to terminate the PV on all exact scores - of course. >>>Still I was getting illegal moves in the PV. >>> >>>It turned out to be a hash/nullmove problem. >> >>There's no score that could be responsible for having illegal moves in the PV. >>There are two main things I had to take care of to get rid of illegal moves: >> >>a) Make sure you truncate the PV for the ply you are entering before you start >>doing a null move / iterating through the move list / internal iterative >>deepening, etc.. In other words before you do anything that will increase the >>current ply. Obviously since you are using a triangular array, you aren't >>touching the PV stored higher up when you do this. > >This might work, but I think you have to update the PV instantly on all new PV >nodes, otherwise you will overwrite the child PV at the next move. > >Currently I wait with the PV copying to the end of that node when all the moves >have been searched, then I only have to update the PV once (or maybe not at all >if there is a FH move before that). I do not wait with the pv copying and it is one of the things that I may change in the future but I do not understand why waiting is a problem. You can have a varaible for the best move that you found and a variable for the first alpha when you began to search the ply and update the pv only when you return alpha in the end of the search when alpha!=first_alpha. Uri
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.