Author: Uri Blass
Date: 22:34:17 12/19/02
Go up one level in this thread
On December 20, 2002 at 01:31:08, Uri Blass wrote: >On December 19, 2002 at 19:53:46, Andreas Herrmann wrote: > >>On December 19, 2002 at 19:21:04, Uri Blass wrote: >> >>>On December 19, 2002 at 18:49:56, Dann Corbit wrote: >>> >>>>On December 19, 2002 at 18:47:22, Joshua Haglund wrote: >>>> >>>>>Anyone know of a good site(s) for the programming of a (legal) move generator? >>>> >>>>You'll find a lot more help looking for a pseudo-legal move generator. I don't >>>>think anyone makes a strictly legal move generator (maybe Uri does...) >>> >>>I did it and chest also did it and I remember that other programmers also did >>>it(Miguel started with legal move generator and I remember that peter makanzi >>>also does it(or at least did it in the past)). >>> >>>pseudo legal move generator is the easy way but I do not think that it is better >>>and the fact that chest is the best mate solver suggest that legal move >>>generator may be better. >>> >>>Uri >> >>Hi Uri, >> >>but a pseudo legal move generator is faster. You have to check if the king is in >>check only if you must evaluate a position. >>What is the advantage of a slower legal move generator? >> >>Andreas > >The advantage is that I get more knowledge that can be used for better order of >moves or extension rules or pruning rules or evaluation. > >one example is that it is easy for me to check if the king is in check because I >update a varaible to know it after every move. >Another example is that it is easy for me to check if a piece is pinned to the >king because I have an array that tell me for every square if it is pinned. > >one of the changes that I added to movei to do it faster is adding an array >pinnumber[ply] and now I can check if there are pieces that are pinned very >fast. > >I still cannot detect fast the value of the pieces that are pinned and their >square so it may be better to change the array again and I think that it is >possible that I can use some arrays for information about pins to give all the >information when in 99% of the cases only one of them is going to be used. > >If people have good ideas how to store that information then it may be >productive(today I store information only about pinned pieces of the side to >move and it also may be faster to store information about pins of both side). > >Uri To be more correct today I have an array for the 64 squares but I know that the only squares tht I use and can trust are squares of the side to move. The information that I have in the array today is also the direction of the pin in numbers 0-3(-1 is for no pin,0 for pin in the same file,1 for pin in the same rank,2 and 3 for pins in diagnols) 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.