Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about move generation.

Author: leonid

Date: 07:15:02 11/17/99

Go up one level in this thread


On November 17, 1999 at 08:56:59, Antonio Dieguez wrote:

>On November 16, 1999 at 17:09:12, leonid wrote:
>
>>On November 16, 1999 at 11:32:45, Antonio Dieguez wrote:
>>
>>>about "high perfomance move generation", anybody have tried to generate moves
>>>incrementally? I mean in the same way you update bitboards or any other aspect
>>>of the board?, for example after 1.a2-a3 a7-a6, you would never generate queen
>>>moves, as you already now that the available moves of her will not change if the
>>>from and to squares of that moves are not connected with her, and so on, trying
>>>to generate only the neccesary moves of each pieces, its more complicated but it
>>>works and am sure it has been tried, but is better?
>>
>
>hi leonid!
>
>>So far as I could see, in my logic, it is not that much move generation that
>>consume the most of the time but finding what move between the found one are
>>legal. Until now, with exception of moves on the ply zero, my logic used only
>>legal moves.
>
>thats a little rare, because not all moves are searched anyway.

This should signify that you try the moves as soon as you are finding them one
by one, for one ply. Maybe you find the moves after the pieces one by one. This
is not my experience. I am not saying that your way is not good, not at all. I
am just not able to produce the moves one by one. Problem is that the logic for
recognition (and this consume the most time in the process of finding the
moves)of legality of all the moves goes before the finding of the moves for all
the pieces with exception of the king one. The only sequential production of the
moves is possible by producing the moves for all the pieces beside the king
itself. I wonder, if you really produce your legal moves one by one and you stop
generation of the moves for the play as soon, as necessery move was found.

>
>I first see if the king is already in check, and if not, in nonking moves I see
>if the king stay attacked only to the direction of the initial position of each
>move, and in king moves, pawn and knight stuff and in all directions, all before
>search with the new position of each move of course, one by one.
>


Maybe, partially, you responded here to the question that I asked obove but
maybe not. Because if you are able to find efficently in parallel if your king
is under the fire and after this if given move is legal, you is ahead of me for
sure. I have all the recognition of check and legality of all the moves, with
exception of the king, in the same procedure. Once this procedure was executed,
finding only part of the moves, or all the moves make no difference. Finding the
moves one after the next one in the ply is somehow worst thing for me in the
logic. Many variables that implicated in the recognition of the legality of the
moves (don't speak here about the king's moves) must be saved for the future
usage. Not having all the moves in advance for certain ply do not permit the
good alignment of the moves for the ply where those moves were generated.

If you can give the idea how you go around the problem, it will be highly
appreciated.

Regards,
Leonid.




>>Complication related with recognition of what moves are usable or not, my guess
>>is, will take as much time as finding what new move is legal.
>>
>>Leonid.
>
>be lucky! ^_~



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.