Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Generator

Author: Gerd Isenberg

Date: 07:19:25 12/20/02

Go up one level in this thread


On December 20, 2002 at 08:22:15, Sune Fischer wrote:

>On December 20, 2002 at 08:00:31, Gerd Isenberg wrote:
>
>>>The overhead of making/unmaking pinned pieces is extremely small.
>>>I count about 0.5-1.5% pinns, the make/unmake move rutines take maybe 20% (in my
>>>case) but I only need to do half a move to see if the move is legal, in total
>>>that's about 0.075% overhead because of illegal pinned moves!!
>>>
>>>I'm pretty sure there is _no way_ you can detect pinns faster and improve on
>>>this overhead.
>>
>>Hi Sune,
>>
>>I'm not sure, specially if we consider hammer or SSE2. I use dumb6fill for 2 or
>>3 directions simultaniously (8 mmx-registers). With SSE2 or hammer it can be
>>done for all 8-directions in parallel, with sliders and king in one 128-bit-xmm
>>register.
>
>A lot of work to save 0.1%, at best :)


Ok, i use two cheap conditions before and the whole mmx-stuff is rather fast. If
i eval a leaf-node with pinned pieces, that may be get attacked and conquered by
a pawn-push, i safe probably one or two plies.


>
>>>I agree, there are other reasons to do it. It must be good for extensions, as
>>>Uri says a pinned queen might be reason to extend.
>>>
>>>One of the best things though, must be if you generate all moves all the time,
>>>that would be real nice for extensions and threat detections.
>>>
>>>But I didn't think any bitboarders generated all moves since bitboards are so
>>>good at incremental generation, is this what you do?
>>>
>>>-S.
>>
>>I guess yes, but incremental generation is possibly the wrong term. I don't look
>>to previously generated moves two plies before. It's a finite state machine move
>>generator, trying to generate as less as possible, hoping for a cutoff.
>
>Yes, that's what I figured :)
>
>> But my
>>final approach with hammer in mind is quite unclear so far.
>
>The question is, how much do you need those extensions?

Yes, i consider pinns in interior nodes for fractional extensions too.
I even consider whether the piece was pinned one ply before.

>I also like the full knowledge idea, but on the other hand if you slow down
>the program 100% just to produce a good extension here and there, it might be
>better just to run brute force faster and get the extension simply because you
>go that extra ply. When going an extra ply you also see a lot of other stuff of
>course.
>
>-S.

OK, i also have some experience with other approaches, and i do not claim that
legal move generation is the "best" solution.

Gerd



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.