FrankWalter

From Chessprogramming wiki
Revision as of 19:14, 28 September 2019 by GerdIsenberg (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Home * Engines * FrankWalter

Frank-Walter meets Condoleezza [1]

FrankWalter, (Frank Walter, Frank-Walter)
a Chess Engine Communication Protocol compliant chess engine by Laurens Winkelhagen, written in Java. The development started in 2009 with various trials to implement efficient bitboard techniques in Java [2]. After continuing the development on his old engine [3], Laurens Winkelhagen re-published FrankWalter 2.2.0 in November 2018 [4], short before it had its over the board debut at the PT 54 in Leiden. Since 2.3.2 in February 2019, FrankWalter has become open source, hosted on GitHub and licensed under the GPL v3.0 [5].

Etymology

Frank-Walter Steinmeier, in 2009 German Minister for Foreign Affairs, since March 2017 President of Germany, and his apparently desired name change [6] to Frank was the inspiration for the name of the chess engine [7]. Frank-Walter Steinmeier in an 2011 interview [8]

Mr. Steinmeier, can you actually play chess, like Peer Steinbrück and Helmut Schmidt?
Frank-Walter Steinmeier: Neither am I a good chess player nor am I currently writing a book.

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 [9], 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 [10].

Search

Evaluation

Misc

Photos & Games

PT55 R4FrankWalterTheKing.jpg

PT 55, Round 4, FrankWalter - The King, Johan de Koning and Laurens Winkelhagen [12] [13]

[Event "PT55"]
[Site "Amersfoort"]
[Date "2019.05.19"]
[Round "4"]
[White "FrankWalter"]
[Black "The King"]
[Result "1-0"]

1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Nf3 c5 5.g3 Nc6 6.dxc5 Bxc5 7.Bg2 d5 8.cxd5 exd5 9.Bg5 O-O 10.Bxf6 Qxf6 
11.Qxd5 Bb4 12.O-O Be6 13.Qb5 Rab8 14.Rfc1 a6 15.Qg5 Be7 16.Qxf6 Bxf6 17.Ne1 Nb4 18.a3 Nc6 19.Rab1 Rfd8 
20.Rd1 a5 21.Rxd8+ Rxd8 22.Nd3 Bd4 23.Rd1 Bb3 24.Rc1 Bc4 25.Bxc6 bxc6 26.Na4 Bb5 27.Nac5 a4 28.Kg2 g5
29.Rc2 Bg7 30.Nb4 h6 31.Kf3 Rd4 32.h3 Kf8 33.b3 axb3 34.Nxb3 Rc4 35.Rxc4 Bxc4 36.Na5 Bb5 37.Nd3 Bd4 
38.Nb3 Bb6 39.Nbc5 Ke7 40.a4 Bc4 41.Nb7 f5 42.Ndc5 Ba7 43.a5 Bd5+ 44.Ke3 Bc4 45.Kd2 h5 46.h4 g4 47.e3 
Bd5 48.Kc3 Bg8 49.a6 Bd5 50.Kb4 Bf3 51.Na5 Bd5 52.Nc4 Be6 53.Nxe6 Kxe6 54.Nb2 Kd5 55.Nd3 Ke4 56.Nf4
Kf3 57.Nxh5 Kxf2 58.Ng7 f4 59.exf4 Kxg3 60.h5 Kxf4 61.h6 g3 62.Nh5+ Kg5 63.Nxg3 Kxh6 64.Nf5+ Kg5 65.Ne7 
Be3 66.Nxc6 Kf6 67.Kc4 Bb6 68.Kb5 Bf2 69.Nb4 Ke6 70.Kc6 Ba7 71.Nd5 Kf5 72.Kb7 Bd4 73.Nb6 1-0

See also

Forum Posts

2009

2018 ...

External Links

Chess Engine

Misc

References

Up one level