Stockfish和GNU Chess棋力都很强

As of 2 September 2017 GNU Chess 5.60 is rated at 2813 Elo points (when using one CPU) on CCRL's 40-moves-in-40-minutes list. For comparison, the strongest chess engine in the list using one CPU, Strelka 5.5, has an Elo rating of 3108 (the 295 ELO point difference indicates that Strelka 5.5 would beat GNU Chess 5.60 in about 85% of games). On the same list, Fritz 8 is rated at only 2701, and that program in the 2004 Man vs Machine World Team Championship beat grandmasters Sergey Karjakin, Veselin Topalov and reached a draw with Ruslan Ponomariov. The IQ6 test suite (a collection of chess problems from Livshits's book Test Your Chess IQ) indicates that on a single core of an Intel Core 2 Duo CPU GNU Chess performs at the senior master/weak international master strength of 2500+ on the Elo rating system.

The first version of GNU Chess was written by Stuart Cracraft back in 1984. Versions from 2 to 4 were written by John Stanback. Version 5 was written by Chua Kong-Sian. Version 6 was written by Fabien Letouzey. Chua Kong Sian (Kong Sian) is a Singaporean computer scientist affiliated with the National University of Singapore and its former National Supercomputing Research Centre Singapore. As computer chess programmer, Chua Kong Sian is author of Cobalt, primary author of GNU Chess Version 5, and author of the C++ UCI bitboard-based engine Melee Chess.

GNU Chess的开局库.gz有20MB.

10 Strongest Free Chess Engines [all above 3000 ELO] at TheChessWorld.com  Stockfish is the most powerful, free, open source chess engine in the world. Rated only 20 ELO points below the top commercial chess engine Houdini 4. 

The Stockfish engine features two evaluation functions for chess, the classical evaluation based on handcrafted terms, and the NNUE (Efficiently Updateable Neural Network) evaluation based on efficiently updatable neural networks. The classical evaluation runs efficiently on almost all CPU architectures, while the NNUE evaluation benefits from the vector intrinsics available on most CPUs (sse2, avx2, neon, or similar).

Both approaches assign a value to a position that is used in alpha-beta (PVS) search to find the best move. The classical evaluation computes this value as a function of various chess concepts, handcrafted by experts, tested and tuned using fishtest. The NNUE evaluation computes this value with a neural network based on basic inputs (e.g. piece positions only). The network is optimized and trained on the evaluations of millions of positions at moderate search depth.

If "Use NNUE" is set to "true", the network parameters must be available to load from file, if they are not embedded in the binary. make时会调用wget下载。

The NNUE evaluation was first introduced in shogi, and ported to Stockfish afterward. It can be evaluated efficiently on CPUs, and exploits the fact that only parts of the neural network need to be updated after a typical chess move. On CPUs supporting modern vector instructions, the NNUE evaluation results in much stronger playing strength, even if the nodes per second computed by the engine is somewhat lower (roughly 80% of nps is typical).

The neural network of Stockfish NNUE consists of four layers, W1 through W4. NNUE stands for Efficiently Updateable Neural Network. It's "NNUE" instead of "EUNN" because the technique was adopted from a shogi engine, and NNUE is wordplay in Japanese.“ (englisch), mit Link zum Artikel Nue in der englischsprachigen Wikipedia, abgerufen am 31. Dezember 2020.

Download Stockfish 14.1 - Stockfish - Open Source Chess Engine (stockfishchess.org) Intel Vector Neural Network Instructions 512, NEON(ARM SIMD architecture) 貌似不支持AMD和显卡。我用不着学这么高档的,GNU Chess也未必能学会。

Code Sample: Intel® AVX512-Deep Learning Boost: Intrinsic Functions

Once the data is loaded, perform the dot product operation using the fused instruction vpdpbusds, which is called via the intrinsic function _mm512_dpbusds_epi32. This instruction multiplies groups of four adjacent pairs of unsigned 8-bit integers in v1_int8 with corresponding signed 8-bit integers in v2_int8, producing four intermediate signed 16-bit results. It then adds these four results with the corresponding 32-bit integer in v3_int using signed saturation, and returns the packed 32-bit results. 好像没法和TPU与GPU比。

国际象棋8x8,中国象棋9x10, 围棋19x19,和推箱子比起来都是弟弟?20x20的房间算大吗?就是"棋子"少。

posted @ 2021-12-19 10:23  华容道专家  阅读(443)  评论(0)    收藏  举报