Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Trapped Rook

Author: Gerd Isenberg

Date: 12:48:23 12/03/02

Go up one level in this thread


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



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.