Changes

Jump to: navigation, search

FrankWalter

400 bytes added, 20:14, 28 September 2019
no edit summary
'''FrankWalter''', (Frank Walter, Frank-Walter)<br/>
a [[Chess Engine Communication Protocol]] compliant chess engine by [[:Category:Open SourceLaurens Winkelhagen]], written in [[Java]]. The development started in 2009 with various trials to implement efficient [[Bitboards|open source chess enginebitboard]] (since 2.3.2 techniques in Java <ref>[http://talkchesswww.open-aurec.com/forum3wbforum/viewtopic.php?f=24&t=6975449948 Java &start=9 Re: New engine releases 2019Magic Bitboards] by [[Laurens Winkelhagen]], [[CCCComputer Chess Forums|Winboard Forum]], February 1203, 20192009</ref>) by [[Laurens Winkelhagen]], written in [[Java]], licensed under the [[Free Software Foundation#GPL|GPL v3.0]].
After continuing the development on his old engine <ref>[http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=50010 Frank-Walter 1.0.5] by [[Laurens Winkelhagen]], [[Computer Chess Forums|Winboard Forum]], March 03, 2009</ref>, Laurens Winkelhagen re-published FrankWalter '''2.2.0''' in November 2018 <ref>[http://talkchess.com/forum3/viewtopic.php?t=68989 Revived Engine - Frank Walter 2.2.0 (Java - WB)] by [[Laurens Winkelhagen]], [[CCC]], November 20, 2018</ref>,
short before it had its over the board debut at the [[PT 54]] in [https://en.wikipedia.org/wiki/Leiden Leiden].
Since '''2.3.2''' in February 2019, FrankWalter has become [[:Category:Open Source|open source]], hosted on [https://en.wikipedia.org/wiki/GitHub GitHub] and licensed under the [[Free Software Foundation#GPL|GPL v3.0]] <ref>[http://talkchess.com/forum3/viewtopic.php?f=2&t=69754&start=9 Re: New engine releases 2019] by [[Laurens Winkelhagen]], [[CCC]], February 12, 2019</ref>.
=Etymology=
These are all members of a board class along with the usual stuff specifying a [[Chess Position|chess position]], such as [[Side to move|side to move]], [[Castling Rights|castling rights]], [[En passant|en passant]] target, [[Halfmove Clock|halfmove clock]], and an array of [[Zobrist Hashing|Zobrist keys]] to detect [[Repetitions|repetitions]] along the actual game record and variation.
Despite [[Sliding Piece Attacks|sliding piece attacks]] are determined by a memory friendly approach of [[Kindergarten Bitboards|Kindergarten bitboards]] for [[Files|files]] and [[Magic Bitboards|Magic bitboards]] for [[Ranks|ranks]] and [[Bishop|bishops]],
FrankWalter keeps [[Attack and Defend Maps|attack tables]] in [[Attack and Defend Maps#Classical Approach|classical]] [[Chess (Program)|Chess 4.5]] style <ref>[[David Slate]], [[Larry Atkin]] ('''1977'''). ''CHESS 4.5 - The Northwestern University Chess Program.'' [[Chess Skill in Man and Machine]], reprinted ('''1988''') in [[Computer Chess Compendium]]</ref>, that is two bitboard arrays (ATKFR and ATKTO) indexed by square,
While along with keeping bitboards for [[Pin|pinned pieces]], this seems an reasonable approach to implement [[Move Generation#Legal|legal move generation]], the culprit is the [[Incremental Updates|incremental update]],
in particular using a [[Copy-Make#Stack|copy-make stack]] to copy the 1K attack table not only during [[Make Move|make]] but also back during [[Unmake Move|unmake]] <ref>[https://github.com/ljgw/frankwalter/blob/master/src/main/java/com/winkelhagen/chess/frankwalter/board/Board.java frankwalter/Board.java at master · ljgw/frankwalter · GitHub]</ref>.

Navigation menu