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.