Author: blass uri
Date: 06:02:14 07/18/00
Go up one level in this thread
On July 17, 2000 at 21:17:21, Christophe Theron wrote: >On July 17, 2000 at 19:16:19, Jesus de la Villa wrote: > >>On July 17, 2000 at 18:48:16, Dann Corbit wrote: >> >>>On July 17, 2000 at 18:42:52, Jesus de la Villa wrote: >>>[snip] >>>>I think they can save the move and its score from the ply 1 move list, since >>>>it is the actual legal moves available and will not disappear. So, they can >>>>randomly pick from the top 5 or 3 moves (razonably close to the best) and >>>>make the "random" move. >>>>I think this could work well. >>> >>>How do they know the eval in centipawns of the move they choose? >>> >>I have a lot of troubles with my english but let me try. >> >>move_list[ply,n_moves] this array contains node information like from, to, >>eval, etc >> >>when search is done it returns you the best score, yes, but in the move list >>you already have all the "legal" moves from ply 1 and its score stored in it. >> >>move_list[1,n].score {we can sort this list and the work is done} >>so even if search returned the best score we also have old info stored there >>waiting to be picked as second best. What you don't have, is the second best >>line (but we don't want it, we are just playing friendly). > > > >You don't even have the order of the best moves of the root list. > >You only know which is the BEST. With alphabeta and its variants you have >absolutely no idea about the other moves. It happens in some rare cases, but in >general you only have reliable information for the best move at the root. > >That's actually what alphabeta is all about. When a move is not the best one, >the algorithm stops as soon as it manages to find a refutation for it. You know >the refuted move is not the best one, but you don't know how bad it is. It could >be just one millipawn under the best one (at the given depth), or much, much, >worse, but you don't know. > >If you want to know, you must let the program continue after it has found a >refutation, but you are going to slow down the program by several orders of >magnitude, and probably lose one hundred of elo points or more. I think that having no idea how bad is a move is not a good idea because you can reject move for the wrong reason and lose time for it. I think that calculating the exact score at the same depth is also a bad idea but you can calculate the exact score at reduced depth and if the depth is reduced enough you do not lose a lot of time and you can even save time in the next iteration for rejecting the move for the right reason. 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.