Author: Sune Fischer
Date: 05:34:33 10/10/02
Go up one level in this thread
On October 10, 2002 at 07:16:27, Nagendra Singh Tomar wrote: >In ur example; you should note that when we are searching for the opponent's >best reply for d4 we always have alpha and beta (calculated till the first >subtree e5 is fully evaluated)in hand. If we find any of the opponent's reply to >be better than e5 (and asusming that e4 was THE best move), the score of the >reply WILL be more than the beta set by e4 hence it will fail-high and we will >not update PV. IF at any point in time we get a move that lies between alpha and >beta we know that the move lies on the PV based on the tree calculation till >that time. >IOW if at any point in ply 'x+1' we update the PV, this updation WILL percolate >all the way upto the top, updating the PV moves of all the plies <= x. > >beta is there to say that the opponent has got means to stop u from playing a >move, so score>beta cannot lie on PV. For a move for which alpha < score < beta, >the opponent has got no means to stop us from playing this move. > >regds >tomar I tried it, it works pretty good, except for a few case now and then. With perfect move ordering it would work, but sometimes you get a pv move deeper in the tree before you discover a fail high move... -S. >On October 10, 2002 at 06:40:50, Dieter Buerssner wrote: > >>On October 10, 2002 at 06:20:31, Nagendra Singh Tomar wrote: >> >>>No, not really. >>>I have got a single one-dim array that is part of the singleton ChessBoard >>>structure. >>>If a move at ply 'x' is found to be lying on the PV (score > alpha) then I >>>simply do "PV[x] = this_move" without caring to copy the remaining PV from the >>>deeper plies, because they would have already added it to the PV array at >>>appropriate place in the PV array. So by the time I reach ply 'x' after >>>returning from ply 'x+1' I am sure that the part of the PV starting from 'x+1' >>>is already in place. I just add this ply's contribution to the PV. >>>Doing this when i reach the root, all the moves in the PV will be stored in the >>>one dimensional PV array. >>> >>>What do u say ? >> >>If I understand you correctly, this should give wrong PVs, which may even >>include illegal moves. >> >>Assume a 2 ply search from the start position. You start with e4 (which shall >>"win" here). The PV shall be e4 e5. As the second move you try d4, which will >>not give a better score. But after d4 you search for a best move for the >>opponent. Now this best move will overwrite the e5 in the above PV. That you >>don't update the first ply in the PV does not matter - the tail will be >>destroyed. Having a local copy in the search, or a two dimensional array will >>get rid of this problem. >> >>Regards, >>Dieter
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.