Difference between revisions of "Apery"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * Apery''' border|right|thumb|250px| [[:Category:Toriyama Sekien|Toriyama Sekien - [https://en.wikipedia.org/w...") |
GerdIsenberg (talk | contribs) |
||
Line 1: | Line 1: | ||
'''[[Main Page|Home]] * [[Engines]] * Apery''' | '''[[Main Page|Home]] * [[Engines]] * Apery''' | ||
− | [[FILE: | + | [[FILE:SekienSatori.jpg|border|right|thumb|250px| [[:Category:Toriyama Sekien|Toriyama Sekien]] - [https://en.wikipedia.org/wiki/Satori_(folklore) Satori] <ref> [https://en.wikipedia.org/wiki/Satori_(folklore) Satori] from the [https://en.wikipedia.org/wiki/Konjaku_Gazu_Zoku_Hyakki Konjaku Gazu Zoku Hyakki] (今昔画図続百鬼) by [[:Category:Toriyama Sekien|Toriyama Sekien]], circa 1779, [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]] |
'''Apery''',<br/> | '''Apery''',<br/> | ||
Line 55: | Line 55: | ||
* [https://www.apply.computer-shogi.org/wcsc30/appeal/Apery/apery_appeal_wcsc30.html WCSC30 Apery Appeal document] (Japanese) | * [https://www.apply.computer-shogi.org/wcsc30/appeal/Apery/apery_appeal_wcsc30.html WCSC30 Apery Appeal document] (Japanese) | ||
==Misc== | ==Misc== | ||
+ | * [https://en.wiktionary.org/wiki/apery apery - Wiktionary] | ||
+ | * [https://en.wikipedia.org/wiki/Satori_(folklore) Satori (folklore) from Wikipedia] | ||
* [https://en.wikipedia.org/wiki/Roger_Ap%C3%A9ry Roger Apéry from Wikipedia] » [[Mathematician#RApery|Roger Apéry]] | * [https://en.wikipedia.org/wiki/Roger_Ap%C3%A9ry Roger Apéry from Wikipedia] » [[Mathematician#RApery|Roger Apéry]] | ||
* [https://mathshistory.st-andrews.ac.uk/Biographies/Apery/ Roger Apéry (1916 - 1994) - Biography] - [https://en.wikipedia.org/wiki/MacTutor_History_of_Mathematics_archive MacTutor History of Mathematics] | * [https://mathshistory.st-andrews.ac.uk/Biographies/Apery/ Roger Apéry (1916 - 1994) - Biography] - [https://en.wikipedia.org/wiki/MacTutor_History_of_Mathematics_archive MacTutor History of Mathematics] |
Revision as of 16:17, 8 August 2020
Apery,
an USI compliant open source Shogi engine developed by Takuya Hiraoka,
initially written in C++, in 2019 ported to Rust [2],
licensed under the GPL v3.0. Apery's search is derived from Stockfish with board representation and move generation adopted to Shogi,
including magic bitboards for the sliding pieces rook, bishop, as well as the sliding attack subsets of the promoted dragon and horse - of course due to the 7-bit inner piece occupancy of the 9x9 board, somewhat bigger tables.
The improved search of the Rust version makes it stronger than the C++ version, despite a little bit lower NPS.
Apery's initial evaluation was Bonanza like, using piece-square tables indexed by king location and further two-piece locations, dubbed KPP or KKP.
More recent versions require evaluation function binaries as a sub-module as specified by the USI Eval_Dir command.
Since 2012, Apery regularly participates at World Computer Shogi Championships. It won the WCSC24 in 2014, and became third at the WCSC28 in 2018.
Contents
Bitboards
Shogi Bitboards are defined as array of two quad words.
C++
The C++ Apery has a conditional compiled union type with 128-bit type __m128i, explicitly taking advantage of SSE2 and SSE4 instructions [3].
class Bitboard { ... private: #if defined (HAVE_SSE2) || defined (HAVE_SSE4) union { u64 p_[2]; __m128i m_; }; #else u64 p_[2]; // p_[0] : Seeing from the front, 1 to 79 are arranged vertically. Use 63 bits. Call it right.。 // p_[1] : Seeing from the front, 8 bits from 1 to 19 are arranged vertically. Use 18 bits. Call it left. #endif };
Rust
pub struct Bitboard { pub v: [u64; 2], }
Publications
- Takenobu Takizawa, Takeshi Ito, Takuya Hiraoka, Kunihito Hoki (2015). Contemporary Computer Shogi. Encyclopedia of Computer Graphics and Games
Forum Posts
- Japanese Chess (Shogi) Engines USI - Shogidokoro-GUI 3.7.2 by Norbert Raimund Leisner, CCC, September 12, 2016
- WinBoard 4.8.0 for Shogi - Tanuki USI Engine by Norbert Raimund Leisner, CCC, September 16, 2016
- Re: The Stockfish of shogi by Fabian Fichter, CCC, January 07, 2020
External Links
Shogi Engine
- Apery
- GitHub - HiraokaTakuya/apery_rust: USI shogi engine written in Rust
- GitHub - HiraokaTakuya/apery: a USI Shogi engine
- WCSC30 Apery Appeal document (Japanese)
Misc
- apery - Wiktionary
- Satori (folklore) from Wikipedia
- Roger Apéry from Wikipedia » Roger Apéry
- Roger Apéry (1916 - 1994) - Biography - MacTutor History of Mathematics
- Apéry's constant from Wikipedia
- Apéry's theorem from Wikipedia
References
- ↑ Satori from the Konjaku Gazu Zoku Hyakki (今昔画図続百鬼) by Toriyama Sekien, circa 1779, Wikimedia Commons
- ↑ GitHub - HiraokaTakuya/apery_rust: USI shogi engine written in Rust
- ↑ apery/bitboard.hpp at master · HiraokaTakuya/apery · GitHub
- ↑ apery_rust/bitboard.rs at master · HiraokaTakuya/apery_rust · GitHub