Computer Chess Club Archives




Subject: Re: Move ordering - How do I know if I have played this move already?

Author: James Robertson

Date: 17:11:38 04/06/99

Go up one level in this thread

On April 06, 1999 at 17:43:44, Bruce Moreland wrote:

>On April 06, 1999 at 17:39:23, Steve Maughan wrote:
>>Hi Folks!
>>In my progam I have been playing around with move ordering.  If possible I would
>>like to play certain moves (e.g. Hash move, killer move) before I call the
>>general MoveGeneration routine.  Hopefully this will save time as the hash move
>>etc will often cause a cutoff.  However, in the common case were these do not
>>create a cutoff I will still need to generate all the other possible moves.  My
>>question is - what is the best method for keeping track of moves played or
>>testing whether or not a move has already been played?
>>Do people;
>>a) iterate through all moves generate?
>>b) iterate through special moves such as hash?
>>c) create a 64 bit integer for each piece, with each bit representing a 'to'
>>square.  If the 'OR' gives a new number then it is a new move.
>>d) Generate all the moves in the first place and give a high weight to special
>>moves as desired?
>>e) Use some form of hash table?
>>I am favouring 'c' at the moment but am not sure if there isn't an easier way.
>>All ideas and help appreciated.
>>Steve Maughan
>Another idea, which may very well be bad, would be to ignore the whole problem
>and simply search some moves twice.

Yeah; I tried this and it was terrible. Because the first move chosen was
usually close to the best, it would take a while to cut it off....


This page took 0.01 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.