Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Detecting three-fold repetition?

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.