Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: incremental attack tables?

Author: Uri Blass

Date: 03:35:46 05/05/04

Go up one level in this thread


On May 05, 2004 at 06:25:23, Uri Blass wrote:

>On May 05, 2004 at 06:08:34, Sune Fischer wrote:
>
>>On May 05, 2004 at 05:55:10, Uri Blass wrote:
>>
>>>On May 05, 2004 at 05:39:28, Sune Fischer wrote:
>>>
>>>>
>>>>>   First you update the attack table with the move and then you generate only
>>>>>legal moves based on the attack tables , right? What i do is update the attack
>>>>>table and then generate "pseudo legal" moves,except king moves to an attacked
>>>>>square. So our difference is you have a routine which calculates only legal
>>>>>moves based on your attack tables. I don't see how that can speed up perft
>>>>>immensely.
>>>>
>>>>It can't :)
>>>>The speed up Uri gets in perft comes from not having to make the moves at the
>>>>leaf.
>>>>The moves are just generated and then counted and the makemove is saved.
>>>
>>>This is the speed improvement relative to other programs but I am talking about
>>>the speed improvement relative to my initial version and the trick of not making
>>>the last move was always used by movei.
>>>
>>>If you need the attack tables to generate moves then it is clear that updating
>>>them faster is going to cause a speed improvement.
>>
>>Attack tables will only slow down move generation, IMO.
>
>No
>They only slow the makemove function.
>
>The result of updating attack tables incrementally is significantly faster
>makemove.
>
>When I started and did not update moves incrementally making X moves was
>significantly slower than generating 30x moves when most of the time was used
>for updating the attack tables.
>
>>
>>I'd even say that the move generation is were you take all the penalty for the
>>attack tables,
>
>No
>
>see above.
>
> but then you hope to get the investment back on improved search
>>rules and evaluation. SEE should become a lot faster for instance.
>>
>>When I used them I also generated them incrementally and it was much faster than
>>from scratch. Like Omid says though, it probably depends on the design.
>>
>>>My intial version was very slow in calculating perft not only relative to movei
>>>of today but also relative to Crafty.
>>
>>I think it's hard to relate perft times with move generation speeds because you
>>use that trick, comparing Movei and Crafty here would be comparing apples and
>>oranges.
>
>perft is not about move generating speed.
>You can see from my explanation in this post that when I started it was mainly
>about make move speed inspite of the fact that I generated significantly more
>moves.
>
>Uri

When I think about it then it is possible to push the part that update the
attack tables from makemove() to gen() so it is a question of definition of your
functions.

I can only say that today my makemove function does a lot of other things except
updating the tables and it includes calculating most of the evaluation and
calculating some information like varaibles that tell me if the king is in
check.

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.