Author: Robert Hyatt
Date: 19:56:16 12/03/02
Go up one level in this thread
On December 03, 2002 at 15:48:23, Gerd Isenberg wrote: >On December 03, 2002 at 13:44:21, Colin Frayn wrote: > >>Here's an interedting position that arose in an ICC game between Beowulf and a >>human player. it's one of those positions where Beowulf knows it's behind, but >>can't possibly realise how bad his position is because he doesn't realise how >>his h7 rook is utterly trapped. >> >>[D]r4k2/2R2p1r/4pBp1/4P2p/pR3P1P/Pb2K1P1/8/8 b - - >> >>I'm not sure how to get round this without adding in some hideously slow code. >>I already have mobility code in for the rook but then it's difficult to >>distinguish between a rook that's in a nice defensive position that it could get >>out of and which will transform itself into an open file fairly quickly after a >>pawn exchange, and something like this where there is no sequence of moves to >>retrieve the rook from its corner. >> >>Cheers, >>Col > >Hi Colin, > >one possible idea in mind, based on floodfill attacks. > >Some bitboard patterns: >1. a set of own immobile, blocked or backward pawns, say bp >2. all controls of enemy pawns or enemy light pieces say edl >3. all squares controlled by enemy and not by own pieces ed2 >4. all squares controlled by enemy and only by this rook ed3 > but no battery >5. fine rooktargets rok = ~(p|ed1|ed2|ed3); >6. generate all attacks from this rook anding with rok > s1 = getRookAttacks(rook) & rok; > (do a weighted bitcount to evaluate a kind of mobility) > if ( s1 == 0 ) the rook is already trapped >7. do a second parallel attack set generation with s1 > s2 = getRookAttacks(s1) & rok; >8. if ((s2 & ~(s1|rook)) == 0) the flood stopped, > and the rook may have some problems (depending on the > bitcount of s1?) > >Just some thöughts on the fly... > >Regards, >Gerd That is one of the interesting things about some folks at CCC. Rather than figuring out why no one _can_ do a certain thing with bitmaps, some think outside the box and figure out ways that things can be done quickly, efficiently, and quite often _cleverly_. :) If only _everyone_ had that characteristic...
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.