Changes

Jump to: navigation, search

Attack and Defend Maps

392 bytes added, 11:36, 31 August 2020
no edit summary
'''Attack and Defend Maps''',<br/>
also called '''Attack Tables''', refer to data-structures, most often [[Array|arrays]], containing [[Attacks|attack or defend ]] information for every pawn or piece and/or the transposed information for each square, which pieces [[Square Control|control]], that is either attack or defend it. These Maps are useful for [[Evaluation|evaluation]] purposes such as safe [[Mobility|mobility]], [[Static Exchange Evaluation|SEE]] and of course [[Move Generation|move generation]]. While the piece centric attack information, a set of attacked squares per piece, is often encoded as [[Bitboards|bitboard]], there are more alternatives for storing the square centric information, about attacking pieces.
=Maintaining Attacks=
=Implementations=
==Classical Approach==
The square centric classical approach with bitboards was used in [[Chess (Program)|Chess 4.5]] and descibed described by [[Larry Atkin]] and [[David Slate]] <ref>[[David Slate]], [[Larry Atkin]] ('''1977'''). ''CHESS 4.5 - The Northwestern University Chess Program.'' [[Chess Skill in Man and Machine]] (ed. [[Peter W. Frey]]), pp. 82-118. Springer-Verlag, New York, N.Y. 2nd ed. 1983. ISBN 0-387-90815-3. Reprinted reprinted ('''1988''') in [[Computer Chess Compendium]]</ref> . The incrementally updated attack tables, from which most move generation is done, are called ''ATKFR'' and ''ATKTO''. ''ATKFR'' is a set of 64 bitboards which give, for each square, all the squares attacked by the piece, if any, that resides on the square. ''ATKTO'' ([[Square Attacked By]]) is the transpose of ''ATKFR'', giving for each square, the locations of all pieces that attack that square. For instance the square E4 (T) is attacked by a black rook at E8, a black knight at F6, and defended by a white rook at E1 and a white pawn at D3 <ref>[http://www.craftychess.com/hyatt/bitmaps.html Rotated bitmaps, a new twist on an old idea] by [[Robert Hyatt]]</ref> :
<pre>
attacks_to[E4]
=See also=
* [[Excalibur Mirage#AttackMaps|Attack Maps]] in [[Excalibur Mirage]]
* [[Piece-Sets]]
* [[Bitboards]]
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=209546 Counting attacked squares: how?] by [[Leen Ammeraal]], [[CCC]], January 24, 2002
* [https://www.stmintz.com/ccc/index.php?id=260736 <nowiki>attacks_from[] and attacks_to[] </nowiki> info] by Nagendra Singh Tomar, [[CCC]], October 21, 2002
* [https://www.stmintz.com/ccc/index.php?id=266390 Attack tables] by [[Andreas Herrmann]], [[CCC]], November 20, 2002
* [https://www.stmintz.com/ccc/index.php?id=363519 The Zappa Attack Table Code] by [[Anthony Cozzie]], [[CCC]], May 05, 2004
* [http://www.talkchess.com/forum/viewtopic.php?t=52085 Incrementally-updated attack map] by [[Harm Geert Muller]], April 21, 2014 » [[Incremental Updates]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=68196 Attacks From table] by [[Edsel Apostol]], [[CCC]], August 11, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=68995 How to incrementally update attack tables?] by [[Maksim Korzh]], [[CCC]], November 21, 2018 » [[Incremental Updates]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69301 Fast SEE (Ed's lookup revisited)] by [[Harm Geert Muller]], [[CCC]], December 17, 2018 » [[#EDsLookup|Ed's lookup]], [[Static Exchange Evaluation|SEE]]
=References=

Navigation menu