Defended Pawns (Bitboards)
Home * Board Representation * Bitboards * Pawn Pattern and Properties * Defended Pawns
Each pawn, member of the own pawn attack set is obviously defended by a pawn, thus likely not a winning capture target for opponent pieces (except pawns). If a defended pawn is open, opponent rooks on half-open files bang one's head against a brick wall.
Working in the bitboard centric world to determine pawn related pattern set-wise.
Defended
Again, it is advantageous to keep disjoint east-west attack sets for a unique 1:1 source-target relationship. On demand we can use the union or intersection on the fly. Note that attack direction is related to the target square. East attack is from south/north-west to north/south-east
white pawns defended defended from west -> from east <- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . 1 . . . . . . . . . . . . . . 1 . . 1 . . . . 1 . . . . . . . . . . 1 . . . 1 . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
U64 wPawnDefendedFromWest(U64 wpawns) { return wpawns & wPawnEastAttacks(wpawns); } U64 wPawnDefendedFromEast(U64 wpawns) { return wpawns & wPawnWestAttacks(wpawns); }
Defenders
To get the set of defenders on the fly, we use the intersection of white pawns with it's "black" attacks:
white pawns defenders defenders from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . 1 . . . . . . . . . . . . . . 1 . . . . 1 . . 1 . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
U64 wPawnDefendersFromWest(U64 wpawns) { return wpawns & bPawnWestAttacks(wpawns); } U64 wPawnDefendersFromEast(U64 wpawns) { return wpawns & bPawnEastAttacks(wpawns); }
Otherwise, if the set of defenders was already determined (or vice versa), we can already take advantage of the unique target/source relation ship:
wPawnDefendersFromWest = wPawnDefendedFromWest >> 9; wPawnDefendersFromEast = wPawnDefendedFromEast >> 7;
Defended Defenders
Defended defenders already are the inner pawns of a at least triple-chain, the d5 pawn for instance:
white pawns defended defended from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . 1 . . . . . . . . . . . . . . 1 . . 1 . . . . 1 . . . . . . . . . . 1 . . . 1 . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . white pawns defenders defenders from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . 1 . . . . . . . . . . . . . . 1 . . . . 1 . . 1 . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . defenders and defenders and white pawns defended defended from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . 1 . . . . . . . . . . . . . . 1 . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Not Defended Defenders
Not defended defenders are the base of a chain - target of opponent attacks:
not defended not defended white pawns defenders defenders from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . 1 . . 1 . . . . . . . . . . . . . . . . . . . 1 . . . . 1 . . 1 . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Not Defending Defended
Defended pawns not defending other pawns are likely the peak of a chain.
not defending not defending white pawns defended defended from west from east . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . 1 . . . . . . . . . . . . . . 1 . . 1 . . . . . . . . . . . . . . . 1 . . . 1 . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Forum Posts
- pattern coding in bitboards by Pawel Koziol, CCC, February 26, 2015 » Pawn Chain