Changes

Jump to: navigation, search

Pawn Fills

4,731 bytes added, 11:03, 10 May 2018
Created page with "'''Home * Board Representation * Bitboards * Pawn Pattern and Properties * Pawn Fills''' FILE:SamuelBakUnexpected.jpg|border|right|thumb|link=http..."
'''[[Main Page|Home]] * [[Board Representation]] * [[Bitboards]] * [[Pawn Pattern and Properties]] * Pawn Fills'''

[[FILE:SamuelBakUnexpected.jpg|border|right|thumb|link=http://chgs.elevator.umn.edu/asset/viewAsset/57f3b6787d58ae5f74bf8ba9#57f3b6d77d58ae5574bf8bba|[[Arts#Bak|Samuel Bak]] - Unexpected <ref>[http://chgs.elevator.umn.edu/asset/viewAsset/57f3b6787d58ae5f74bf8ba9#57f3b6d77d58ae5574bf8bc4 Chess in the Art of Samuel Bak], [http://www.chgs.umn.edu/ Center for Holocaust & Genocide Studies], [https://en.wikipedia.org/wiki/University_of_Minnesota University of Minnesota]</ref> ]]
'''Pawn Fills''' are base of [[Pawn Spans|spans]]. They are used to determine '''closed''', [[Half-open file|half-open]] and [[Open file|open]] files.
<span id="FrontandRearFill"></span>
=Front- and Rearfill=
Frontfills and rearfills are the base of [[Pawn Spans#FrontAndRearspans|front- and rearspans]], which require one additional north/south shift. Of course whites front [[Direction|direction]] is north, while blacks front direction is south - vice versa for the rear side.
<pre>
white frontfill black rearfill
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 | . . . . . . . .
. . . . . . . . | . . . . . . . .
north
white pawns black pawns
. . . . . . . . . . . . . . . .
. . . . . . . . . 1 . . . 1 1 .
. . . . . . . . 1 . 1 . . . . 1
. . . . . . . . . . . 1 . . . .
1 . . . . 1 . . . . . . . . . .
. . 1 . . . . . . . . . . . . .
. 1 1 . . . 1 1 . . . . . . . .
. . . . . . . . . . . . . . . .
south
white rearfill black frontfill
. . . . . . . . | . . . . . . . .
. . . . . . . . | . 1 . . . 1 1 .
. . . . . . . . | 1 1 1 . . 1 1 1
. . . . . . . . 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 1 . 1 1 1
</pre>
[[Parallel Prefix Algorithms|Parallel prefix]] [[Kogge-Stone Algorithm|Kogge-Stone]]-routines are used to fill either north or south:
<pre>
U64 nortFill(U64 gen) {
gen |= (gen << 8);
gen |= (gen << 16);
gen |= (gen << 32);
return gen;
}

U64 soutFill(U64 gen) {
gen |= (gen >> 8);
gen |= (gen >> 16);
gen |= (gen >> 32);
return gen;
}
</pre>
Note that the pawns are still subset of their fill sets. The intersection of both north and south fills leaves the initial pawn set again. All pawns which are member of the opponent front fills have a '''mechanical obstruction''' and are '''unfree'''.
<pre>
U64 wFrontFill(U64 wpawns) {return nortFill(wpawns);}
U64 wRearFill (U64 wpawns) {return soutFill(wpawns);}

U64 bFrontFill(U64 bpawns) {return soutFill(bpawns);}
U64 bRearFill (U64 bpawns) {return nortFill(bpawns);}
</pre>


<span id="FileFill"></span>
=Filefill=
The union of both front- and rearfills, leaves the complete file with at least one either white or black pawn on it. Since filefills have all ranks equal, they may treated as bytes, if it is about pure file sets.
<pre>
U64 fileFill(U64 gen) {
return nortFill(gen) | soutFill(gen);
}
</pre>

<pre>
white pawns black pawns
. . . . . . . . . . . . . . . .
. . . . . . . . . 1 . . . 1 1 .
. . . . . . . . 1 . 1 . . . . 1
. . . . . . . . . . . 1 . . . .
1 . . . . 1 . . . . . . . . . .
. . 1 . . . . . . . . . . . . .
. 1 1 . . . 1 1 . . . . . . . .
. . . . . . . . . . . . . . . .
white filefill black filefill
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 1 1 . 1 1 1
1 1 1 . . 1 1 1 1 1 1 1 . 1 1 1
</pre>
Based on pawns, files are either '''closed''', [[Open File|open]] or [[Half-open File|halfopen]].

=See also=
* [[Fill Algorithms]]
* [[Half-open File]]
* [[Kogge-Stone Algorithm]]
* [[Open File]]
* [[Parallel Prefix Algorithms]]
* [[Pawn Spans]]
* [[Pawns and Files (Bitboards)]]

=External Links=
* [[Videos#BillyCobham|Billy Cobham]] - [[Videos#GeorgeDuke|George Duke]] Band - Juicy, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: feat. [[Videos#JohnScofield|John Scofield]] and [[Videos#AlphonsoJohnson|Alphonso Johnson]], [https://en.wikipedia.org/wiki/Montreux_Jazz_Festival Montreux Jazz Festival], July 6, 1976
: {{#evu:https://www.youtube.com/watch?v=Lg86di2p34c|alignment=left|valignment=top}}

'''[[Pawn Pattern and Properties|Up one Level]]'''
[[Category:Samuel Bak]]

Navigation menu