Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Generator

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.