Author: Uri Blass
Date: 04:19:52 10/25/02
Go up one level in this thread
On October 25, 2002 at 07:08:13, Alessandro Damiani wrote: >>>The implementation of generating moves in chunks is easily done by encapsulating >>>all work in a method that returns the next move: >>> >>> Move nextMove(int ply, ...) >>> >>>The value 0 is returned, if there is no move anymore. >>> >>>The method nextMove() has a state for each ply: in which generation phase it >>>currently is. For instance, our move ordering is >>> >>> 1. hashmove >>> 2. winning captures >>> 3. killer 1 >>> 4. killer 2 >>> 5. equal captures >>> 6. non captures >>> 7. losing captures >>> >>>We define the following phases: >>> >>> PHASE_HASHMOVE 0 >>> PHASE_GENCAPTURES 1 >>> PHASE_POSCAPTURES 2 >>> PHASE_KILLER_1 3 >>> PHASE_KILLER_2 4 >>> PHASE_EQUALCAPTURES 5 >>> PHASE_GENNONCAPTURES 6 >>> PHASE_NONCAPTURES 7 >>> PHASE_NEGCAPTURES 8 >> >>Today I also have phases nit clearly less phases than you. >> > >As I stated above, this is just an example. I have got more phases. > >Just to be clear: only phase 1 and phase 6 generate moves (in this example). I understand now but I still do not understand. You do not generate moves in phasehashmove? what do you do exactly Do you say that you check if the hash move is legal and if it is legal you generate it? What do you do in phase 1? Do you compare all moves with the hash move to promise that you do not have it again in your list or do you generate it again and only in the sort move you ignore it. 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.