Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Detecting three-fold repetition?

Author: Christophe Theron

Date: 18:17:21 07/17/00

Go up one level in this thread


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.



    Christophe




>>What if the best move is a checkmate and all others lose?  How will you know?
>>
>
>move_list[1,n].score knows it.
>randomly pick from the top 5 or 3 moves (razonably close to the best)
>some centipawns would be sufficient as de definition of "close to the best".
>
>
>>Alpha-Beta only gives the score of the best move.
>
>sure, I have already explain my idea.



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.