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.