Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about generating incremental move generator

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.