Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about move generation.

Author: Antonio Dieguez

Date: 05:28:44 11/18/99

Go up one level in this thread


On November 17, 1999 at 10:15:02, leonid wrote:

>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.

no, only the check comprobation is one by one, am sorry if I was not clear.

>>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.

right, also I dont imagine a very pretty form of generating moves one by one and
trying them one by one.

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

nothing special.

>Regards,
>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.