Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Generator

Author: Uri Blass

Date: 22:31:08 12/19/02

Go up one level in this thread


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



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.