FrankWalter
FrankWalter, (Frank Walter, Frank-Walter)
a Chess Engine Communication Protocol compliant open source chess engine by Laurens Winkelhagen, written in Java, licensed under the GPL v3.0.
After continuing the development on his old engine, Laurens Winkelhagen published FrankWalter 2.2.0 in November 2018 [1],
short before it had its over the board debut at the PT 54 in Leiden.
Features
Board Representation
FrankWalter represents the board using a two-dimensional array of piece bitboards, indexed by color and type, and further has an 8x8 board for a square-centric view. These are all members of a board class along with the usual stuff specifying a chess position, such as side to move, castling rights, en passant target, halfmove clock, and an array of Zobrist keys to detect repetitions along the actual game record and variation. Despite sliding piece attacks are determined by a memory friendly approach of Kindergarten bitboards for files and Magic bitboards for ranks and bishops, FrankWalter keeps attack tables in classical Chess 4.5 style [2], that is two bitboard arrays (ATKFR and ATKTO) indexed by square, While along with keeping bitboards for pinned pieces, this seems an reasonable approach to implement legal move generation, the culprit is the incremental update, in particular using a copy-make stack to copy the 1K attack table not only during make but also back during unmake [3].
Search
- Lazy SMP
- Fractional Ply Iterative Deepening
- Principal Variation Search
- Aspiration Windows
- Transposition Table
- Selectivity
- Move Ordering
Evaluation
Misc
- Syzygy Bases via JNI Fathom Bridge (JSyzygy) [4]
- Beowulf Opening Book Format
Forum Posts
- Revived Engine - Frank Walter 2.2.0 (Java - WB) by Laurens Winkelhagen, CCC, November 20, 2018
- Frank Walter by Gabor Szots, CCC, November 26, 2018
- Frank-Walter & Tablebases by Ted Summers, CCC, September 27, 2019
External Links
Chess Engine
Misc
References
- ↑ Revived Engine - Frank Walter 2.2.0 (Java - WB) by Laurens Winkelhagen, CCC, November 20, 2018
- ↑ 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
- ↑ frankwalter/Board.java at master · ljgw/frankwalter · GitHub
- ↑ GitHub - ljgw/syzygy-bridge: Java bridge to use the Syzygy Tablebases via JNI