Author: Tony Werten
Date: 01:40:08 02/02/01
Go up one level in this thread
On February 01, 2001 at 10:37:04, Robert Hyatt wrote: >On February 01, 2001 at 03:40:05, David Rasmussen wrote: > >>On February 01, 2001 at 00:28:39, Robert Hyatt wrote: >>> >>>you need one more test. How quickly can you generate _only_ capture >>>moves? That is the biggest part of the total move generation process, >>>because of the q-search. And that is a place where bitmaps really shines >>>brightly. IE I can generate captures _just_ as quickly as I can generate >>>non-captures. I don't have to cull non-captures or anything, after the >>>fact... I just never generate them in the first place... >>> >>>0x88 does great at generating everything. It loses its advantage and then >>>some when you take generating only captures. I also can generate legal-only >>>moves without doing in-check tests... >> >>How do you do that? Generate legal-only moves without doing in-check tests, that >>is. > >You can look at my code named "GenerateCheckEvasions()" but the idea is >this (simplified and maybe wrong): > >1. If I am checked by a single piece, capture it. > >2. If I am checked by a single sliding piece, interpose. > >3. If I am checked by either 1 or two pieces, move the king out of the check. > >for 3, you might think that I have to check for legality after generating a >king move, but it isn't needed. If the checking piece is a slider, I have to >move in any direction but +/- the checking direction. Bitmaps handle all of >this easily, so that I can produce moves that I _know_ are legal. Actually, I would guess you have to check after 1 and 2 to see if the moving piece wasn't pinned. Tony
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.