Giter VIP home page Giter VIP logo

pikafish's Introduction

Pikafish

Pikafish

A free and strong UCI xiangqi engine.
Explore Pikafish docs »

Report bug · Open a discussion · Discord · Blog

Build License RuleBook
Release Commits
Website Fishtest Discord

Overview

Pikafish is a free and strong UCI xiangqi engine derived from Stockfish that analyzes xiangqi positions and computes the optimal moves.

Pikafish does not include a graphical user interface (GUI) that is required to display a chessboard and to make it easy to input moves. These GUIs are developed independently from Pikafish and are available online. Read the documentation for your GUI of choice for information about how to use Pikafish with it.

See also the Pikafish documentation for further usage help.

Files

This distribution of Pikafish consists of the following files:

  • README.md, the file you are currently reading.

  • Copying.txt, a text file containing the GNU General Public License version 3.

  • AUTHORS, a text file with the list of authors for the official Pikafish project.

  • src, a subdirectory containing the full source code, including a Makefile that can be used to compile Pikafish on Unix-like systems.

  • a file with the .nnue extension, storing the neural network for the NNUE evaluation.

Contributing

See Contributing Guide.

Donating hardware

Improving Pikafish requires a massive amount of testing. You can donate your hardware resources by installing the Fishtest Worker and viewing the current tests on Fishtest.

Improving the code

In the chessprogramming wiki, many techniques used in Pikafish are explained with a lot of background information. The section on Stockfish describes many features and techniques used by Stockfish. However, it is generic rather than focused on Stockfish's precise implementation.

The engine testing is done on Fishtest. If you want to help improve Pikafish, please read this guideline first, where the basics of Pikafish development are explained.

Discussions about Pikafish take place these days mainly in the Pikafish Discord server. This is also the best place to ask questions about the codebase and how to improve it.

Compiling Pikafish

Pikafish has support for 32 or 64-bit CPUs, certain hardware instructions, big-endian machines such as Power PC, and other platforms.

On Unix-like systems, it should be easy to compile Pikafish directly from the source code with the included Makefile in the folder src. In general, it is recommended to run make help to see a list of make targets with corresponding descriptions.

cd src
make -j build ARCH=x86-64-modern

Detailed compilation instructions for all platforms can be found in our documentation. Our wiki also has information about the UCI commands supported by Pikafish.

Terms of use

GNU General Public License version 3

Pikafish is free and distributed under the GNU General Public License version 3 (GPL v3). Essentially, this means you are free to do almost exactly what you want with the program, including distributing it among your friends, making it available for download from your website, selling it (either by itself or as part of some bigger software package), or using it as the starting point for a software project of your own.

The only real limitation is that whenever you distribute Pikafish in some way, you MUST always include the license and the full source code (or a pointer to where the source code can be found) to generate the exact binary you are distributing. If you make any changes to the source code, these changes must also be made available under GPL v3.

pikafish's People

Contributors

31m059 avatar bm123499 avatar ceebo avatar cj5716 avatar disservin avatar dubslow avatar fauziakram avatar glinscott avatar joergoster avatar locutus2 avatar lucasart avatar mcostalba avatar miguel-l avatar mjz1977 avatar mstembera avatar pb00068 avatar pikacat-ouo avatar r-peleg avatar rocky640 avatar sfisgod avatar snicolet avatar sopel97 avatar stefano80 avatar syzygy1 avatar unaiic avatar uniqp avatar vizvezdenec avatar vondele avatar voyagerone avatar zamar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pikafish's Issues

no support for xboard 4.9 in linux

Describe the issue

I tried Pikafish.2023-02-16 on xboard 4.9.1 on ubuntu 20.04 and there is this error: variant xiangqi not supported by Pikafish dev 2023-02-16.
What a pity!
Why stop supporting linux? What is the last version that supports xboard?

Thank you.

Expected behavior

latest version support for xboard.

Steps to reproduce

xboard -variant xiangqi -ubt true -lbtf /usr/share/games/xboard/themes/textures/xqboard-9x10.png -dbtf /usr/share/games/xboard/themes/textures/xqboard-9x10.png -pid /usr/share/games/xboard/themes/xiangqi -trueColors true -overrideLineGap 0 -fcp /home/name/Downloads/Pikafish.2023-02-16/linux/pikafish-modern -fUCI

Anything else?

No response

Operating system

Linux

Pikafish version

Pikafish 2023-02-16

[CLI] Replace white/white side with red/red side in human facing texts

Describe the issue

The upstream engine is designed for Chess where there's a white side and black side, while CC uses a red/black palette. While it's reasonable to keep the white/black terms in code to make pulling upstream changes or rebasing easier, it makes the console interface more intuitive for CC players to adopt red/black terms in user-facing texts.

For example:

eval
info string NNUE evaluation using pikafish.nnue enabled


 NNUE derived piece values:
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|   r   |   n   |   b   |   a   |   k   |   a   |   b   |   n   |   r   |
| -6.70 | -2.83 | -0.93 | -0.85 |       | -0.89 | -1.12 | -2.77 | -6.48 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |       |       |       |       |
|       |       |       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |   c   |       |       |       |       |       |   c   |       |
|       | -3.99 |       |       |       |       |       | -3.84 |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|   p   |       |   p   |       |   p   |       |   p   |       |   p   |
| +0.18 |       | -0.19 |       | -1.03 |       | -0.32 |       | -0.02 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |       |       |       |       |
|       |       |       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |       |       |       |       |
|       |       |       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|   P   |       |   P   |       |   P   |       |   P   |       |   P   |
| -0.15 |       | +0.20 |       | +0.69 |       | +0.31 |       | +0.05 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |   C   |       |       |       |       |       |   C   |       |
|       | +3.74 |       |       |       |       |       | +3.67 |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |       |       |       |       |
|       |       |       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|   R   |   N   |   B   |   A   |   K   |   A   |   B   |   N   |   R   |
| +7.01 | +2.69 | +1.00 | +0.86 |       | +0.93 | +1.17 | +2.74 | +6.81 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+

 NNUE network contributions (White to move)
+------------+------------+------------+------------+
|   Bucket   |  Material  | Positional |   Total    |
|            |   (PSQT)   |  (Layers)  |            |
+------------+------------+------------+------------+
|  0         |     0.00   |  +  0.64   |  +  0.64   |
|  1         |     0.00   |  -  0.82   |  -  0.82   |
|  2         |     0.00   |  +  0.95   |  +  0.95   |
|  3         |     0.00   |  +  0.53   |  +  0.53   |
|  4         |     0.00   |  +  0.19   |  +  0.19   |
|  5         |     0.00   |  +  0.25   |  +  0.25   |
|  6         |     0.00   |  +  0.20   |  +  0.20   |
|  7         |     0.00   |  +  0.32   |  +  0.32   | <-- this bucket is used
+------------+------------+------------+------------+

NNUE evaluation        +0.32 (white side)
Final evaluation       +0.42 (white side) [with scaled NNUE, optimism, ...]

The term "white side" should be "red side" in CC context.

Expected behavior

White/white side should be replaced with red/red side in user-facing texts.

Steps to reproduce

startpos
eval

Anything else?

No response

Operating system

All

Pikafish version

26f3659

使用在线皮卡鱼时,发现皮卡鱼错判(线上版本,如果无关可closed)

Describe the issue

线上棋谱链接:https://xiangqiai.com/#/3R2b2/4k4/b8/p1P5p/9/4n1C2/1n5rP/6N1B/4A4/2B1KA3%20b
image
轮到黑方走棋,ai采用默认设置,此时黑方ai会选择跳马,并判断红方-2000分,此时ai判断红发最优手为车吃马
image

Expected behavior

但如果红方采用士吃马,红发会变为800分,此时红发大优
image
黑方不应该跳马

Steps to reproduce

见上图

Anything else?

No response

Operating system

All

Pikafish version

online

使用vs2019编译后运行出错,应该是nnue的

Describe the issue

evaluate_nnue.cpp里面的:
// Read network parameters
bool read_parameters(std::istream& stream) {

std::uint32_t hashValue;
if (!read_header(stream, &hashValue, &netDescription)) return false;
if (hashValue != HashValue) return false;
if (!Detail::read_parameters(stream, *featureTransformer)) return false;
for (std::size_t i = 0; i < LayerStacks; ++i)
  if (!Detail::read_parameters(stream, *(network[i]))) return false;

调试发现这里 network 的 header != T::get_hash_value() 不一样导致的。

return stream && stream.peek() == std::ios::traits_type::eof();

}

这个header的值是与计算的T::get_hash_value() 不一样导致的。

请问这个是因为使用的nnue与代码不一致导致的吗?使用的nnue是release里面的nnue。

谢谢了。

Expected behavior

程序运行错误,提示:
info string ERROR: Network evaluation parameters compatible with the engine must be available.
info string ERROR: The network file pikafish.nnue was not loaded successfully.
info string ERROR: The UCI option EvalFile might need to specify the full path, including the directory name, to the network file.
info string ERROR: The engine will be terminated now.

Steps to reproduce

启动程序,输入bench

Anything else?

No response

Operating system

Windows

Pikafish version

pikafish-2022-12-26

Perpetual chase

Describe the issue

Pikafish perpetually chased and lost a game

Expected behavior

No perpetual chase

Steps to reproduce

Load the attached game and test the engine last 1-2 movesengine's

Anything else?

[Event "NNUE engines with diff threads"]
[Site "My computer AMD"]
[Date "2023.01.19"]
[Time "23:28:38"]
[White "Pikafish 1 thread 16MB"]
[Black "CCStockfish 1 thread 16MB"]
[Result "0-1"]
[Termination "perpetual chase"]
[ECO "E40"]
[Opening "Pawn vs. Pawn"]
[TimeControl "40/300+1"]
[PlyCount "62"]
[Variant "xiangqi"]

1.c4 g5 2.Che2 {E40: Pawn vs. Pawn} Nc7
3.Nc2 Ng7 4.Nd4 Rh9
5.Ng2 Ci7 6.Ri1 Bce7
7.Cb4 Ade8 8.Cd2 a5
9.Bce2 Ra6 10.Raa1 Rh6
11.Cb0 e5 12.Cc0 {End of opening} e4
13.Nxc6 Rd6 14.Cdc2 Nce6
15.xe4 Nf4 16.Rib1 Ngh5
17.Rb3 Ra9 18.g4 Rad9
19.Afe1 xg4 20.Cd2 Cd7
21.Cxd7 R9xd7 22.Nxf4 xf4
23.e5 Cxi3 24.Rh3 Ci0+
25.Rh0 Ci1 26.e6 Rd5
27.Cc1 Ci3 28.Rh3 Ci0+
29.Rh0 Ci3 30.Rh3 Ci0+
31.Rh0 Ci3 0-1

Operating system

All

Pikafish version

Pikafish 2022

Android target SDK > 28 can no longer execute binaries in the data directory.

Describe the issue

From android 10 version, we cannot execute binary file without root permission. If they set targetSDK = 28, they cannot be released on the play store.

Expected behavior

Any method that integrates the engine

Steps to reproduce

public class Engine {
public Engine(File engineFile) {
String command = engineFile.getAbsolutePath();
try {
Process process = Runtime.getRuntime().exec(command);

		InputStream inputStream = process.getInputStream();
		BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

		
		String line;
		while ((line = reader.readLine()) != null) {
		
			Log.i("enginechess", line);
		}

		
		int exitCode = process.waitFor();
		Log.i("enginechess", "Exit code: " + exitCode);
	} catch (IOException | InterruptedException e) {
		e.printStackTrace();
	}

}

Anything else?

No response

Operating system

Android

Pikafish version

Pikafish 2023-03-05

Fail to read the score output

Thank you for your amazing work.

This engine is much more powerful than other ones in my test. There is only a problem that the score is not displayed (this value is always displayed as 0), whereas other engines can display this value correctly. I am not sure where this problem come from (from my Intella GUI or from the pikafish).

I also found the same issue with fairy-stockfish as be mentioned in this post.

为什么我下载源码编译后不能得到可执行文件

他总是编译成为一个Linux执行文件,不管我怎么修改archs的值,十分感谢有人能够帮助我解决这个问题,以下为我编译情况,看是否还需要提供什么信息

root@liu-virtual-machine:/home/liu/Downloads/Pikafish-master/src# make build ARCH=x86-64-modern

Config:
debug: 'no'
sanitize: 'none'
optimize: 'yes'
arch: 'x86_64'
bits: '64'
kernel: 'Linux'
os: 'GNU/Linux'
prefetch: 'yes'
popcnt: 'yes'
pext: 'no'
sse: 'yes'
mmx: 'no'
sse2: 'yes'
ssse3: 'yes'
sse41: 'yes'
avx2: 'no'
avxvnni: 'no'
avx512: 'no'
vnni256: 'no'
vnni512: 'no'
neon: 'no'
arm_version: '0'

Flags:
CXX: g++
CXXFLAGS: -Wall -Wcast-qual -fno-exceptions -std=c++17 -finput-charset=UTF-8 -fexec-charset=GBK -pedantic -Wextra -Wshadow -m64 -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_SSE41 -msse4.1 -DUSE_SSSE3 -mssse3 -DUSE_SSE2 -msse2 -flto
LDFLAGS: -m64 -Wl,--no-as-needed -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -finput-charset=UTF-8 -fexec-charset=GBK -pedantic -Wextra -Wshadow -m64 -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_SSE41 -msse4.1 -DUSE_SSSE3 -mssse3 -DUSE_SSE2 -msse2 -flto -flto=jobserver

Testing config sanity. If this fails, try 'make help' ...

make ARCH=x86-64-modern COMP=gcc all
make[1]: Entering directory '/home/liu/Downloads/Pikafish-master/src'
g++ -o pikafish benchmark.o bitboard.o evaluate.o main.o misc.o movegen.o movepick.o position.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o evaluate_nnue.o half_ka_v2_xq.o -m64 -Wl,--no-as-needed -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -finput-charset=UTF-8 -fexec-charset=GBK -pedantic -Wextra -Wshadow -m64 -DUSE_PTHREADS -DNDEBUG -O3 -DIS_64BIT -msse -msse3 -mpopcnt -DUSE_POPCNT -DUSE_SSE41 -msse4.1 -DUSE_SSSE3 -mssse3 -DUSE_SSE2 -msse2 -flto -flto=jobserver
lto-wrapper: warning: jobserver is not available: ‘--jobserver-auth=’ is not present in ‘MAKEFLAGS’
make[1]: Leaving directory '/home/liu/Downloads/Pikafish-master/src'
root@liu-virtual-machine:/home/liu/Downloads/Pikafish-master/src# file pikafish
pikafish: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ecf17b62625af755184a9f7f472f5e5d41af98a9, for GNU/Linux 3.2.0, not stripped
root@liu-virtual-machine:/home/liu/Downloads/Pikafish-master/src#

Classic Evaluation

This engine should enable classic evaluation along with NNUE evaluation. Thank you.

consultation on authorization related issues

Describe the issue

Dear project owner, I am developing a stand-alone web chess game recently, and it looks like this:

untitile

It will be free and open source. If I use the webassembly version of pikafish in this project, whether I need some kind of authorization, or leave some copyright information in the application, I don't know much about this aspect.

Expected behavior

No

Steps to reproduce

No

Anything else?

No response

Operating system

All

Pikafish version

Pikafish 2023-03-05

有什么推荐的GUI软件配合使用吗?

Describe the issue

网上找了一圈都没有好用的

Expected behavior

网上找了一圈都没有好用的

Steps to reproduce

网上找了一圈都没有好用的

Anything else?

No response

Operating system

Windows

Pikafish version

2022

BUG 特定的moves 导致盘面翻转 提前走步

Describe the issue

在这个时候 这个指令的盘面还是正常的

回合数 : 25 对方走子: c2c3 走法: 車3退1
指令: 1Cbakrb2/5n3/9/p2R4p/4p4/2p6/P1r5P/4B4/9/1RBAKA3 w moves b7e7 b0c2 b9c7 h0g2 a9b9 a0b0 g6g5 c3c4 b9b3 g0e2 b3c3 g2e1 h9g7 h2h3 g7f5 g3g4 f5g3 g4g5 h7g7 h3h6 c6c5 g5g6 i9h9 i0h0 g7g8 h0h3 e6e5 g6g7 e7e3 c2e3 c3e3 e1c2 e3c3 g7g8 c3c2 h3g3 h9h6 g8f8 h6f6 g3g7 c7e6 f8f9 f6f9 g7d7 e6f8 d7d6 c5c4 b2b9 c2c3
回合数 : 25 机器走子: b0b7 走法: 車八进七

出现错误的如下指令: 盘面发生翻转

回合数 : 26 对方走子: e9e8 走法: 将5进1
指令: 1Cba1rb2/4kn3/1R7/p2R4p/4p4/2p6/P1r5P/4B4/9/2BAKA3 w moves b7e7 b0c2 b9c7 h0g2 a9b9 a0b0 g6g5 c3c4 b9b3 g0e2 b3c3 g2e1 h9g7 h2h3 g7f5 g3g4 f5g3 g4g5 h7g7 h3h6 c6c5 g5g6 i9h9 i0h0 g7g8 h0h3 e6e5 g6g7 e7e3 c2e3 c3e3 e1c2 e3c3 g7g8 c3c2 h3g3 h9h6 g8f8 h6f6 g3g7 c7e6 f8f9 f6f9 g7d7 e6f8 d7d6 c5c4 b2b9 c2c3 b0b7 e9e8
回合数 : 26 机器走子: e8e7 走法: 将5进1

Expected behavior

盘面与fen字符串 不符合 而且go depth 1 获取出招是对方的出招。 fen字符串 产生了自走
fen 1Cba1rb2/4kn3/1R7/p2R4p/4p4/2p6/P1r5P/4B4/9/2BAKA3 w moves b7e7 b0c2 b9c7 h0g2 a9b9 a0b0 g6g5 c3c4 b9b3 g0e2 b3c3 g2e1 h9g7 h2h3 g7f5 g3g4 f5g3 g4g5 h7g7 h3h6 c6c5 g5g6 i9h9 i0h0 g7g8 h0h3 e6e5 g6g7 e7e3 c2e3 c3e3 e1c2 e3c3 g7g8 c3c2 h3g3 h9h6 g8f8 h6f6 g3g7 c7e6 f8f9 f6f9 g7d7 e6f8 d7d6 c5c4 b2b9 c2c3 b0b7 e9e8
d

+---+---+---+---+---+---+---+---+---+
| | C | b | a | | r | b | | | 9
+---+---+---+---+---+---+---+---+---+
| | | | | k | n | | | | 8
+---+---+---+---+---+---+---+---+---+
| | | | | R | | | | | 7
+---+---+---+---+---+---+---+---+---+
| p | | | R | | | | | p | 6
+---+---+---+---+---+---+---+---+---+
| | | | | p | | | | | 5
+---+---+---+---+---+---+---+---+---+
| | | p | | | | | | | 4
+---+---+---+---+---+---+---+---+---+
| P | | r | | | | | | P | 3
+---+---+---+---+---+---+---+---+---+
| | | | | B | | | | | 2
+---+---+---+---+---+---+---+---+---+
| | | | | | | | | | 1
+---+---+---+---+---+---+---+---+---+
| | | B | A | K | A | | | | 0
+---+---+---+---+---+---+---+---+---+
a b c d e f g h i

Steps to reproduce

fen 1Cba1rb2/4kn3/1R7/p2R4p/4p4/2p6/P1r5P/4B4/9/2BAKA3 w moves b7e7 b0c2 b9c7 h0g2 a9b9 a0b0 g6g5 c3c4 b9b3 g0e2 b3c3 g2e1 h9g7 h2h3 g7f5 g3g4 f5g3 g4g5 h7g7 h3h6 c6c5 g5g6 i9h9 i0h0 g7g8 h0h3 e6e5 g6g7 e7e3 c2e3 c3e3 e1c2 e3c3 g7g8 c3c2 h3g3 h9h6 g8f8 h6f6 g3g7 c7e6 f8f9 f6f9 g7d7 e6f8 d7d6 c5c4 b2b9 c2c3 b0b7 e9e8
d

Anything else?

No response

Operating system

Windows

Pikafish version

12-3

Engine Stops Calculating at Depth 15-16 with Full FEN String for a specific position

Describe the issue

I've encountered a bug in the Pikafish Xiangqi engine where the engine stops calculating moves after reaching depth 15-16 for a specfic position. This issue arises when using a full FEN string command but does not occur with a shortened version of the FEN string.

Expected behavior

The engine should consistently calculate up to the specified depth (in this case, depth 18) regardless of whether additional parameters (like halfmove clock and fullmove number) are included in the FEN string.

Steps to reproduce

Input the command with a full FEN string:
position fen 1rbP1a3/2N1k4/4b1n2/p3p3p/7P1/2C5P/P3P4/B1N1C4/4Ar3/3RKAB1c b - - 2 26
go depth 18
Observe that the engine stops calculating between depths 15-16.

Input the command with a shortened FEN string (without the additional parameters after the move side):
position fen 1rbP1a3/2N1k4/4b1n2/p3p3p/7P1/2C5P/P3P4/B1N1C4/4Ar3/3RKAB1c b
go depth 18
Observe that the engine calculates as expected up to depth 18.

Anything else?

It's unclear why removing the " - - 2 26" part from the FEN string resolves the issue. This inconsistency in behavior depending on the FEN string format is puzzling and seems to be a bug.

Operating system

Windows

Pikafish version

Pikafish 2023-03-05

Unable to load nnue normally, even if option is set

Describe the issue

我已经把pikafish.nnue文件放在与可执行文件同一目录下,而且没有修改过代码中的任何配置信息,打包完成后运行bench就会提示不能正确找到pikafish.nnue文件,实际上经过调试,我发现默认情况下currentEvalFileName一直为None,但是setoption name EvalFile value path/to/*.nnue也会直接崩溃,我在macos和windows两台电脑上都遇到了同样的问题。是不是nnue文件有问题,请问这个文件需要与代码的版本对应吗?以下是在不设置option情况下的报错。

I have placed the pikafish.nnue file in the same directory as the executable file, and have not modified any configuration information in the code. After the packaging is completed, running the bench will prompt that the pikafish.nnue file cannot be found correctly. In fact, after debugging, I It is found that currentEvalFileName is always None by default, but setoption name EvalFile value path/to/*.nnue will also crash directly. I have encountered the same problem on both macos and windows computers. Is there a problem with the nnue file? Does this file need to correspond to the version of the code? The following is the error reported without setting the option.

>make -j profile-build ARCH=x86-64-avx512
>make -j strip profile-build ARCH=x86-64-avx512

Position: 1/26 (rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1)
info string ERROR: Network evaluation parameters compatible with the engine must be available.
info string ERROR: The network file pikafish.nnue was not loaded successfully.
info string ERROR: The UCI option EvalFile might need to specify the full path, including the directory name, to the network file.
info string ERROR: The engine will be terminated now.

这是我的编译相关信息。
This is my compilation related information.

Compiled by g++ (GNUC) 12.2.0 on MinGW64
Compilation settings include:  64bit SSE41 SSSE3 SSE2 POPCNT
__VERSION__ macro expands to: 12.2.0

Expected behavior

Can load nnue normally without crashing

Steps to reproduce

>make -j profile-build ARCH=x86-64-avx512
>make -j strip profile-build ARCH=x86-64-avx512

Anything else?

No response

Operating system

All

Pikafish version

5d0cd46

使用python subprocess调用pikafish.exe文件无法工作

Describe the issue

本人在使用python 开发一个象棋游戏, 有需求调用 皮卡鱼提供AI支持, 目前打算采用subprocess直接调用exe文件,但是不work

python 代码如下:

import subprocess

p = subprocess.Popen("pikafish-bmi2.exe", stdin=subprocess.PIPE, stdout=subprocess.PIPE)

cmd = "uci\nisready\nposition startpos\ngo movetime 1000\n"

out, errs = p.communicate(cmd.encode())

print(out.decode("utf-8"))`

程序输出如下:

Pikafish dev 2023-03-05 by the Pikafish developers (see AUTHORS file)
id name Pikafish dev 2023-03-05
id author the Pikafish developers (see AUTHORS file)

option name Debug Log File type string default 
option name Threads type spin default 1 min 1 max 1024
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name Sixty Move Rule type check default true
option name Mate Threat Depth type spin default 1 min 0 max 10
option name Repetition Fold type combo default RootThreeFold var TwoFold var RootThreeFold var ThreeFold
option name Repetition Rule type combo default AsianRule var AsianRule var ChineseRule
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_WDLCentipawn type check default true
option name UCI_ShowWDL type check default false
option name EvalFile type string default pikafish.nnue
uciok
readyok
info string NNUE evaluation using pikafish.nnue enabled
bestmove a0a1

看上去皮卡鱼没有搜索就直接返回了, 有解决办法吗?

Expected behavior

import subprocess

p = subprocess.Popen("pikafish-bmi2.exe", stdin=subprocess.PIPE, stdout=subprocess.PIPE)
cmd = "uci\nisready\nposition startpos\ngo movetime 1000\n"
out, errs = p.communicate(cmd.encode())

print(out.decode("utf-8"))

Steps to reproduce

Pikafish dev 2023-03-05 by the Pikafish developers (see AUTHORS file)
id name Pikafish dev 2023-03-05
id author the Pikafish developers (see AUTHORS file)

option name Debug Log File type string default 
option name Threads type spin default 1 min 1 max 1024
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name Sixty Move Rule type check default true
option name Mate Threat Depth type spin default 1 min 0 max 10
option name Repetition Fold type combo default RootThreeFold var TwoFold var RootThreeFold var ThreeFold
option name Repetition Rule type combo default AsianRule var AsianRule var ChineseRule
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_WDLCentipawn type check default true
option name UCI_ShowWDL type check default false
option name EvalFile type string default pikafish.nnue
uciok
readyok
info string NNUE evaluation using pikafish.nnue enabled
bestmove a0a1

Anything else?

No response

Operating system

Windows

Pikafish version

Pikafish 2023-3-5

Perpetual chase: Black Cannon chases White Rook

Describe the issue

Black Cannon chases White Rook

Expected behavior

No chase

Steps to reproduce

[Event "The best"]
[Site "My computer AMD"]
[Date "2023.01.30"]
[Time "15:25:09"]
[Round "*"]
[White "SA Chess 1.6"]
[Black "Pikafish 2022-10-22"]
[Result "1-0"]
[Termination "perpetual chase"]
[ECO "B04"]
[Opening "Central Cannon vs. Right 3 Step Tiger Counter"]
[TimeControl "40/300+1"]
[PlyCount "36"]
[Variant "xiangqi"]

1.Che2 Hc7 2.Hg2 Ca7
3.Cbd2 {B04: Central Cannon vs. Right 3 Step Tiger Counter} Rb9 4.Hc2 Hg7
5.c4 g5 6.Rh0 Rh9
7.Rh6 Ci7 8.Rg6 Ci8
9.Ra2 Afe8 10.Rb2 Rxb2
11.Cxb2 Cg8 12.Rf6 Ege7
13.Rf8 Ca8 14.Cb8 Ad7
15.Cb3 A9e8 16.Cb8 Ad9
17.Cb3 A9e8 18.Cb8 Ad9
1-0

Anything else?

No response

Operating system

All

Pikafish version

Pikafish 2022-10-22

linux 下编译出错

Describe the issue

我在ubuntu 20.04 和 22.04里面编译src/,按照官方给的样例 make -j profile-build ARCH=x86-64-avx2,没有编译成功。
报错信息为 ‘Stockfish::SquareBB’ was not declared ‘constexpr’
image

Expected behavior

编译

Steps to reproduce

cd src/
make -j profile-build ARCH=x86-64-avx2

Anything else?

No response

Operating system

Linux

Pikafish version

最新仓库

Pikfafish crash on invalid FEN

Describe the issue

Pikafish engine crashes when an invalid FEN is sent through the fen command. It is not a big deal since the GUI front-end should not send such FEN positions in the first place. However, it would still be better not crash and send an error message according to the UCI protocal.

Expected behavior

No crash, and optionally return an error message about the situation.

Steps to reproduce

uci
fen foobar

Anything else?

(gdb) bt
#0  0x000055555555bf88 in Stockfish::Position::checkers_to(Stockfish::Color, Stockfish::Square, unsigned __int128) const ()
#1  0x000055555558e047 in Stockfish::Position::set(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Stockfish::StateInfo*, Stockfish::Thread*) [clone .isra.0] ()
#2  0x000055555558e47e in Stockfish::(anonymous namespace)::position(Stockfish::Position&, std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >&, std::unique_ptr<std::deque<Stockfish::StateInfo, std::allocator<Stockfish::StateInfo> >, std::default_delete<std::deque<Stockfish::StateInfo, std::allocator<Stockfish::StateInfo> > > >&) ()
#3  0x0000555555596556 in Stockfish::UCI::loop(int, char**) ()
#4  0x000055555555af71 in main ()

Operating system

Linux

Pikafish version

56a1939

Assertion failed: (0 < depth && depth < MAX_PLY), function search, file search.cpp, line 510.

Describe the issue

OS: iOS 17.4
Device: iPhone 13

Run cmd:

position fen 4k1rr1/9/9/9/9/9/9/9/9/5K3 w - - 0 0 moves f0f1
go movetime 3000

Throws assertion error => Assertion failed: (0 < depth && depth < MAX_PLY), function search, file search.cpp, line 510.

Expected behavior

Run normal.

Steps to reproduce

OS: iOS 17.4
Device: iPhone 13

Run cmd:

position fen 4k1rr1/9/9/9/9/9/9/9/9/5K3 w - - 0 0 moves f0f1
go movetime 3000

Anything else?

No response

Operating system

Other or N/A

Pikafish version

Pikafish 2023-03-05

eval command error

Describe the issue

uci
id name Pikafish 2023-04-08
id author the Pikafish developers (see AUTHORS file)

option name Debug Log File type string default
option name Threads type spin default 1 min 1 max 1024
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name Sixty Move Rule type check default true
option name Mate Threat Depth type spin default 1 min 0 max 10
option name Repetition Fold type combo default TwoFold var TwoFold var RootThreeFold var ThreeFold
option name Repetition Rule type combo default AsianRule var AsianRule var ChineseRule var SkyRule
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_WDLCentipawn type check default true
option name UCI_ShowWDL type check default false
option name EvalFile type string default pikafish.nnue
uciok
eavl
Unknown command: 'eavl'. Type help for more information.

Expected behavior

According to the wiki it should show the position score

Steps to reproduce

eavl
Unknown command: 'eavl'. Type help for more information.

Anything else?

eavl
Unknown command: 'eavl'. Type help for more information.

Operating system

All

Pikafish version

Pikafish 2023-04-08

xiangqiai.com 无法访问

Describe the issue

开发者您好,我经常使用Pikafish的在线版 http://www.xiangqiai.com/ 网站,非常便利。但近期该网站似乎无法访问,想询问一下~
感谢!

Error message

‘DNS_PROBE_FINISHED_NXDOMAIN’

Operating system

All

Pikafish version

web

not issue at all however, can you update regularly newest pikafish engine in github?

Describe the issue

Pikafish20240201 ( Update nnue and source engine )

https://www.4shared.com/s/fqGr4qSe4ge

Expected behavior

uci │·······································
id name Pikafish dev-20240201-ef66bda2 │·······································
id author the Pikafish developers (see AUTHORS file) │·······································
│·······································
option name Debug Log File type string default │·······································
option name Threads type spin default 1 min 1 max 1024 │·······································
option name Hash type spin default 16 min 1 max 33554432 │·······································
option name Clear Hash type button │·······································
option name Ponder type check default false │·······································
option name MultiPV type spin default 1 min 1 max 128 │·······································
option name Move Overhead type spin default 10 min 0 max 5000 │·······································
option name nodestime type spin default 0 min 0 max 10000 │·······································
option name UCI_ShowWDL type check default false │·······································
option name EvalFile type string default pikafish.nnue │·······································
uciok

Steps to reproduce

id name Pikafish dev-20240201-ef66bda2 │·······································
id author the Pikafish developers (see AUTHORS file) │·······································
│·······································
option name Debug Log File type string default │·······································
option name Threads type spin default 1 min 1 max 1024 │·······································
option name Hash type spin default 16 min 1 max 33554432 │·······································
option name Clear Hash type button │·······································
option name Ponder type check default false │·······································
option name MultiPV type spin default 1 min 1 max 128 │·······································
option name Move Overhead type spin default 10 min 0 max 5000 │·······································
option name nodestime type spin default 0 min 0 max 10000 │·······································
option name UCI_ShowWDL type check default false │·······································
option name EvalFile type string default pikafish.nnue │·······································
uciok

Anything else?

No response

Operating system

All

Pikafish version

Pikafish dev-20240201-ef66bda2

XBoard怎么用?

Describe the issue

我的系统是ubuntu20.04。安装方法如下:

  1. sudo apt-get install xboard fairymax
  2. sudo apt-get install hoichess sjaakii
  3. sudo apt install uci2wb
  4. https://sourceforge.net/projects/emacslocale/files/xiangqi/xboard-xiangqi/下载xboard-xiangqi_4.9.1-6_all.deb和xboard-xiangqi-themes_0.1-2_all.deb,使用dpkg -i 安装。
  5. 启动xboard-xiangqi
  6. 加载第一个引擎
    image
  7. 1号引擎设置
    image

第7步的设置界面比文档https://github.com/official-pikafish/Pikafish/wiki/Download-and-usage里少了很多项。

而且第一步棋走的非常差。【我看后台pikafish进程的cpu是100%,确实在跑】
image

Expected behavior

设置界面和教程一样,并且下棋正常

Steps to reproduce

参考前面

Anything else?

No response

Operating system

Linux

Pikafish version

Pikafish dev-20240529-c5b6f21a

pikafish.nnue无法使用

Describe the issue

我下载的2023-03-05官方版release的zip和code,提取的zip里的nnue,code编译好后,bench解析不了nnue文件,查了下version与size都对不上,头文件解析错误

Expected behavior

是我不会用nnue,还是没有找到正确的nnue文件,与code对应在哪里找呢

Steps to reproduce

.。。

Anything else?

No response

Operating system

Windows

Pikafish version

Pikafish 2023-03-05

miniz on iOS device

miniz (extract pikafish.nnue file) does not work when building for iOS device.

fail to compile on Linux machine?

Describe the issue

machine: Linux 22.04
CPU: AMD 3090

git clone https://github.com/official-pikafish/Pikafish
cd Pikafish/src
sudo make -j profile-build ARCH=x86-64-avx2 

or replace last command as:
make -j build ARCH=x86-64
or make -j profile-build ARCH=x86-64-bmi2

Expected behavior

report an error,

lto-wrapper: warning: jobserver is not available: ‘--jobserver-auth=’ is not present in ‘MAKEFLAGS’
make[2]: Leaving directory '~/Pikafish/src'
make[1]: Leaving directory '~/Pikafish/src'

Step 2/4. Running benchmark for pgo-build ...
./pikafish bench > PGOBENCH.out 2>&1
make: *** [Makefile:913: profile-build] Error 1

even change the command above as example, still see this error message.

Steps to reproduce

please see the steps in description and error in expected behaviour

Anything else?

No response

Operating system

Linux

Pikafish version

Pikafish 2024-01-26 b764ad9

32 threads were set, but only 16 threads are working

Describe the issue

When using 13900K CPU and set the number of threads to 32, it was found that only the E core was running at full capacity while the P-core was on the sidelines when using the the chess engine to play chinese chess.

Expected behavior

all cores on 13900K will be run fully by the engine

Steps to reproduce

uci
Pikafish 2023-04-08 by the Pikafish developers (see AUTHORS file)
id name Pikafish 2023-04-08
id author the Pikafish developers (see AUTHORS file)
option name Debug Log File type string default 
option name Threads type spin default 1 min 1 max 1024
option name Hash type spin default 16 min 1 max 33554432
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 10 min 0 max 5000
option name Slow Mover type spin default 100 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name Sixty Move Rule type check default true
option name Mate Threat Depth type spin default 1 min 0 max 10
option name Repetition Fold type combo default TwoFold var TwoFold var RootThreeFold var ThreeFold
option name Repetition Rule type combo default AsianRule var AsianRule var ChineseRule var SkyRule
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1350 min 1350 max 2850
option name UCI_WDLCentipawn type check default true
option name UCI_ShowWDL type check default false
option name EvalFile type string default pikafish.nnue
uciok
isready
readyok


// Match Rule
setoption name OwnBook value false
setoption name Threads value 32
setoption name Hash value 256
No such option: OwnBook

...

------------ply = 4, 卒7进1, movetime = 24000ms------------




Continuous 0,0,2,0,2,0,48,32,27001,0,0


OBK: 0,0,2,0,2,0,48,32,0,0,0,0,0,0


0,0,2,0,2,0,48,0,0,0

fen rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1 moves b2e2 b9c7 c3c4 g6g5
go btime 555609 wtime 557609 binc 5000 winc 5000 limittime 600000 steptime 30000 byotime 5000
info depth 12 seldepth 18 multipv 1 score 60 nodes 51778 nps 12944500 tbhits 0 time 4 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 h6g6 c5e7 c2d4 h7h5 i0h0
info depth 13 seldepth 24 multipv 1 score 55 nodes 114161 nps 16308714 tbhits 0 time 7 pv b0c2 a9b9 a0b0 g9e7 h0i2 h9g7 h2h6 c6c5 c4c5 e7c5 h6g6 c5e7 c2d4 h7h5 g3g4 g5g4 d4f5
info depth 14 seldepth 28 multipv 1 score 70 nodes 161487 nps 16148700 tbhits 0 time 10 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 h6g6 i9h9 c2d4 h7i7 d4f5 h9h6 f5d6 h6g6
info depth 15 seldepth 26 multipv 1 score 72 nodes 396564 nps 16523500 tbhits 0 time 24 pv b0c2 a9b9 a0b0 g9e7 h0i2 h9g7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 g3g4 g5g4 d4f5 b7a7 b0b9 c7b9 f5h6 i9h9 h6g8 e9e8
info depth 16 seldepth 21 multipv 1 score 72 nodes 417116 nps 16684640 tbhits 0 time 25 pv b0c2 a9b9 a0b0 g9e7 h0i2 h9g7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 g3g4 g5g4 d4f5 b7a7 b0b9 c7b9 f5h6
info depth 17 seldepth 28 multipv 1 score 74 nodes 483753 nps 16681137 tbhits 0 time 29 pv b0c2 a9b9 a0b0 g9e7 h0i2 h9g7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 g3g4 g5g4 d4f5 b7a7 b0b9 c7b9 f5h6 i9h9 h6g8 e9e8 i0i1 h5h1 e2e6 g7e6
info depth 18 seldepth 36 multipv 1 score 72 nodes 791824 nps 16496333 tbhits 0 time 48 pv b0c2 h9g7 a0b0 a9b9 h0i2 i9i8 h2g2 g7h5 g3g4 g5g4 g2g9 f9e8 b0b6 b7a7 b6c6 b9b7 g9h9 c9e7 c6a6 h7h6 a6a4 h5f4 i0h0
info depth 19 seldepth 29 multipv 1 score 64 nodes 1320164 nps 15174298 tbhits 0 time 87 pv b0c2 a9b9 a0b0 h9g7 h0i2 c9e7 h2g2 g7h5 c2d4 i6i5 i0i1 i5i4 i3i4 i9i4 i1d1 i4f4 d4e6 c7e6 e2e6 d9e8 e6e4 h5i3
info depth 20 seldepth 32 multipv 1 score 49 nodes 2230947 nps 13943418 tbhits 0 time 160 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 g3g4 g5g4 d4f5 b7a7 b0b9 c7b9 f5h6 i9h9 h6g8 e9e8 i0i1 h5h1 e2e6 e8f8 e6e4 g4f4 e4e5
info depth 21 seldepth 32 multipv 1 score 82 nodes 2656869 nps 13695201 tbhits 0 time 194 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 h6g6 c5e7 c2d4 h7h5 b0b6 c7d5 b6b3 d5c7 i0h0 i9h9 d4c6 b7a7 b3b9
info depth 22 seldepth 33 multipv 1 score 47 nodes 4448248 nps 12425273 tbhits 0 time 358 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 b0b6 c7d5 b6b3 d5c7 d4c6 i9h9 b3b6 f9e8 i0h0 b7a7 b6b9 c7b9 h0h4 h9h6 c6a7 b9a7 g6a6
info depth 23 seldepth 31 multipv 1 score 37 nodes 5086307 nps 12168198 tbhits 0 time 418 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 h6g6 c5e7 c2d4 h7h5 g3g4 g5g4 d4f5 b7a7 b0b9 c7b9 f5h6 i9h9 e2e6 f9e8 e6c6 g7e6 h6g8 e9f9 i0i1 e6f4 i1f1
info depth 24 seldepth 34 multipv 1 score 40 nodes 6587647 nps 11742686 tbhits 0 time 561 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 i0i1 f9e8 i1g1 g7f5 h2h6 c6c5 c4c5 e7c5 h6h5 i9f9 g1f1 b7b5 h5f5 f9f5 f1f5 b5f5 b0b9 c7b9 e2e6 c5e7 c2d4 f5e5 g0e2 b9c7
info depth 25 seldepth 37 multipv 1 score 48 nodes 7860816 nps 11425604 tbhits 0 time 688 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 h6g6 c5e7 i0h0 i9h9 c2d4 h7h5 b0b6 c7d5 b6d6 d5f4 d4e6 f4e6 e2e6 g7e6 d6e6 b7b0 g6h6 h5i5 h6a6 h9h0 i2h0
info depth 26 seldepth 38 multipv 1 score 31 nodes 10198742 nps 11121856 tbhits 0 time 917 pv b0c2 h9g7 h0i2 a9b9 a0b0 g9e7 i0i1 f9e8 i1g1 g7f5 h2h6 c6c5 c4c5 e7c5 h6h5 i9f9 g1f1 b7b5 h5f5 f9f5 e2e6 h7e7 f1f5 b5f5 b0b9 c7b9 c0e2 b9c7 e6e5
info depth 27 seldepth 41 multipv 1 score 33 nodes 14395025 nps 10782790 hashfull 272 tbhits 0 time 1335 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 i0h0 i9h9 h0h4 c7b5 e2b2 b7b2 b0b2 b5c7 b2b9 c7b9 g6a6 b9c7 a6c6 c7a6 i3i4 f9e8 g0e2 a6c5 c6c7 c5d7 g3g4 g5g4 h4g4
info depth 28 seldepth 40 multipv 1 score 40 nodes 16288767 nps 10667168 hashfull 312 tbhits 0 time 1527 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 i0i1 f9e8 i1c1 b7a7 b0b9 c7b9 d4e6 g7e6 e2e6 i9f9 e6i6 a7a3 c1c3 a3a4 c3c6 a6a5 c6g6 b9c7 h6h5 h7i7 e3e4 f9h9 h5a5 c7b5 e4e5
info depth 29 seldepth 39 multipv 1 score 38 nodes 18684013 nps 10603866 hashfull 346 tbhits 0 time 1762 pv b0c2 a9b9 a0b0 h9g7 h0i2 g9e7 h2h6 c6c5 c4c5 e7c5 c2d4 c5e7 h6g6 h7h5 i0h0 i9h9 g3g4 g5g4 d4f5 c7b5 e2b2 h5g5 h0h9 g7h9 g6g4 b7b2 b0b2 b9b6 g4g1 b6c6 g0e2 c6c5 f5d6
info depth 30 seldepth 43 multipv 1 score 26 nodes 30905292 nps 10336218 hashfull 523 tbhits 0 time 2990 pv b0c2 h9g7 h0i2 g9e7 i0i1 a9b9 a0b0 f9e8 i1g1 g7f5 h2h6 c6c5 c4c5 e7c5 h6h5 i9f9 g1f1 b7b5 b0b4 h7f7 f1h1 f9h9 h1h0 h9h6 h5f5 h6h0 i2h0 b5f5 b4b9 c7b9 e2e6 c5e7 c2d4 b9c7 e6c6 f5f4 d4f5 f7i7 h0g2 i6i5
info depth 31 seldepth 40 multipv 1 score 43 lowerbound nodes 36083162 nps 10221858 hashfull 581 tbhits 0 time 3530 pv b0c2
info depth 31 seldepth 44 multipv 1 score 29 nodes 42963301 nps 10075821 hashfull 656 tbhits 0 time 4264 pv b0c2 h9g7 h0i2 a9b9 a0b0 i9i8 h2g2 g7h5 g3g4 g5g4 g2g9 f9e8 b0b6 h5f4 i0h0 i8i9 g9g8 h7e7 g8g7 e7e3 c2e3 b7g7 b6c6 f4d3 c6d6 b9b3 e3g4 i9g9 c4c5 g7f7 h0h4 b3c3 f0e1 d3c5 d6c6
info depth 32 seldepth 47 multipv 1 score 46 lowerbound nodes 44334622 nps 10057763 hashfull 670 tbhits 0 time 4408 pv b0c2
info depth 32 seldepth 47 multipv 1 score 48 nodes 45566255 nps 10052118 hashfull 680 tbhits 0 time 4533 pv b0c2 a9b9 a0b0 h9g7 h0i2 i9i8 h2g2 g7h5 g3g4 g5g4 g2g9 f9e8 b0b6 h5f4 i0h0 i8i9 g9g8 h7e7 g8g7 e7e3 c2e3 b7g7 b6b9 c7b9 e3g4 i9g9 g4h6 g7e7 d0e1 e7e2 g0e2 e6e5 i3i4 b9c7 i2h4 c7e6 h4i6 e5e4
info depth 33 seldepth 43 multipv 1 score 31 upperbound nodes 48952510 nps 9992347 hashfull 705 tbhits 0 time 4899 pv b0c2 h9g7
info depth 33 seldepth 44 multipv 1 score 39 nodes 69258830 nps 9690615 hashfull 839 tbhits 0 time 7147 pv b0c2 h9g7 a0b0 a9b9 h0i2 g9e7 i0i1 f9e8 i1g1 g7f5 h2h6 c6c5 c4c5 e7c5 h6h5 i9f9 g1f1 b7b5 f1f4 c9e7 b0b4 f5g7 f4f9 e8f9 h5h6 b5b8 g3g4 b8g8 b4b9 c7b9 e2g2 g7h5 g4g5 g8g2 g5h5 h7h5 i2g3 h5e5 d0e1
bestmove b0c2 ponder h9g7

23/09/18 23:39:44,0,0,2,0,2,0,48,50341,0,fen rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1 moves b2e2 b9c7 c3c4 g6g5


GetBM: 0,0,2,0,2,0,50341,0,0,0

Anything else?

20230918235739

Operating system

Windows

Pikafish version

Pikafish 2023-04-08

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.