Changes

Jump to: navigation, search

YaneuraOu

3,248 bytes added, 19:08, 3 October 2020
Created page with "'''Home * Engines * YaneuraOu''' '''YaneuraOu''', (やねうら王, King Yaneura)<br/> an USI compliant open source Shogi..."
'''[[Main Page|Home]] * [[Engines]] * YaneuraOu'''

'''YaneuraOu''', (やねうら王, King Yaneura)<br/>
an [[USI]] compliant [[:Category:Open Source|open source]] [[Shogi]] engine as well as [[Search|search]] Shogi library by [[Motohiro Isozaki]] aka Yaneurao, written in [[Cpp|C++]]. YaneuraOu with '''Otafuku Lab 2019''' won the [[WCSC29]] in 2019 <ref>[http://www2.computer-shogi.org/wcsc29/ 第29回世界コンピュータ将棋選手権 29th World Computer Shogi Championship]</ref> <ref>[https://otafuku-lab.co/ 大阪のAI・人工知能開発に特化したシステム会社 | お多福ラボ | A system company specializing in AI / artificial intelligence development in Osaka | Otafuku Lab]</ref>, YaneuraOu was further mentioned in the library column of many programs participating in the WCSC29, such as runner-up [[Kristallweizen]], third placed [[Tanu-King]], and 14 others.

=Features=
YaneuraOu applies a Shogi adaptation of [[Stockfish|Stockfish's]] search, and uses a [[NNUE]] type of [[Evaluation|evaluation]] developed by [[Tanu-King]] team member [[Yu Nasu]] <ref>[https://www.apply.computer-shogi.org/wcsc29/appeal/YaneuraOu/appeal.txt wcsc29/YaneuraOu/appeal.txt]</ref>.
One of the characteristics of the NNUE type is that the number of parameters of the evaluation function is smaller than [[Bonanza|Bonanz's]] [[Bonanza#Description|KPPT]] type.
Since the number of training phases required for [[Reinforcement Learning|reinforcement learning]] is considered to be approximately proportional to the number of parameters
of the evaluation function, the NNUE type should require fewer training phases than the KPPT type.

=Bitboards=
9x9 Shogi [[Bitboards]] are defined as [[Array|array]] of two [[Quad Word|quad words]] and similar to [[Apery#Bitboards|Apery]] a conditional compiled [https://en.wikipedia.org/wiki/Union_type union type] with 128-bit type __m128i:
<pre>
// Bitboard 本体クラス

struct alignas(16) Bitboard
{
#if defined (USE_SSE2)
union
{
// 64bit each
u64 p[2];

// For handling with SSE
// bit0 represents SQ_11, bit1 represents SQ_12,…, bit81 represents SQ_99.
// This bit position corresponds to the Square type.
// However, bit63 is unused. This is a hack to find the rook's advantage with one pext by leaving here.
// Invented by the magic bitboard sect, including Apery.
__m128i m;
};
#else // no SSE
u64 p[2];
#endif
</pre>
=Forum Posts=
* [http://talkchess.com/forum3/viewtopic.php?t=72754 The Stockfish of shogi] by [[Larry Kaufman]], [[CCC]], January 07, 2020
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72754&start=1 Re: The Stockfish of shogi] by [[Fabian Fichter]], [[CCC]], January 07, 2020

=External Links=
* [https://github.com/yaneurao/YaneuraOu GitHub - yaneurao/YaneuraOu: YaneuraOu is the World's Strongest Shogi engine(AI player), WCSC29 1st winner , educational and USI compliant engine]
* [http://yaneuraou.yaneu.com/ やねうら王 公式サイト | コンピューター将棋 やねうら王 公式サイト Yaneura Ou Official Website] (Japanese)

=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:Shogi]]
[[Category:NNUE]]
[[Category:USI]]
[[Category:PC]]
[[Category:X64]]
[[Category:Windows]]
[[Category:Linux]]

Navigation menu