Changes

Jump to: navigation, search

Pawn Spans

4,559 bytes added, 11:19, 10 May 2018
Created page with "'''Home * Board Representation * Bitboards * Pawn Pattern and Properties * Pawn Spans''' '''Pawn Spans''' and Fill-Pattern of pawns are use..."
'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Pawn Pattern and Properties]] * Pawn Spans'''

'''Pawn Spans''' and Fill-Pattern of [[Pawn|pawns]] are used as a base for many other [[Pawn Structure|pawn structure]] related stuff, to determine [[Passed Pawns (Bitboards)|passers]], [[Candidates (Bitboards)|candidates]], [[Isolated Pawns (Bitboards)|isolanis]] etc. set-wise.

=Type of Spans=
Every pawn has a '''frontspan''' with [[Stop Square|stop]] - and '''telestop''' squares, and a '''rearspan'''. Further the pawn has a '''lee'''- and '''luff'''-side, while rook-pawns miss the lee-side.
<pre>
white pawn d5:
. . . f . . . .
. . . r . . . . movement
. . . o . . . . ^
l e e P l u f f |
. . . r . . . .
. . . e . . . .
. . . a . . . .
. . . r . . . .
</pre>
A span of each individual pawn reflects either its [[Distance|distance]] to promotion (frontspan), or distance to its back rank (rearspan).
<span id="FrontAndRearspans"></span>
==Front- and Rearspans==
Front- and rearspans are the [[Pawn Fills|front- and rearfills]] shifted one step further in the fill-direction:
<pre>
white frontspans black rearspans
1 1 1 . . 1 1 1 1 1 1 1 . 1 1 1
1 1 1 . . 1 1 1 1 . 1 1 . . . 1
1 1 1 . . 1 1 1 . . . 1 . . . .
1 1 1 . . 1 1 1 . . . . . . . .
. 1 1 . . . 1 1 ^ . . . . . . . .
. 1 1 . . . 1 1 | . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
north
white pawns black pawns
. . . . . . . . . . . . . . . .
. . . . . . . . . 1 . . . 1 1 .
. . . . . . . . 1 . 1 . . . . 1
. . . . . . . . . . . 1 . . . .
1 . . . . 1 . . . . . . . . . .
. . 1 . . . . . . . . . . . . .
. 1 1 . . . 1 1 . . . . . . . .
. . . . . . . . . . . . . . . .
south
white rearspans black frontspans
. . . . . . . . | . . . . . . . .
. . . . . . . . v . . . . . . . .
. . . . . . . . . 1 . . . 1 1 .
. . . . . . . . 1 1 1 . . 1 1 1
. . . . . . . . 1 1 1 1 . 1 1 1
1 . . . . 1 . . 1 1 1 1 . 1 1 1
1 . 1 . . 1 . . 1 1 1 1 . 1 1 1
1 1 1 . . 1 1 1 1 1 1 1 . 1 1 1
</pre>

<pre>
U64 wFrontSpans(U64 wpawns) {return nortOne (nortFill(wpawns));}
U64 bRearSpans (U64 bpawns) {return nortOne (nortFill(bpawns));}
U64 bFrontSpans(U64 bpawns) {return soutOne (soutFill(bpawns));}
U64 wRearSpans (U64 wpawns) {return soutOne (soutFill(wpawns));}
</pre>
* Pawns still member of their frontspan have at least one pawn behind on the same file.
* Pawns still member of their rearspan have at least one pawn in front on the same file.
* All pawns which are member of the opponent frontspans (or frontfill) have a '''mechanical obstruction''' and are '''unfree'''.

==Interspans==
The intersection of white and black frontspans is called interspan. Obviously interspans can only occur on closed files. [[Rook|Rooks]] on interspans may have a hard time, if the attacked opponent pawns are safe. Their vertical mobility is restricted and they may vulnerable to get trapped and attacked. On the other hand, if supported by other attacking pieces, there might be successful attacks against [[Weak Pawns|weak pawns]] and the especially the [[King|king]].
<pre>
white frontspan & black frontspan = interspan
1 1 1 . . 1 1 1 . . . . . . . . . . . . . . . .
1 1 1 . . 1 1 1 . . . . . . . . . . . . . . . .
1 1 1 . . 1 1 1 . 1 . . . 1 1 . . 1 . . . 1 1 .
1 1 1 . . 1 1 1 1 1 1 . . 1 1 1 1 1 1 . . 1 1 1
. 1 1 . . . 1 1 & 1 1 1 1 . 1 1 1 = . 1 1 . . . 1 1
. 1 1 . . . 1 1 1 1 1 1 . 1 1 1 . 1 1 . . . 1 1
. . . . . . . . 1 1 1 1 . 1 1 1 . . . . . . . .
. . . . . . . . 1 1 1 1 . 1 1 1 . . . . . . . .
</pre>
<span id="StopandDistantStop"></span>
=Stop and Telestop=
[[Stop Square|Stop squares]] are the [[Pawn Pushes (Bitboards)|push move targets]] of any pawn.
<pre>
U64 wStop(U64 wpawns) {return nortOne (wpawns);}
U64 bStop(U64 bpawns) {return soutOne (bpawns);}
</pre>
Thus, the frontfills of the stop squares are the frontspans of the pawns:
<pre>
U64 wFrontSpan(U64 wpawns) {return nortFill(wStop(wpawns));}
U64 bFrontSpan(U64 bpawns) {return soutFill(bStop(bpawns));}
</pre>
Telestop squares all the squares of the frontspan, except the stop squares
<pre>
U64 wTeleStops(U64 wpawns) {return wFrontSpans(wStop(wpawns)) ^ wStop(wpawns);}
U64 bTeleStops(U64 bpawns) {return bFrontSpans(bStop(bpawns)) ^ bStop(bpawns);}
</pre>

=See also=
* [[Attack Spans]]
* [[Fill Algorithms]]
* [[Pawn Fills]]

'''[[Pawn Pattern and Properties|Up one Level]]'''

Navigation menu