Giter Club home page Giter Club logo

berserk's People

Contributors

jherrera80 avatar jhonnold avatar marcin-rzeznicki avatar mrbrain295 avatar star26bsd avatar victor-ch 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

berserk's Issues

Crash when using perft

Noticed that the engine crashes when passed go perft x with a low depth.

perft.c Line 77

printf("NPS: %ld\n\n", total / (endTime - startTime) * 1000);

Sometimes when the time taken is 0, it becomes total / 0 which causes the crash.

Strange behaviour under Windows

Hi Jay,

I'm on Windows 11. Starting Berserk 12 from the command line this is what I see:

  1. Typing 'uci' nothing happens.
  2. Typing 'position startpos' nothing happens.
  3. Typing 'go depth 24' nothing happens.
  4. Now pressing any key (e.g. 'a') I get what I expected to get when typing 'uci'.
  5. Now again position startpos and go depth 24 do nothing.
  6. However, now typing 'a' I get what I should have got after typing 'go depth 24'.

To make it all clear this is how it went:

uci
position startpos
go depth 24
a
id name Berserk 12
id author Jay Honnold
option name Hash type spin default 16 min 2 max 131072
option name Threads type spin default 1 min 1 max 256
option name SyzygyPath type string default
option name MultiPV type spin default 1 min 1 max 256
option name Ponder type check default false
option name UCI_ShowWDL type check default true
option name UCI_Chess960 type check default false
option name MoveOverhead type spin default 300 min 100 max 10000
option name Contempt type spin default 0 min -100 max 100
option name EvalFile type string default
uciok
go depth 24
position startpos
go depth 24
a
info string time -1 start 1266925031 alloc 0 max 2147483647 depth 24 timeset 0 searchmoves 0
info depth 1 seldepth 1 multipv 1 score cp 52 wdl 164 825 11 nodes 24 nps 24000 hashfull 0 tbhits 0 time 1 pv d2d4
info depth 2 seldepth 2 multipv 1 score cp 75 wdl 271 723 6 nodes 47 nps 47000 hashfull 0 tbhits 0 time 1 pv d2d4 a7a6
info depth 3 seldepth 3 multipv 1 score cp 83 wdl 315 680 5 nodes 82 nps 82000 hashfull 0 tbhits 0 time 1 pv c2c4 a7a6
info depth 4 seldepth 4 multipv 1 score cp 58 wdl 187 804 9 nodes 137 nps 137000 hashfull 0 tbhits 0 time 1 pv c2c4 a7a6 a2a3
info depth 5 seldepth 5 multipv 1 score cp 92 wdl 367 629 4 nodes 397 nps 397000 hashfull 0 tbhits 0 time 1 pv e2e4
info depth 6 seldepth 6 multipv 1 score cp 85 wdl 327 669 4 nodes 704 nps 704000 hashfull 0 tbhits 0 time 1 pv e2e4 c7c5 g1f3 g7g6 d2d4
info depth 7 seldepth 8 multipv 1 score cp 53 wdl 167 822 11 nodes 2254 nps 2254000 hashfull 0 tbhits 0 time 1 pv d2d4 g8f6 g1f3 d7d5 c2c4 d5c4
info depth 8 seldepth 9 multipv 1 score cp 49 wdl 152 836 12 nodes 4123 nps 4123000 hashfull 1 tbhits 0 time 1 pv e2e4 c7c5 g1f3 e7e6 b1c3 b8c6 d2d4 c5d4 f3d4
info depth 9 seldepth 12 multipv 1 score cp 57 wdl 182 808 10 nodes 9309 nps 620600 hashfull 3 tbhits 0 time 15 pv e2e4 e7e5 g1f3 g8f6 f3e5 f6e4
info depth 10 seldepth 12 multipv 1 score cp 53 wdl 169 820 11 nodes 13525 nps 901666 hashfull 5 tbhits 0 time 15 pv e2e4 c7c5 g1f3 e7e6 f1e2 b8c6 c2c3 g8f6 e4e5 f6d5 e1g1 f8e7
info depth 11 seldepth 15 multipv 1 score cp 47 wdl 146 841 13 nodes 28863 nps 931064 hashfull 12 tbhits 0 time 31 pv e2e4 e7e6 d2d4 d7d5 b1d2 c7c5 e4d5 e6d5 g1f3 b8c6 f1b5 d8e7
info depth 12 seldepth 16 multipv 1 score cp 48 wdl 150 838 12 nodes 37668 nps 1215096 hashfull 15 tbhits 0 time 31 pv e2e4 e7e6 g1f3 d7d5 e4e5 c7c5 c2c3 b8c6 d2d4 d8b6 f1e2 c8d7 e1g1 c5d4 c3d4
info depth 13 seldepth 18 multipv 1 score cp 48 wdl 150 838 12 nodes 67931 nps 1445340 hashfull 25 tbhits 0 time 47 pv e2e4 e7e6 d2d4 d7d5 b1d2 c7c5 g1f3 g8f6 e4e5 f6d7 c2c3 b8c6 f1d3 f8e7 e1g1 c5d4
info depth 14 seldepth 22 multipv 1 score cp 45 wdl 139 848 13 nodes 104001 nps 1677435 hashfull 38 tbhits 0 time 62 pv e2e4 e7e6 d2d4 d7d5 e4e5 c7c5 c2c3 d8b6 g1f3 b8c6 f1e2 c8d7 e1g1 c5d4
info depth 15 seldepth 23 multipv 1 score cp 38 wdl 117 867 16 nodes 166982 nps 1776404 hashfull 60 tbhits 0 time 94 pv e2e4 e7e6 d2d4 d7d5 e4e5 c7c5 c2c3 d8a5 d4c5 a5c7 b2b4 c7e5 f1e2 e5c7 g1f3 g8f6
info depth 16 seldepth 22 multipv 1 score cp 56 wdl 179 811 10 nodes 204659 nps 1877605 hashfull 72 tbhits 0 time 109 pv e2e4 e7e6 d2d4 d7d5 e4e5 c7c5 c2c3 d8b6 g1f3 c5d4 c3d4 c8d7 f1d3 g8e7 e1g1 e7c6
info depth 17 seldepth 21 multipv 1 score cp 51 wdl 162 827 11 nodes 289782 nps 1857576 hashfull 106 tbhits 0 time 156 pv e2e4 e7e6 d2d4 d7d5 e4e5 c7c5 c2c3 d8b6 f1d3 c5d4 c3d4 c8d7 g1f3 d7b5 d3b5 b6b5 b1c3 b5a6 c3e2 g8e7
info depth 18 seldepth 27 multipv 1 score cp 49 wdl 152 836 12 nodes 563431 nps 2005092 hashfull 199 tbhits 0 time 281 pv e2e4 c7c5 g1f3 g7g6 c2c3 g8f6 e4e5 f6d5 d2d4 c5d4 c3d4 f8g7 f1c4 d5b6 c4b3 e8g8 e1g1 b8c6 f1e1 d7d6
info depth 19 seldepth 30 multipv 1 score cp 30 wdl 97 883 20 nodes 1556036 nps 2074714 hashfull 545 tbhits 0 time 750 pv e2e4 c7c5 g1f3 e7e6 c2c3 g8f6 e4e5 f6d5 d2d4 c5d4 c3d4 d7d6 b1c3 d6e5 f3e5 f8b4 c1d2 e8g8 f1d3 b8c6 e5c6 b7c6
info depth 20 seldepth 31 multipv 1 score cp 36 wdl 112 871 17 nodes 1741610 nps 2063518 hashfull 589 tbhits 0 time 844 pv e2e4 e7e6 d2d4 d7d5 b1d2 c7c5 g1f3 g8f6 e4d5 e6d5 f1b5 c8d7 b5d7 b8d7 e1g1 f8e7 d4c5 d7c5 f1e1 e8g8 d2b3 c5b3 a2b3 a7a5
info depth 21 seldepth 30 multipv 1 score cp 33 wdl 105 877 18 nodes 2384536 nps 2062747 hashfull 733 tbhits 0 time 1156 pv e2e4 e7e6 d2d4 d7d5 b1d2 c7c5 e4d5 e6d5 f1b5 c8d7 b5d7 b8d7 g1f3 d8e7 d1e2 e8c8 d4c5 e7e2 e1e2 d8e8 e2f1 f8c5 d2b3 g8f6 b3c5
info depth 22 seldepth 31 multipv 1 score cp 35 wdl 110 873 17 nodes 4017257 nps 2040252 hashfull 919 tbhits 0 time 1969 pv e2e4 c7c5 g1f3 d7d6 f1b5 b8d7 e1g1 a7a6 b5d7 c8d7 f1e1 g8f6 c2c3 e7e6 d2d4 c5d4 c3d4 f8e7 b1c3 e8g8 d4d5 b7b5
info depth 23 seldepth 31 multipv 1 score cp 37 wdl 114 869 17 nodes 4779844 nps 2039182 hashfull 959 tbhits 0 time 2344 pv e2e4 c7c5 g1f3 d7d6 f1b5 c8d7 b5d7 b8d7 e1g1 e7e6 d1e2 f8e7 d2d4 c5d4 f3d4 g8f6 c2c4 e8g8 b2b3 a7a6 g1h1 d8c7 b1c3
info depth 24 currmove d2d4 currmovenumber 2
info depth 24 currmove g1f3 currmovenumber 3
info depth 24 currmove b1c3 currmovenumber 4
info depth 24 currmove c2c3 currmovenumber 5
info depth 24 currmove c2c4 currmovenumber 6
info depth 24 currmove e2e3 currmovenumber 7
info depth 24 currmove d2d3 currmovenumber 8
info depth 24 currmove b2b4 currmovenumber 9
info depth 24 currmove b1a3 currmovenumber 10
info depth 24 currmove h2h4 currmovenumber 11
info depth 24 currmove f2f3 currmovenumber 12
info depth 24 currmove g2g3 currmovenumber 13
info depth 24 currmove a2a4 currmovenumber 14
info depth 24 currmove a2a3 currmovenumber 15
info depth 24 currmove f2f4 currmovenumber 16
info depth 24 currmove g2g4 currmovenumber 17
info depth 24 currmove g1h3 currmovenumber 18
info depth 24 currmove h2h3 currmovenumber 19
info depth 24 currmove b2b3 currmovenumber 20
info depth 24 seldepth 33 multipv 1 score cp 31 upperbound wdl 99 882 19 nodes 5405732 nps 2023103 hashfull 979 tbhits 0 time 2672 pv e2e4 e7e6
info depth 24 currmove e2e4 currmovenumber 1
info depth 24 currmove d2d4 currmovenumber 2
info depth 24 currmove g1f3 currmovenumber 3
info depth 24 currmove b2b4 currmovenumber 4
info depth 24 currmove e2e3 currmovenumber 5
info depth 24 currmove b1c3 currmovenumber 6
info depth 24 currmove c2c4 currmovenumber 7
info depth 24 currmove d2d3 currmovenumber 8
info depth 24 currmove b1a3 currmovenumber 9
info depth 24 currmove c2c3 currmovenumber 10
info depth 24 currmove h2h3 currmovenumber 11
info depth 24 currmove f2f4 currmovenumber 12
info depth 24 currmove a2a3 currmovenumber 13
info depth 24 currmove h2h4 currmovenumber 14
info depth 24 currmove g2g4 currmovenumber 15
info depth 24 currmove a2a4 currmovenumber 16
info depth 24 currmove g2g3 currmovenumber 17
info depth 24 currmove f2f3 currmovenumber 18
info depth 24 currmove g1h3 currmovenumber 19
info depth 24 currmove b2b3 currmovenumber 20
info depth 24 seldepth 33 multipv 1 score cp 26 wdl 88 890 22 nodes 6229276 nps 2023806 hashfull 989 tbhits 0 time 3078 pv e2e4 e7e6 d2d4 d7d5 e4e5 c7c5 c2c3 c8d7 g1f3 b8c6 f1e2 g8e7 e1g1 c5d4 c3d4 e7f5 b1c3 a8c8 c1f4 f8e7 d1d2 d8b6 a1d1 h7h6 f1e1 e8g8
bestmove e2e4 ponder e7e6

The Shuffle chess engine showed similar behaviour, the reason was incorrectly processing inputs.

Gabor Szots
CCRL

Compilation fails

Jay, I have problem with compiling. I'm on Windows 10, using the makefile I get this message:

process_begin: CreateProcess(NULL, git submodule update --init, ...) failed.
make (e=2): A rendszer nem találja a megadott fájlt. (in English: File not found.)

mingw32-make: *** [makefile:89: clone-networks] Error 2

Any hints?

Berserk, the beast we are looking for to develop Chess Variants

Hi everyone,
Thank you for this nice engine.

I wonder if you can make an engine playing Chess Variants. The inspiration can come from Stockfish and the excellent Fabian Fichter who's work is simply outstanding.

This project could be also for a Ph D and i can help with that. Please send me a private message and check my website musketeerchess . net

Berserk randomly crashes if pondering is done.

Berserk crashes, not while pondering, but after pondering during search. Completely randomly. Doesn't matter if the Ponder option is set to anything, true or false. It runs perfectly fine if pondering is not done. It may crash any second but usually crashes from 2-3 moves(it may drag on or it may crash in move 1 as well, 2-3 is just the average.

I'm using Berserk 6 with SCID vs PC in Ubuntu, compiled with gcc-11, in SSSE mode. I fear I might have messed up the build command somehow as I was compiling multiple engines and it might have gotten mixed up. It did compile, what could go wrong?

Here's one of the logs:

Scid vs. PC <--> Engine communication log file (engine 5)
Engine: Berserk
Command: /home/shambhav/chessengines/berserk/src/berserk-6-x64
Arguments:
Directory: /usr/local/bin
Date: 31 Oct 2021

Note: Quiet engine (still no output); sending it initial commands.
Scid : uci
Engine: id name Berserk 6
Engine: id author Jay Honnold
Engine: option name Hash type spin default 32 min 4 max 65536
Engine: option name Threads type spin default 1 min 1 max 256
Engine: option name NoobBookLimit type spin default 8 min 0 max 32
Engine: option name NoobBook type check default false
Engine: option name SyzygyPath type string default
Engine: option name MultiPV type spin default 1 min 1 max 256
Engine: option name Ponder type check default false
Engine: option name UCI_Chess960 type check default false
Engine: option name MoveOverhead type spin default 300 min 100 max 10000
Engine: uciok
Scid : isready
Engine: readyok
Scid : setoption name Hash value 128
Scid : isready
Engine: info string set Hash to value 128 (134217728 bytes)
Engine: readyok
Scid : setoption name Threads value 2
Scid : isready
Engine: info string set Threads to value 2
Engine: readyok
Scid : setoption name MultiPV value 1
Scid : isready
Engine: info string set MultiPV to value 1
Engine: readyok
Scid : setoption name Ponder value true
Scid : isready
Engine: info string set Ponder to value true
Engine: readyok
Scid : setoption name NoobBookLimit value 8
Scid : isready
Engine: info string set NoobBookLimit to value 8
Engine: readyok
Scid : setoption name NoobBook value false
Scid : isready
Engine: info string set NoobBook to value false
Engine: readyok
Scid : setoption name SyzygyPath value
Scid : isready
Engine: info string set SyzygyPath to value
Engine: readyok
Scid : setoption name MoveOverhead value 300
Scid : stop
Scid : ucinewgame
Scid : setoption name Ponder value true
Scid : isready
Engine: info string set Ponder to value true
Engine: readyok
Scid : position startpos
Scid : go wtime 60000 btime 60000 winc 0 binc 0
Engine: info string time 59700 start 1635649239341 alloc 1990 max 7960 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 9 time 1 nodes 3 nps 3000 tbhits 0 hashfull 0 pv a2a3
Engine: info depth 2 seldepth 1 multipv 1 score cp 30 time 1 nodes 15 nps 15000 tbhits 0 hashfull 0 pv g1f3 a7a6
Engine: info depth 3 seldepth 2 multipv 1 score cp 3 time 1 nodes 49 nps 49000 tbhits 0 hashfull 0 pv g1f3 g8f6 a2a3
Engine: info depth 4 seldepth 3 multipv 1 score cp 31 time 1 nodes 121 nps 121000 tbhits 0 hashfull 0 pv e2e4 b8c6 b1c3 a7a6
Engine: info depth 5 seldepth 4 multipv 1 score cp 29 time 1 nodes 339 nps 339000 tbhits 0 hashfull 0 pv c2c4 b8c6 g1f3 g8f6 b1c3
Engine: info depth 6 seldepth 6 multipv 1 score cp 18 time 4 nodes 1487 nps 371750 tbhits 0 hashfull 1 pv d2d4 g8f6 c2c4 c7c5 d4c5 g7g6
Engine: info depth 7 seldepth 7 multipv 1 score cp 19 time 7 nodes 3468 nps 495428 tbhits 0 hashfull 1 pv e2e4 c7c5 b1c3 e7e6 g1f3 g8f6
Engine: info depth 8 seldepth 9 multipv 1 score cp 12 time 24 nodes 12393 nps 516375 tbhits 0 hashfull 3 pv e2e3 e7e6 g1f3 c7c5 d2d4 g8f6 d4c5 f8c5 c2c4
Engine: info depth 9 seldepth 10 multipv 1 score cp 25 time 38 nodes 20297 nps 534131 tbhits 0 hashfull 4 pv e2e4 c7c5 g1f3 e7e6 c2c4 d7d6 d2d4 c5d4
Engine: info depth 10 seldepth 14 multipv 1 score cp 20 time 55 nodes 29720 nps 540363 tbhits 0 hashfull 4 pv e2e4 c7c5 g1f3 e7e6 c2c4 d7d6 d2d4 c5d4 f3d4 g8f6 b1c3
Engine: info depth 11 seldepth 14 multipv 1 score cp 14 time 122 nodes 66816 nps 547672 tbhits 0 hashfull 5 pv c2c4 c7c5 g1f3 b8c6 g2g3 e7e6 b1c3 g8f6 f1g2 d7d5 c4d5
Engine: info depth 12 seldepth 18 multipv 1 score cp 21 time 228 nodes 123016 nps 539543 tbhits 0 hashfull 9 pv e2e4 c7c5 g1f3 b8c6 b1c3 e7e6 d2d4 c5d4 f3d4 g8f6 f1e2 f8e7 e1g1
Engine: info depth 13 seldepth 22 multipv 1 score cp 25 time 536 nodes 289275 nps 539692 tbhits 0 hashfull 18 pv e2e4 c7c5 g1f3 d7d6 b1c3 g8f6 d2d4 c5d4 f3d4 a7a6 f1e2 e7e5 d4f3 b8c6 c1e3 f8e7 h2h3 e8g8
Engine: info depth 14 seldepth 26 multipv 1 score cp 29 time 1367 nodes 710864 nps 520017 tbhits 0 hashfull 63 pv d2d4 g8f6 c2c4 e7e6 g1f3 f8e7 b1c3 d7d5 c4d5 e6d5 c1f4 e8g8 e2e3 c7c5 f1e2 b8c6
Engine: info depth 15 seldepth 26 multipv 1 score cp 24 time 1973 nodes 1153522 nps 584653 tbhits 0 hashfull 103 pv d2d4 g8f6 c2c4 e7e6 g1f3 d7d5 c1g5 f8e7 b1c3 b8d7 c4d5 e6d5 e2e3 c7c6 f1d3 e8g8 g5h4
Engine: bestmove d2d4 ponder g8f6
Scid : position startpos moves d2d4 g8f6
Scid : go ponder wtime 57887 btime 60000 winc 0 binc 0
Scid : ponderhit
Engine: info string time 57587 start 1635649243190 alloc 1919 max 7676 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 24 time 0 nodes 2 nps 2000 tbhits 0 hashfull 0 pv c2c4
Engine: info depth 2 seldepth 1 multipv 1 score cp 24 time 0 nodes 7 nps 7000 tbhits 0 hashfull 0 pv c2c4 e7e6
Engine: info depth 3 seldepth 2 multipv 1 score cp 24 time 0 nodes 19 nps 19000 tbhits 0 hashfull 0 pv c2c4 e7e6 g1f3
Engine: info depth 4 seldepth 3 multipv 1 score cp 21 time 0 nodes 64 nps 64000 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4
Engine: info depth 5 seldepth 4 multipv 1 score cp 21 time 0 nodes 124 nps 124000 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4 e2e3
Engine: info depth 6 seldepth 7 multipv 1 score cp 22 time 0 nodes 266 nps 266000 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4 e2e3 b4c3 b2c3 e8g8
Engine: info depth 7 seldepth 8 multipv 1 score cp 21 time 1 nodes 570 nps 570000 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4 e2e4 c7c5 d4c5
Engine: info depth 8 seldepth 9 multipv 1 score cp 21 time 2 nodes 1114 nps 557000 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4 c1g5 e8g8 g1f3 c7c5
Engine: info depth 9 seldepth 10 multipv 1 score cp 20 time 6 nodes 3793 nps 632166 tbhits 0 hashfull 0 pv c2c4 e7e6 b1c3 f8b4 c1g5 e8g8 e2e4 c7c5 d4d5
Engine: info depth 10 seldepth 15 multipv 1 score cp 24 time 41 nodes 25657 nps 625780 tbhits 0 hashfull 2 pv c2c4 e7e6 b1c3 d7d5 c1g5 f8e7 e2e3 e8g8 g1f3 b8d7 c4d5 e6d5 g5h4
Engine: info depth 11 seldepth 18 multipv 1 score cp 17 time 122 nodes 78763 nps 645598 tbhits 0 hashfull 2 pv c2c4 e7e6 b1c3 d7d5 c1g5 f8e7 e2e3 h7h6 g5h4 e8g8 c4d5 e6d5 g1f3 c7c6 f1d3
Engine: info depth 12 seldepth 18 multipv 1 score cp 21 time 163 nodes 127537 nps 782435 tbhits 0 hashfull 3 pv c2c4 e7e6 b1c3 d7d5 c4d5 f6d5 g2g3 d5c3 b2c3 f8e7 g1f3 c7c5 f1g2 b8c6 e1g1 e8g8 d4c5
Engine: info depth 13 seldepth 26 multipv 1 score cp 24 time 358 nodes 315723 nps 881907 tbhits 0 hashfull 18 pv c2c4 e7e6 b1c3 d7d5 c4d5 f6d5 g1f3 c7c5 g2g3 d5c3 b2c3 d8a5 c1d2 f8e7 f1g2 b8c6 e1g1 e8g8 c3c4 a5c7
Engine: info depth 14 seldepth 27 multipv 1 score cp 21 time 613 nodes 609378 nps 994091 tbhits 0 hashfull 43 pv c2c4 e7e6 b1c3 d7d5 c4d5 f6d5 g1f3 d5c3 b2c3 f8e7 g2g3 b7b6 f1g2 c8b7 e1g1 e8g8 d1c2 b8d7 f1d1 c7c5
Engine: info depth 15 seldepth 27 multipv 1 score cp 19 time 1703 nodes 1353122 nps 794551 tbhits 0 hashfull 118 pv c2c4 e7e6 b1c3 d7d5 c4d5 f6d5 g1f3 d5c3 b2c3 f8e7 e2e4 c7c5 f1c4 e8g8 e1g1 b8c6 c1f4 c6a5 c4e2 b7b6 d4d5 e6d5 e4d5 e7d6
Engine: bestmove c2c4 ponder e7e6
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6
Scid : go ponder wtime 56039 btime 58309 winc 0 binc 0
Scid : ponderhit
Engine: info string time 55739 start 1635649246055 alloc 1857 max 7428 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 5 multipv 1 score cp 21 time 10 nodes 130 nps 13000 tbhits 0 hashfull 0 pv g1f3
Engine: info depth 2 seldepth 5 multipv 1 score cp 21 time 10 nodes 188 nps 18800 tbhits 0 hashfull 0 pv g1f3 d7d5
Engine: info depth 3 seldepth 5 multipv 1 score cp 20 time 10 nodes 242 nps 24200 tbhits 0 hashfull 0 pv g1f3 d7d5 c1g5
Engine: info depth 4 seldepth 5 multipv 1 score cp 20 time 10 nodes 309 nps 30900 tbhits 0 hashfull 0 pv g1f3 d7d5 c1g5 f8e7
Engine: info depth 5 seldepth 8 multipv 1 score cp 15 time 11 nodes 938 nps 85272 tbhits 0 hashfull 0 pv g1f3 d7d5 c1g5 f8e7 b1c3
Engine: info depth 6 seldepth 8 multipv 1 score cp 20 time 11 nodes 1736 nps 157818 tbhits 0 hashfull 0 pv c1g5 f8e7 e2e3 d7d5 b1c3 h7h6
Engine: info depth 7 seldepth 10 multipv 1 score cp 20 time 14 nodes 3154 nps 225285 tbhits 0 hashfull 0 pv c1g5 f8e7 e2e3 d7d5 b1c3 h7h6 g5f6
Engine: info depth 8 seldepth 10 multipv 1 score cp 20 time 21 nodes 4500 nps 214285 tbhits 0 hashfull 0 pv c1g5 f8e7 e2e3 d7d5 b1c3 h7h6 g5f6 e7f6 c4d5
Engine: info depth 9 seldepth 12 multipv 1 score cp 20 time 27 nodes 7326 nps 271333 tbhits 0 hashfull 0 pv c1g5 f8e7 e2e3 d7d5 b1c3 h7h6 g5f6 e7f6 c4d5 e6d5 f1e2
Engine: info depth 10 seldepth 21 multipv 1 score cp 24 time 164 nodes 60064 nps 366243 tbhits 0 hashfull 4 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 c7c5 d4c5 e8g8
Engine: info depth 11 seldepth 22 multipv 1 score cp 20 time 179 nodes 76138 nps 425351 tbhits 0 hashfull 7 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 b8d7 e2e3 c7c6 f1d3 d5c4
Engine: info depth 12 seldepth 23 multipv 1 score cp 25 time 202 nodes 96652 nps 478475 tbhits 0 hashfull 8 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 e8g8 e2e3 b8d7 c4d5 f6d5 h4e7 d8e7 c3d5 e6d5 f1d3
Engine: info depth 13 seldepth 23 multipv 1 score cp 25 time 323 nodes 182352 nps 564557 tbhits 0 hashfull 18 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 e8g8 e2e3 b8d7 c4d5 f6d5 h4e7 d8e7 c3d5 e6d5 f1d3 f8d8 d1c2 c7c5
Engine: info depth 14 seldepth 23 multipv 1 score cp 25 time 400 nodes 250540 nps 626350 tbhits 0 hashfull 22 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 e8g8 e2e3 b8d7 c4d5 f6d5 h4e7 d8e7 c3d5 e6d5 f1d3 f8d8 d1c2
Engine: info depth 15 seldepth 23 multipv 1 score cp 21 time 737 nodes 522528 nps 708993 tbhits 0 hashfull 39 pv g1f3 d7d5 c1g5 f8e7 b1c3 h7h6 g5h4 e8g8 e2e3 c7c5 d4c5 e7c5 c4d5 e6d5 f1d3 c8g4 e1g1 b8c6 h4f6 d8f6 c3d5
Engine: info depth 16 seldepth 23 multipv 1 score cp 19 time 1476 nodes 1345671 nps 911701 tbhits 0 hashfull 109 pv g1f3 d7d5 c1g5 d5c4 b1c3 c7c5 e2e3 c5d4 f3d4 f8e7 f1c4 e8g8 g5h4 c8d7 e1g1 a7a6
Engine: bestmove b1c3 ponder f8b4
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 f8b4
Scid : go ponder wtime 54255 btime 57453 winc 0 binc 0
Scid : stop
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5
Scid : go wtime 54255 btime 56520 winc 0 binc 0
Engine: info string time 53955 start 1635649248930 alloc 1798 max 7192 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 15 time 4 nodes 7 nps 1750 tbhits 0 hashfull 0 pv e2e4
Engine: info depth 2 seldepth 3 multipv 1 score cp 47 time 4 nodes 26 nps 6500 tbhits 0 hashfull 0 pv e2e4 b4c3 b2c3 d7d5
Engine: info depth 3 seldepth 4 multipv 1 score cp 15 time 4 nodes 66 nps 16500 tbhits 0 hashfull 0 pv e2e4 c7c5 d4c5
Engine: info depth 4 seldepth 5 multipv 1 score cp 15 time 4 nodes 103 nps 25750 tbhits 0 hashfull 0 pv e2e4 c7c5 d4c5 b4c3 b2c3 d8a5
Engine: info depth 5 seldepth 6 multipv 1 score cp 13 time 5 nodes 690 nps 138000 tbhits 0 hashfull 0 pv c1f4 e8g8 e2e3 d7d5 g1f3
Engine: info depth 6 seldepth 8 multipv 1 score cp 15 time 8 nodes 2026 nps 253250 tbhits 0 hashfull 0 pv c1g5 c7c5 d4c5 b4c3 b2c3 h7h6 g5h4 b8c6
Engine: info depth 7 seldepth 9 multipv 1 score cp 15 time 10 nodes 3061 nps 306100 tbhits 0 hashfull 0 pv c1g5 c7c5 e2e3 c5d4 e3d4 e8g8 g1f3 d7d5
Engine: info depth 8 seldepth 13 multipv 1 score cp 7 time 36 nodes 13818 nps 383833 tbhits 0 hashfull 1 pv g1f3 c7c5 e2e3 e8g8 f1d3 d7d5 c4d5 e6d5 d4c5
Engine: info depth 9 seldepth 13 multipv 1 score cp 8 time 38 nodes 16553 nps 435605 tbhits 0 hashfull 1 pv g1f3 c7c5 e2e3 e8g8 f1d3 d7d5 c4d5 c5d4 e3d4 e6d5
Engine: info depth 10 seldepth 16 multipv 1 score cp 7 time 47 nodes 21501 nps 457468 tbhits 0 hashfull 1 pv g1f3 c7c5 e2e3 e8g8 f1d3 d7d5 e1g1 d5c4 d3c4 c5d4 e3d4 b8c6 d4d5 c6a5
Engine: bestmove g1f3 ponder c7c5
Engine: info string time 53955 start 1635649248985 alloc 1798 max 7192 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 27 time 1 nodes 5 nps 5000 tbhits 0 hashfull 0 pv c1g5 d5c4
Engine: info depth 2 seldepth 1 multipv 1 score cp 27 time 1 nodes 10 nps 10000 tbhits 0 hashfull 0 pv c1g5 d5c4
Engine: info depth 3 seldepth 2 multipv 1 score cp 31 time 1 nodes 70 nps 70000 tbhits 0 hashfull 0 pv c1g5 c7c5 c4d5 e6d5 g5f6 d8f6 c3d5 f6d4
Engine: info depth 4 seldepth 5 multipv 1 score cp 27 time 1 nodes 139 nps 139000 tbhits 0 hashfull 0 pv c1g5 f8b4 d1a4 b8c6 e2e3
Engine: info depth 5 seldepth 6 multipv 1 score cp 27 time 1 nodes 198 nps 198000 tbhits 0 hashfull 0 pv c1g5 f8b4 d1a4 b8c6 e2e3 e8g8
Engine: info depth 6 seldepth 7 multipv 1 score cp 26 time 2 nodes 339 nps 169500 tbhits 0 hashfull 0 pv c1g5 f8b4 e2e3 c7c5 c4d5 b4c3 b2c3 d8a5
Engine: info depth 7 seldepth 8 multipv 1 score cp 26 time 2 nodes 483 nps 241500 tbhits 0 hashfull 0 pv c1g5 f8b4 e2e3 c7c5 c4d5 b4c3 b2c3 d8a5 g1f3
Engine: info depth 8 seldepth 10 multipv 1 score cp 26 time 2 nodes 705 nps 352500 tbhits 0 hashfull 0 pv c1g5 f8b4 e2e3 c7c5 c4d5 b4c3 b2c3 d8a5 g1f3 f6d5
Engine: info depth 9 seldepth 12 multipv 1 score cp 23 time 6 nodes 2759 nps 459833 tbhits 0 hashfull 0 pv c1g5 f8b4 c4d5 e6d5 e2e3 e8g8 g1f3 c7c6 f1d3 b8d7
Engine: info depth 10 seldepth 12 multipv 1 score cp 23 time 15 nodes 6551 nps 436733 tbhits 0 hashfull 0 pv c1g5 f8b4 c4d5 e6d5 e2e3 e8g8 g1f3 c7c6 f1d3 b8d7 g5h4
Engine: info depth 11 seldepth 17 multipv 1 score cp 29 time 69 nodes 48512 nps 703072 tbhits 0 hashfull 3 pv c1g5 c7c6 g1f3 f8e7 e2e3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 h7h6 g5h4
Engine: info depth 12 seldepth 19 multipv 1 score cp 21 time 120 nodes 105647 nps 880391 tbhits 0 hashfull 7 pv c1g5 c7c6 g1f3 f8e7 e2e3 e8g8 c4d5 c6d5 f1d3 h7h6 g5f4 d8b6 d1c2 b8c6 e1g1
Engine: info depth 13 seldepth 21 multipv 1 score cp 22 time 290 nodes 259398 nps 894475 tbhits 0 hashfull 21 pv c1g5 c7c6 g1f3 f8e7 e2e3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 b7b5 c4d3 c8b7 d1c2 d8b6 g5h4
Engine: info depth 14 seldepth 22 multipv 1 score cp 27 time 590 nodes 435601 nps 738306 tbhits 0 hashfull 34 pv c1g5 c7c6 g1f3 f8e7 e2e3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 a7a6 c4e2 b7b5 d1c2 c8b7 g5f6 d7f6 f1d1 h7h6 a2a3
Engine: bestmove c1g5 ponder c7c6
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 c1g5 c7c6
Scid : go ponder wtime 52454 btime 56520 winc 0 binc 0
Scid : stop
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 c1g5 f8e7
Scid : go wtime 52454 btime 54997 winc 0 binc 0
Engine: info string time 52154 start 1635649252382 alloc 1738 max 6952 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 42 time 3 nodes 6 nps 2000 tbhits 0 hashfull 0 pv e2e3
Engine: info depth 2 seldepth 1 multipv 1 score cp 32 time 3 nodes 20 nps 6666 tbhits 0 hashfull 0 pv e2e3 h7h6
Engine: info depth 3 seldepth 2 multipv 1 score cp 35 time 3 nodes 55 nps 18333 tbhits 0 hashfull 0 pv g1f3 h7h6 g5h4 d5c4
Engine: info depth 4 seldepth 3 multipv 1 score cp 35 time 3 nodes 86 nps 28666 tbhits 0 hashfull 0 pv g1f3 h7h6 g5h4 d5c4
Engine: info depth 5 seldepth 6 multipv 1 score cp 33 time 4 nodes 274 nps 68500 tbhits 0 hashfull 0 pv g1f3 f8e7 e2e3 e8g8 f1e2 d5c4
Engine: info depth 6 seldepth 6 multipv 1 score cp 33 time 4 nodes 491 nps 122750 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4
Engine: info depth 7 seldepth 7 multipv 1 score cp 32 time 5 nodes 686 nps 137200 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b7b5
Engine: info depth 8 seldepth 8 multipv 1 score cp 24 time 5 nodes 1046 nps 209200 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 c4e2
Engine: info depth 9 seldepth 9 multipv 1 score cp 35 time 6 nodes 1543 nps 257166 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1
Engine: info depth 10 seldepth 13 multipv 1 score cp 35 time 9 nodes 3359 nps 373222 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 a7a6 d1c2 b7b5
Engine: info depth 11 seldepth 13 multipv 1 score cp 35 time 19 nodes 6636 nps 349263 tbhits 0 hashfull 0 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 a7a6 d1c2 c6c5 c4e2 c5d4
Engine: info depth 12 seldepth 15 multipv 1 score cp 35 time 26 nodes 13457 nps 517576 tbhits 0 hashfull 1 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 a7a6 d1c2 c6c5 c4e2 c5d4
Engine: info depth 13 seldepth 17 multipv 1 score cp 35 time 49 nodes 25228 nps 514857 tbhits 0 hashfull 1 pv e2e3 f8e7 g1f3 e8g8 f1e2 d5c4 e2c4 b8d7 e1g1 a7a6 d1c2 b7b5 c4d3 c8b7 c3e4
Engine: bestmove e2e3 ponder f8e7
Engine: info string time 52154 start 1635649252440 alloc 1738 max 6952 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 29 time 0 nodes 6 nps 6000 tbhits 0 hashfull 0 pv c4d5 e6d5
Engine: info depth 2 seldepth 2 multipv 1 score cp 29 time 0 nodes 17 nps 17000 tbhits 0 hashfull 0 pv c4d5 e6d5 e2e3
Engine: info depth 3 seldepth 3 multipv 1 score cp 29 time 1 nodes 35 nps 35000 tbhits 0 hashfull 0 pv c4d5 e6d5 e2e3 h7h6
Engine: info depth 4 seldepth 4 multipv 1 score cp 29 time 1 nodes 82 nps 82000 tbhits 0 hashfull 0 pv c4d5 e6d5 e2e3 h7h6 g5h4
Engine: info depth 5 seldepth 6 multipv 1 score cp 29 time 1 nodes 162 nps 162000 tbhits 0 hashfull 0 pv c4d5 e6d5 e2e3 h7h6 g5h4 e8g8
Engine: info depth 6 seldepth 6 multipv 1 score cp 29 time 1 nodes 306 nps 306000 tbhits 0 hashfull 1 pv c4d5 e6d5 e2e3 h7h6 g5h4 e8g8 g1f3
Engine: info depth 7 seldepth 8 multipv 1 score cp 29 time 2 nodes 620 nps 310000 tbhits 0 hashfull 1 pv c4d5 e6d5 e2e3 h7h6 g5h4 e8g8 g1f3 c7c5
Engine: info depth 8 seldepth 8 multipv 1 score cp 20 time 3 nodes 1628 nps 542666 tbhits 0 hashfull 1 pv c4d5 e6d5 e2e3 h7h6 g5h4 c7c6 f1d3 b8d7 g1e2
Engine: info depth 9 seldepth 12 multipv 1 score cp 29 time 5 nodes 2581 nps 516200 tbhits 0 hashfull 1 pv c4d5 e6d5 e2e3 h7h6 g5h4 e8g8 g1f3 c7c5 d4c5 e7c5
Engine: info depth 10 seldepth 20 multipv 1 score cp 22 time 44 nodes 28419 nps 645886 tbhits 0 hashfull 3 pv e2e3 h7h6 g5h4 e8g8 g1f3 b8d7 f1e2 f6e4 h4e7 d8e7 c4d5 e4c3 b2c3 e6d5 e1g1
Engine: info depth 11 seldepth 20 multipv 1 score cp 16 time 63 nodes 50373 nps 799571 tbhits 0 hashfull 5 pv e2e3 h7h6 g5h4 e8g8 g1f3 b8d7 f1e2 d5c4 e2c4 a7a6 e1g1 b7b5 c4e2 c8b7 h4g3
Engine: info depth 12 seldepth 22 multipv 1 score cp 24 time 92 nodes 83288 nps 905304 tbhits 0 hashfull 10 pv e2e3 h7h6 g5h4 e8g8 g1f3 b8d7 c4d5 e6d5 f1d3 c7c5 e1g1 a7a6 d3b1
Engine: info depth 13 seldepth 22 multipv 1 score cp 19 time 321 nodes 345504 nps 1076336 tbhits 0 hashfull 36 pv e2e3 h7h6 g5h4 c7c5 c4d5 c5d4 f1b5 c8d7 b5d7 d8d7 d1d4 e8g8 g1e2 e6d5 d4d2 b8c6 h4f6
Engine: info depth 14 seldepth 24 multipv 1 score cp 21 time 503 nodes 542563 nps 1078654 tbhits 0 hashfull 52 pv e2e3 h7h6 g5h4 e8g8 g1f3 c7c5 c4d5 c5d4 f3d4 f6d5 h4e7 d5e7 f1e2 d8b6 d1c2 b8c6
Engine: info depth 15 seldepth 26 multipv 1 score cp 23 time 1306 nodes 1411288 nps 1080618 tbhits 0 hashfull 118 pv c4d5 e6d5 e2e3 e8g8 f1d3 h7h6 g5h4 c7c6 g1e2 b8d7 e1g1 f8e8 a2a3 d7f8 h2h3 f8e6 d1c2 e6g5 f1d1 e7d6
Engine: bestmove c4d5 ponder e6d5
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 c1g5 f8e7 c4d5 e6d5
Scid : go ponder wtime 50603 btime 54997 winc 0 binc 0
Scid : ponderhit
Engine: info string time 50303 start 1635649255760 alloc 1676 max 6704 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 23 time 11 nodes 3 nps 272 tbhits 0 hashfull 0 pv e2e3
Engine: info depth 2 seldepth 1 multipv 1 score cp 30 time 11 nodes 9 nps 818 tbhits 0 hashfull 0 pv e2e3 e8g8
Engine: info depth 3 seldepth 2 multipv 1 score cp 30 time 11 nodes 21 nps 1909 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3
Engine: info depth 4 seldepth 3 multipv 1 score cp 30 time 11 nodes 42 nps 3818 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6
Engine: info depth 5 seldepth 4 multipv 1 score cp 30 time 11 nodes 87 nps 7909 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6 g5h4
Engine: info depth 6 seldepth 5 multipv 1 score cp 30 time 11 nodes 174 nps 15818 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6 g5h4 f8e8
Engine: info depth 7 seldepth 9 multipv 1 score cp 14 time 14 nodes 1902 nps 135857 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5
Engine: info depth 8 seldepth 9 multipv 1 score cp 21 time 16 nodes 2815 nps 175937 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7
Engine: info depth 9 seldepth 15 multipv 1 score cp 30 time 18 nodes 4085 nps 226944 tbhits 0 hashfull 0 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7
Engine: info depth 10 seldepth 17 multipv 1 score cp 30 time 34 nodes 8656 nps 254588 tbhits 0 hashfull 2 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2 a8c8
Engine: info depth 11 seldepth 18 multipv 1 score cp 22 time 117 nodes 32989 nps 281957 tbhits 0 hashfull 3 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2
Engine: info depth 12 seldepth 19 multipv 1 score cp 24 time 183 nodes 65473 nps 357775 tbhits 0 hashfull 5 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2 a8c8 d1b1 f6e4 h4e7 d8e7 f1d1 e4c3 e2c3
Engine: info depth 13 seldepth 23 multipv 1 score cp 23 time 335 nodes 163995 nps 489537 tbhits 0 hashfull 12 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2 c5e4 c2b3 a8c8 c3e4 d5e4 b3e6 d8d1 a1d1 f7e6
Engine: info depth 14 seldepth 23 multipv 1 score cp 23 time 382 nodes 206260 nps 539947 tbhits 0 hashfull 16 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2 c5e4 c2b3 a8c8 c3e4 d5e4 b3e6 d8d1 a1d1 f7e6
Engine: info depth 15 seldepth 23 multipv 1 score cp 23 time 407 nodes 226024 nps 555341 tbhits 0 hashfull 17 pv e2e3 e8g8 f1d3 h7h6 g5h4 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 d3c2 c5e4 c2b3 a8c8 c3e4 d5e4 b3e6 d8d1 a1d1 f7e6
Engine: info depth 16 seldepth 28 multipv 1 score cp 31 time 1312 nodes 906693 nps 691076 tbhits 0 hashfull 70 pv e2e3 e8g8 f1d3 c7c5 d4c5 b8d7 g1e2 d7c5 e1g1 c8e6 g5h4 h7h6 d3c2 c5e4 c2b3 a8c8 c3e4 f6e4 h4e7 d8e7 b3d5 e6d5
Engine: bestmove e2e3 ponder e8g8
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 c1g5 f8e7 c4d5 e6d5 e2e3 e8g8
Scid : go ponder wtime 48694 btime 53625 winc 0 binc 0
Scid : stop
Scid : position startpos moves d2d4 g8f6 c2c4 e7e6 b1c3 d7d5 c1g5 f8e7 c4d5 e6d5 e2e3 h7h6
Scid : go wtime 48694 btime 51310 winc 0 binc 0
Engine: info string time 48394 start 1635649260121 alloc 1613 max 6452 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 24 time 9 nodes 3 nps 333 tbhits 0 hashfull 0 pv f1d3
Engine: info depth 2 seldepth 1 multipv 1 score cp 24 time 9 nodes 9 nps 1000 tbhits 0 hashfull 0 pv f1d3 c7c5
Engine: info depth 3 seldepth 2 multipv 1 score cp 24 time 9 nodes 21 nps 2333 tbhits 0 hashfull 0 pv f1d3 c7c5 d4c5
Engine: info depth 4 seldepth 4 multipv 1 score cp 31 time 10 nodes 65 nps 6500 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6
Engine: info depth 5 seldepth 4 multipv 1 score cp 24 time 10 nodes 167 nps 16700 tbhits 0 hashfull 0 pv f1d3 f8e8 g1e2 c7c6 e1g1
Engine: info depth 6 seldepth 5 multipv 1 score cp 31 time 10 nodes 312 nps 31200 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6 h2h3 e7d6
Engine: info depth 7 seldepth 6 multipv 1 score cp 31 time 11 nodes 483 nps 43909 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6 h2h3 e7d6 g5h4
Engine: info depth 8 seldepth 7 multipv 1 score cp 31 time 11 nodes 764 nps 69454 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6 h2h3 e7d6 g5h4 b8d7
Engine: info depth 9 seldepth 8 multipv 1 score cp 31 time 15 nodes 1198 nps 79866 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6 h2h3 e7d6 g5h4 b8d7 e1g1
Engine: info depth 10 seldepth 11 multipv 1 score cp 31 time 26 nodes 2136 nps 82153 tbhits 0 hashfull 0 pv f1d3 f8e8 g1f3 c7c6 h2h3 e7d6 g5h4 b8d7 e1g1 d7f8 c3e2 f8g6
Engine: info string time 48394 start 1635649260194 alloc 1613 max 6452 depth 126 timeset 1 searchmoves 0
Engine: info depth 1 seldepth 0 multipv 1 score cp 24 time 5 nodes 4 nps 800 tbhits 0 hashfull 0 pv g5h4
Engine: info depth 2 seldepth 1 multipv 1 score cp 31 time 5 nodes 24 nps 4800 tbhits 0 hashfull 0 pv g5h4 e8g8
Engine: info depth 3 seldepth 2 multipv 1 score cp 24 time 5 nodes 54 nps 10800 tbhits 0 hashfull 0 pv g5h4 c7c6 f1d3
Engine: info depth 4 seldepth 3 multipv 1 score cp 31 time 5 nodes 106 nps 21200 tbhits 0 hashfull 0 pv g5h4 c7c6 f1d3 e8g8
Engine: info depth 5 seldepth 4 multipv 1 score cp 24 time 6 nodes 199 nps 33166 tbhits 0 hashfull 0 pv g5h4 c7c6 f1d3 c8g4 d1b3
Engine: info depth 6 seldepth 6 multipv 1 score cp 24 time 6 nodes 614 nps 102333 tbhits 0 hashfull 0 pv g5h4 c7c6 g1f3 f6e4 h4e7 d8e7
Note: Engine terminated without warning.

OpenBench access

Hi Jay,
Arjun this side

I am working on the Shuffle Chess Engine right now. I was wondering how can I get access to the OpenBench framework. Is there a specific procedure I need to follow?

I mailed Andrew Grant on the email address mentioned on his Github Profile, but I havent heard back from him.

Can you please guide me on this issue?

Berserk 11.1avx2 pext can`t run on win`s GUI

image
That is engine log , it just run 11s,then stop with out reason.
设备名称 DESKTOP-E38LAKK
处理器 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz
机带 RAM 16.0 GB (15.8 GB 可用)
That`s my hardware.

Problem in Arena with "Time per move"

I am using Arena 3.5.1 on Windows 10 Home, 8Gb memory, Berserk 20230818 compiled by Ipman. The only Berserk's parameter that I changed is from default contempt to contempt 16. Time per move in Arena is set to 12 mins per move for the following position:

r2qk2r/1ppnbpp1/4pn1p/pP3b2/2p5/P4NP1/1B1PPPBP/RN1Q1RK1 w kq - 0 10

Berserk 20230818 made a move in less than 300 secs whereas Stockfish 20230706, Komodo 14.1, Chess-System-Tal 2.0 made the move only used up the full 12 mins.

Is there a bug in Berserk 20230818 for "Time per move"? Thank you.

Best wishes,
Koh, Kah Huat

incorrect MPV list in SCID

Berserk v4.5.1 shows "best move" of next (?!) depth, replacing best move of current depth .. i think this is a bug in Berserk while most other engines show a proper list in my SCID (v4.7.0).

berserk_mpv_scid

[ i compiled Berserk on Xubuntu 20.04 with avx2 ]

Berserk stops search mid-pondering

When a search is started using with the keyword "ponder", Berserk should continue to search indefinitely as long as the opponent is still "thinking". Recent TM changes prior to Berserk 8.5.1 did not consider "ponder", resulting in Berserk not thinking as long as it should.

Example output of Berserk stopping at depth 11 when pondering the startpos

❯ ./berserk                                                                                                                                                           berserk/src -> main $
setoption name Ponder value true
info string set Ponder to value true
go ponder wtime 1000 btime 1000 winc 0 binc 0
info string time 1000 start 1649432003254 alloc 35 max 192 depth 99 timeset 1 searchmoves 0
info depth 1 seldepth 0 multipv 1 score cp 18 nodes 3 nps 3000 hashfull 0 tbhits 0 time 0 pv a2a3
info depth 2 seldepth 1 multipv 1 score cp 78 nodes 14 nps 14000 hashfull 0 tbhits 0 time 0 pv g1f3 a7a6
info depth 3 seldepth 2 multipv 1 score cp 18 nodes 47 nps 47000 hashfull 0 tbhits 0 time 1 pv g1f3 g8f6 a2a3
info depth 4 seldepth 3 multipv 1 score cp 70 nodes 127 nps 127000 hashfull 0 tbhits 0 time 1 pv e2e4 b8c6 b1c3 g8f6
info depth 5 seldepth 4 multipv 1 score cp 55 nodes 361 nps 361000 hashfull 0 tbhits 0 time 1 pv g1f3 g8f6 b1c3 b8c6 e2e4
info depth 6 seldepth 5 multipv 1 score cp 67 nodes 1101 nps 367000 hashfull 1 tbhits 0 time 3 pv e2e4
info depth 7 seldepth 6 multipv 1 score cp 54 nodes 1481 nps 370250 hashfull 1 tbhits 0 time 4 pv e2e4 c7c5 g1f3 b8c6 b1c3 g8f6 e4e5
info depth 8 seldepth 8 multipv 1 score cp 58 nodes 2095 nps 419000 hashfull 1 tbhits 0 time 5 pv e2e4 c7c5 g1f3 e7e6 b1c3 b8c6 d2d4 c5d4
info depth 9 seldepth 13 multipv 1 score cp 64 nodes 4855 nps 485500 hashfull 4 tbhits 0 time 10 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 d8f6 c2c3 f8c5
info depth 10 seldepth 13 multipv 1 score cp 58 nodes 7696 nps 513066 hashfull 4 tbhits 0 time 15 pv e2e4 e7e5 g1f3 b8c6 f1b5 g8f6 b1c3 c6d4 f3e5 d4b5
info depth 11 seldepth 13 multipv 1 score cp 63 nodes 16135 nps 597592 hashfull 7 tbhits 0 time 27 pv e2e4 c7c5 g1f3 b8c6 b1c3 e7e6 f1b5 d7d5 e4d5 e6d5 e1g1 g8f6

Illegal move a8a8 encountered

I was using the non-popcount compile of Berzerk 2.0.0, and I ran into an illegal move. It was a position where Berzerk had a king and bishop, and my program had a king and pawn. My program was getting ready to try and promote, and Berzerk was forced to capture the pawn in order to prevent the pawn promotion. In the PVs before the illegal move, Berzerk indicated that it saw the draw, but when it came time to actually make the pawn capture, it performed the illegal move.

I have uploaded an Arena log file here:

http://tonyschess.x10host.com/BerzerkLog.rar

Unfortunately, the first few moves of the game were truncated from the log, but I doubt they had any effect on the bug.

Tony

Detect mate with Eval?

position fen rnbqk1nr/1ppp1ppp/p7/2b1p3/2B1P3/5Q2/PPPP1PPP/RNB1K1NR w KQkq - 0 4
eval
+-------+-------+-------+-------+-------+-------+-------+-------+
|   r   |   n   |   b   |   q   |   k   |       |   n   |   r   |
|   -613|   -484|   -576|  -1074|       |       |   -495|   -655|
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |   p   |   p   |   p   |       |   p   |   p   |   p   |
|       |   -215|   -171|   -138|       |   -187|   -201|    -80|
+-------+-------+-------+-------+-------+-------+-------+-------+
|   p   |       |       |       |       |       |       |       |
|   -128|       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |   b   |       |   p   |       |       |       |
|       |       |   -587|       |   -246|       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |   B   |       |   P   |       |       |       |
|       |       |   +580|       |   +246|       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |   Q   |       |       |
|       |       |       |       |       |   +968|       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|   P   |   P   |   P   |   P   |       |   P   |   P   |   P   |
|   +109|   +167|   +201|   +154|       |   +168|   +162|    +57|
+-------+-------+-------+-------+-------+-------+-------+-------+
|   R   |   N   |   B   |       |   K   |       |   N   |   R   |
|   +570|   +447|   +532|       |       |       |   +471|   +598|
+-------+-------+-------+-------+-------+-------+-------+-------+
Score: 38cp (white)

Is it possible to detect checkmate from evaluation?

compile error on arm64 aarch64 with gcc or clang on RaspBerry 4

Hello,

On my raspberry 4 (aarch64 architecture) on Debian / Ubuntu the result is the same with gcc or clang 👍

ubuntu@ubuntu:~/berserk/src$ make -j4 build
Using the current best network: berserk-e4712455eaf4.nn
File already downloaded
Downloaded network berserk-e4712455eaf4.nn and verified
make ARCH=aarch64 all
make[1] : on entre dans le répertoire « /home/ubuntu/berserk/src »
clang attacks.c bench.c berserk.c bits.c board.c eval.c history.c move.c movegen.c movepick.c perft.c random.c search.c see.c tb.c thread.c transposition.c uci.c util.c zobrist.c nn/accumulator.c nn/evaluate.c pyrrhic/tbprobe.c -pthread -lm -o berserk
nn/evaluate.c:35:15: error: expected ')'
INCBIN(Embed, EVALFILE);
^
nn/evaluate.c:35:1: note: to match this '('
INCBIN(Embed, EVALFILE);
^
nn/../incbin.h:305:10: note: expanded from macro 'INCBIN'
asm(INCBIN_SECTION INCBIN_GLOBAL_LABELS(NAME, DATA)
^
1 error generated.

make[1]: *** [makefile:99 : all] Erreur 1
make[1] : on quitte le répertoire « /home/ubuntu/berserk/src »
make: *** [makefile:72 : build] Erreur 2

I don't know how to solve it

Thanks for your help

Berserk 9 all builds crash very often on Windows and Mac M1

Hi!
I like Berserk a lot. Maybe it is the best free open source original chess engine. But it crashes very often, at least using Banksiagui on Mac M1 (but even your Windows popcnt sse41 builds). Suddenly it hangs in timeout and loses by time. Tried also various move overhead values (default 300) from 100 to 10000 and hash 64 up 256 Mb not only 20220725 build, even old ones crash. No issues with other engines like Koivisto 8.13 or Seer 2.5.0 on Banksiagui 0.54

It seems that is crashes always on same position (watch image), starting a game with a different opening sometimes solves the issue for a while.

berserk

Log ends with:
banksia > Timeleft for Berserk 9: 1784.80, used: 1789.85, ProteusSF 030822: 1748.69
no errors but if you want I'm available to give you more feedbacks to solve this issue with you. Just tell me what to try. It's really a pity because it's a very good engine (M1 build compiled by Darius) https://www.chessengeria.com/post/interview-with-jay-honnold

Bug of making losing moves without calculation

Hi!
There is bug in Berserk 12 that sometimes causes it to make losing moves that blunder piece or rook or queen or even checkmate.

This bug happened almost all times after many moves without captures or pawn moves.

I have looked Berserk 12 games at database of CEGT at CEGT Downloads 40/20 - All games part 2 without comments

There are 1528 games of Berserk 12 in the database.
From 24 lost white games 18 were lost because of this bug.
And from 82 black games there are about 25 such losses.

Please fix this bug.

Cannot compile Bersek 2.0.0 on Linux 64

Hello! I try to compile the engine on Linux 64 and get this message:

[roland@localhost src]$ LC_ALL=C make
gcc -O3 -std=gnu11 -Wall -Wextra -Wshadow -flto -march=native *.c -o berserk
/usr/bin/ld: /tmp/ccdLrmTs.ltrans0.ltrans.o: in function `ttInit':
<artificial>:(.text+0x4eca): undefined reference to `log2'
collect2: error: ld returned 1 exit status
make: *** [makefile:9: all] Error 1
[roland@localhost src]$

Would you know how to solve this?

Regards.

Roland

Berserk-12-Official release (Windows_x64_avx2 binary). FRC/Chess960. GUI: Cutechess 1.2. Berserk blunders in one move to lose the games. Some examples. PGN

[Event "My Tournament"]
[Site "?"]
[Date "2023.11.04"]
[Round "4"]
[White "Lc0-v0.31-dag-BT3-2860000-Ergodice-tune_1.29"]
[Black "berserk-12-x64-avx2_16CPU"]
[Result "1-0"]
[Variant "chess 960"]
[SetUp "1"]
[FEN "qbbnnrkr/pppppppp/8/8/8/8/PPPPPPPP/QBBNNRKR w HFhf - 0 1"]
[PlyCount "34"]
[EventDate "2023.??.??"]
[TimeControl "240"]

  1. c4 {0.31/8 13} c5 {-0.17/28 6.0s} 2. Nf3 {0.28/9 4.6s} h5 {-0.14/27 4.3s} 3. h4 {0.24/9 4.6s} Nf6 {-0.12/32 8.8s} 4. b3 {0.20/10 4.6s} b5 {-0.07/30 9.3s} 5. cxb5 {0.16/11 4.6s} a6 {-0.05/28 8.3s} 6. b6 {0.16/10 4.6s} Qb7 {-0.12/31 16} 7. d4 {0.25/11 4.6s} cxd4 {0.05/26 2.7s} 8. Qxd4 {0.28/12 4.6s} Nc6 {0.00/30 3.3s} 9. Qd2 {0.28/14 4.6s} Qxb6 {0.05/32 5.2s} 10. Nc3 {0.29/12 4.6s} d6 {0.00/33 36} 11. Bb2 {0.51/9 4.6s} e5 {0.01/30 7.2s} 12. Rc1 {0.47/10 4.6s} Qxf2+ {#1/200 0.11s} 13. Kxf2 {68.14/6 4.6s} Bb7 {-9.56/29 36} 14. Nd5 {69.44/6 4.6s} Nxd5 {-9.03/29 12} 15. Qxd5 {27.71/6 4.6s} Nd8 {-8.92/28 5.4s} 16. Qd2 {95.87/6 4.6s} Rh6 {-9.36/32 24} 17. Rh3 {106.86/5 4.6s} f5 {-8.57/25 5.1s, White wins by adjudication} 1-0

[Event "My Tournament"]
[Site "?"]
[Date "2023.11.04"]
[Round "2"]
[White "berserk-12-x64-avx2_16CPU"]
[Black "Lc0-v0.31-dag-BT3-2860000-Ergodice-tune_1.29"]
[Result "0-1"]
[Variant "chess 960"]
[SetUp "1"]
[FEN "qnrbbnkr/pppppppp/8/8/8/8/PPPPPPPP/QNRBBNKR w HChc - 0 1"]
[PlyCount "17"]
[EventDate "2023.??.??"]
[TimeControl "240"]

  1. c4 {0.30/30 24} c5 {-0.20/9 15} 2. e3 {0.26/31 0} d6 {-0.14/11 4.6s} 3. b3 {0.41/27 5.6s} b5 {-0.17/15 4.6s} 4. Qxg7+ {#1/27 4.3s} Kxg7 {79.16/1 0.001s} 5. h4 {-9.01/31 23} Rg8 {88.52/5 9.1s} 6. Rh3 {-9.24/31 3.3s} Kh8 {92.35/5 4.6s} 7. Rg3 {-9.09/28 1.7s} Rxg3 {100.35/5 4.6s} 8. Nxg3 {-9.25/29 1.7s} Ng6 {98.63/5 4.6s} 9. Bf3 {-8.43/28 16s, Black wins by adjudication} 0-1

[Event "My Tournament"]
[Site "?"]
[Date "2023.11.04"]
[Round "1"]
[White "Lc0-v0.31-dag-BT3-2860000-Ergodice-tune_1.29"]
[Black "berserk-12-x64-avx2_16CPU"]
[Result "1-0"]
[Variant "chess 960"]
[SetUp "1"]
[FEN "qbbnnrkr/pppppppp/8/8/8/8/PPPPPPPP/QBBNNRKR w HFhf - 0 1"]
[PlyCount "42"]
[EventDate "2023.??.??"]
[TimeControl "240"]

  1. c4 {0.31/8 13} c5 {-0.16/29 7.7s} 2. Nf3 {0.27/10 4.6s} h5 {-0.09/30 13} 3. h4 {0.22/10 4.6s} Nf6 {-0.11/31 15} 4. b3 {0.17/11 4.6s} b5 {-0.03/31 8.4s} 5. cxb5 {0.17/12 4.6s} a6 {-0.11/28 3.8s} 6. Qc3 {0.16/10 4.6s} Ne6 {-0.12/27 4.3s} 7. b6 {0.17/14 4.6s} Bb7 {-0.01/31 8.5s} 8. Qa5 {0.41/11 4.6s} d5 {-0.03/30 6.9s} 9. Ng5 {0.40/14 4.6s} Nd4 {0.00/32 1.2s} 10. Re1 {0.21/14 4.6s} Bd6 {0.00/31 0.36s} 11. Ba3 {0.25/16 4.6s} Nd7 12. e3 {0.41/13 4.6s} Nc6 {0.00/33 0} 13. Qc3 {0.35/12 4.6s} d4 {0.00/31 0} 14. exd4 {0.44/12 4.6s} Nxd4 {0.60/28 2.9s} 15. Ne3 {0.27/18 4.6s} Bxg2 {0.85/26 2.4s} 16. Nxg2 {11.62/7 4.6s} Qxg2+ {#1/200 0.051s} 17. Kxg2 {109.74/1 0.001s} Rh6 {-10.29/27 26} 18. Bxc5 {114.10/6 9.1s} Bxc5 {-8.95/23 2.6s} 19. b4 {114.04/5 4.6s} Bxb6 {-10.34/30 33} 20. Rxe7 {78.10/6 4.6s} Rf6 {-10.55/30 12} 21. Rhe1 {94.34/5 4.6s} Rxf2+ {-11.42/30 28s, White wins by adjudication} 1-0

It seems like in all cases, a queen move is involved in this blunder. Don't know if it is fixed in the dev version. I am posting this just so that you are aware of this behavior in the official build of Berserk-12 i fetched from the github repository of Berserk.

Windows 10, Git Bash - bash: git: command not

Hi Jay!

Cannot compile it for sse41 popcnt Windows 11, from your server and even from local folder.

installed git bash following this tutorial:
https://www.youtube.com/watch?v=pIbxvTsjqLw

alex@ALESSANDROMC547 MINGW64 ~
$ git clone https://github.com/jhonnold/berserk
bash: git: command not found

alex@ALESSANDROMC547 MINGW64 ~/berserk9-220927/src
$ make -j build ARCH=x86-64-sse41-popcnt COMP=mingw
cc1.exe: error: CPU you selected does not support x86-64 instruction set
make: *** No rule to make target 'build'. Stop.

Usually something like:

make -j build ARCH=x86-64-sse41-popcnt COMP=mingw ; make profile-build ARCH=x86-64-sse41-popcnt COMP=mingw
works fine for most engines on Windows 11 ARM64

Compiled last dev build 220926 on Mac M1 (simply removing -march=native from Makefile)
following your github instructions and it works perfectly without a single crash!!

Checkmate overrides the 50 move rule

[Event "Stockfish Classical Bonus II (15|3)"]
[Site "?"]
[Date "2022.04.03"]
[Round "1"]
[White "Stockfish Classic"]
[Black "Koivisto"]
[Result "1-0"]
[ECO "A27"]
[GameDuration "00:40:38"]
[GameEndTime "2022-04-03T09:08:45.981 PDT"]
[GameStartTime "2022-04-03T08:28:07.927 PDT"]
[Opening "English"]
[PlyCount "225"]
[TimeControl "900+3"]
[Variation "Three knights system"]

1. c4 e5 2. Nc3 Nc6 3. Nf3 f5 4. g3 d6 5. d4 e4 6. d5 Ne5 7. Nxe5 dxe5 8. g4 g6
9. gxf5 gxf5 10. Rg1 Nf6 11. Bg5 Kf7 12. e3 Rg8 13. Be2 Qd6 14. c5 Qxc5 15. Bh5+
Rg6 16. Bxg6+ hxg6 17. Bxf6 Kxf6 18. Qa4 b5 19. Qxb5 Qxb5 20. Nxb5 Rb8 21. Nxa7
Ba6 22. O-O-O Ra8 23. Nc6 Be2 24. Rd2 Rxa2 25. Kb1 Bc4 26. Rc1 Ra4 27. b4 Bd3+
28. Kb2 Bxb4 29. Nxb4 Rxb4+ 30. Ka3 Rb5 31. Rc6+ Kg5 32. h4+ Kxh4 33. Rxg6 Ra5+
34. Kb4 Rb5+ 35. Kc3 Rc5+ 36. Kb4 Rb5+ 37. Kc3 Rc5+ 38. Kb2 Rb5+ 39. Ka1 Ra5+
40. Ra2 Rxa2+ 41. Kxa2 Bc4+ 42. Ka3 Bxd5 43. Kb4 f4 44. Kc5 Bb7 45. Kc4 Kh3 46.
Rg7 f3 47. Rg3+ Kh2 48. Rg6 Kh3 49. Kc3 Bd5 50. Rg3+ Kh2 51. Rg5 c6 52. Kd2 Kh3
53. Rg3+ Kh2 54. Rg4 Kh1 55. Rg6 Kh2 56. Rg5 Kh3 57. Rg3+ Kh2 58. Rg6 Kh3 59.
Rh6+ Kg2 60. Ke1 Kg1 61. Rf6 Kh2 62. Rf5 Bc4 63. Rxe5 Bd5 64. Re8 Kg2 65. Rd8
Be6 66. Rd1 Bd5 67. Ra1 Bb3 68. Rb1 Bd5 69. Rb2 Kh1 70. Rb7 Kg1 71. Rh7 Ba2 72.
Rg7+ Kh2 73. Rh7+ Kg1 74. Rg7+ Kh2 75. Rc7 Bd5 76. Rh7+ Kg2 77. Rh6 Kg1 78. Rh4
Kg2 79. Rg4+ Kh2 80. Kd2 Kh3 81. Rg3+ Kh2 82. Kc3 Kh1 83. Kd4 Kh2 84. Kc5 Kh1
85. Kd4 Kh2 86. Ke5 Kh1 87. Kd6 Kh2 88. Ke5 Kh1 89. Kd6 Kh2 90. Kc5 Kh1 91. Rg4
Kh2 92. Kd6 Kh3 93. Rg5 Kh2 94. Rg3 Kh1 95. Kc5 Kh2 96. Kd6 Kh1 97. Rg4 Kh2 98.
Kc5 Kh1 99. Rg3 Kh2 100. Kd4 Kh1 101. Rg4 Kh2 102. Ke5 Kh1 103. Kd4 Kh2 104. Ke5
Kh1 105. Kd6 Kh2 106. Kd7 Kh3 107. Rg1 Kh4 108. Rg3 Kh5 109. Kd6 Kh4 110. Ke5
Kh5 111. Kf6 Kh4 112. Kf5 Kh5 113. Rh3# 1-0

image

Android compatibility

Any chance that the source code will become compatible with Android again (arm64-v8a and armeabi-v7a)?

nn.h:
#include <immintrin.h>

how to use branches / tags ?

i always wondered how to 'use' the different versions of GitHub projects (like yours) as shown when clicking the button "switch branches or tags" .. can you explain or give a link to some doc ? [i can ask this question to any developer on GitHub, i know]

i find many interesting (chess) projects on GitHub and i try to use them by compiling their sources .. therefor i learned to do a 'git clone' by using the green 'Code' button and copy an URL like your https://github.com/jhonnold/berserk.git to use in terminal .. however, when clicking the button "switch branches or tags", which defaults to 'main' or sometimes 'master', i can see any file & folder list, eg. like this 'tag 5' version :

berserk5

besides the question if it's useful anyway, how can i copy such source tree? In this mode, the green Code button is still visible, but it doesn't give me another .git URL .. also 'Download ZIP' still supplies code of the Main branch .. i read GitHub Docs 'About remote repositories' at https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories but it does not bring me answers ..

another thing in this regard : why do you keep all those branches and tags ? Will anyone use these anytime ? Then how and for what purpose ?

some developers at GitHub maintain their code in a different way -- i don't know if it's correct what they're doing : compiling their 'Main' code gives a development version (being their current latest code), which is visible in the version number after doing the 'uci' command (regarding code of an UCI chess engine). So their 'Main' version is not equal to their 'Latest' release, which confuses me ..

cannot run on chess-cli

../etc/c-chess-cli.conf: line 4: unexpected EOF while looking for matching `"'
../etc/c-chess-cli.conf: line 10: syntax error: unexpected end of file

Berserk NNUE Bug

position fen 5rk1/p1p1q1pp/bp6/2b1pn2/Q7/2P2N2/PPBN1PPP/4R1K1 b - - 0 1
eval
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |       |   r   |   k   |       |
|       |       |       |       |       |   -631|       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|   p   |       |   p   |       |   q   |       |   p   |   p   |
|    -94|       |   -106|       |   -974|       |   -131|   -155|
+-------+-------+-------+-------+-------+-------+-------+-------+
|   b   |   p   |       |       |       |       |       |       |
|   -477|   -143|       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |   b   |       |   p   |   n   |       |       |
|       |       |   -504|       |    -95|   -412|       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|   Q   |       |       |       |       |       |       |       |
|  +1107|       |       |       |       |       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |   P   |       |       |   N   |       |       |
|       |       |   +174|       |       |   +433|       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
|   P   |   P   |   B   |   N   |       |   P   |   P   |   P   |
|    +96|   +160|   +538|   +409|       |   +369|   +291|   +114|
+-------+-------+-------+-------+-------+-------+-------+-------+
|       |       |       |       |   R   |       |   K   |       |
|       |       |       |       |   +576|       |       |       |
+-------+-------+-------+-------+-------+-------+-------+-------+
Score: 146cp (white)

go nodes command doesnt give number of nodes close to requested

After command go nodes 7000000 the last output of Berserk 13 is:

info depth 26 seldepth 42 multipv 1 score cp 34 upperbound wdl 168 789 43 nodes 5082631 nps 1787141 hashfull 977 tbhits 0 time 2844 pv e2e4 e7e5
info depth 26 currmove e2e4 currmovenumber 1
info depth 26 currmove g1f3 currmovenumber 2
bestmove e2e4 ponder e7e5

Every info packet corresponds to depth value. But because 7000000 nodes are not enough for next depth, the bestline and bestmove are linked to number of nodes of last depth and not to the requested count.

How to get stated with NNUE

Hi Jay!

I am currently working on the Shuffle Chess Engine. I've made the decision to incorporate NNUE into my engine, but I'm facing challenges finding resources to kick-start the process. I'm particularly interested in understanding the required position encoding for NNUE and how to structure the architecture. It seems that the neural net differs from conventional networks. Additionally, the concept of horizontally mirrored buckets is a bit unclear to me.

Could you please share some resources to help me get started? Are there any talkchess threads or other materials that you think would be beneficial for my understanding? Your guidance would be greatly appreciated.

Thank you!

Berserk 11.1 time management issue leads to regularly losing games it would otherwise win

Berserk 11.1 has an intermittent issue where sometimes it takes longer than it is supposed to to do a move. This is obvious if you have it play a bunch of games in the Scid vs. PC 4.23 GUI against the built-in chess engines Scidlet, Phalanx, or Toga II. Most of the chess engines with high Elo ratings pretty much always beat Scidlet, almost always beat Phalanx, and pretty consistently beat Toga II. You see this with Stockfish 15.1, Lc0 v0.29.0, or Fat Fritz 2 if they are installed and configured correctly and running on good enough hardware (Lc0 requires a decent NVIDIA video card and the right CUDA build).

Anyway the problem with Berserk 11.1 is, you see it losing sometimes to the weakest chess engines, even the really really bad Scidlet, on regular occasions, something that just doesn't happen at all with other high-Elo chess engines I mentioned earlier like Stockfish, Lc0, or the controversial Fat Fritz 2. And when you look at the reason why it loses to them, it's always going over the time limit, using more time than it is allowed to use by the GUI. If a chess engine goes over the time limit, for whatever reason, it automatically loses the game, which is what happens regularly to Berserk 11.1, at least in this setup. It seems to happen a bit more often against Toga II and Phalanx than Scidlet because they are advanced enough that the game keeps going for more moves, giving Berserk more chances to go over the time limit.

To really trigger this issue more often, you can set the time control to be per move and just give 1 second per move, or set the time control to be per game and start out at 1 second and add an additional second for each move. This also makes games go faster as well as triggering this bug to occur more often, so I recommend using those settings to duplicate this bug, and testing it against an engine that is significantly weaker, enough to consistently lose if there isn't a timeout, but not so weak that it loses after just a few moves. This issue comes up remarkably often in games between Berserk and Phalanx... Phalanx is better than Scidlet so it can last longer, but it is nowhere near as good as modern NNUE engines so its loss would only be a matter of time if it weren't for this timeout issue. Since Berserk vs. Phalanx games go on longer than Berserk vs. Scidlet games, you see more of them where Berserk loses and Phalanx wins on time. If you fixed this bug in Berserk 11.1, obviously Berserk would win pretty much every game against these much weaker engines. I think the quick fix for a time issue included in Berserk 11.1 wasn't quite perfect and this issue seems to be a relic of that. Berserk DOES do pretty good moves when it does do a move, still, but this timeout issue affects it no matter what chess engine it is up against, and makes it lose against good chess engines even more than the weak ones, at least in the Scid vs. PC GUI. I have it set with Ponder = On which might be relevant, the other settings are mostly defaults other than the number of threads being the number of cores my CPU has. Everything besides those 2 is default and it is the right version for my CPU (x64-avx2-pext since I have a relatively recent CPU). Oh and this is on 64-bit Windows 11.

None of the other chess engines I have have any issues like this with time management. This issue is a real shame because I have been doing some computer chess engine tournaments just for testing purposes on my computer and Berserk 11.1 does much worse in the tournaments than it is supposed to do according to its online ratings, and I would like to get this fixed so it is at peak performance as one of the best engines with a unique evaluation function that gives different results from other top engines but still does very well. I assume that if I tested Berserk 10 or earlier, it would probably not have this bug, but I have not really done that, since I figure you can figure this out for yourself. To duplicate this, of course, you need to use a chess GUI to set strict time limits of like, one second or something, and watch how it sometimes goes over the limits and loses. Thank you.

Compilation fails with gcc 10.2.0 in msys2 ('multiple definition of' linking error)

Hi Jay,

$ make
gcc -O3 -std=gnu11 -Wall -Wextra -Wshadow -flto -march=native -static *.c -o berserk
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccO5hkMQ.o (symbol from plugin):(.text+0x0): multiple definition of `zobristPieces'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccO5hkMQ.o (symbol from plugin):(.text+0x0): multiple definition of `zobristEpKeys'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccO5hkMQ.o (symbol from plugin):(.text+0x0): multiple definition of `zobristCastleKeys'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccO5hkMQ.o (symbol from plugin):(.text+0x0): multiple definition of `zobristSideKey'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\cc7aEOno.o (symbol from plugin):(.text+0x0): multiple definition of `baseMaterialValues'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccIVGumi.o (symbol from plugin):(.text+0x0): multiple definition of `baseMaterialValues'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccxfj1SO.o (symbol from plugin):(.text+0x0): multiple definition of `baseMaterialValues'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccPPcc0T.o (symbol from plugin):(.text+0x0): multiple definition of `baseMaterialValues'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccC6o3Ig.o (symbol from plugin):(.text+0x0): multiple definition of `zobristPieces'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccC6o3Ig.o (symbol from plugin):(.text+0x0): multiple definition of `zobristEpKeys'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccC6o3Ig.o (symbol from plugin):(.text+0x0): multiple definition of `zobristCastleKeys'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\msys64\tmp\ccC6o3Ig.o (symbol from plugin):(.text+0x0): multiple definition of `zobristSideKey'; C:\msys64\tmp\cc8m3SUt.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:9: all] Error 1

Multiple definition of is a typical error for newer gcc versions. (it dislikes header redefining used in various c files)

https://stackoverflow.com/questions/17764661/multiple-definition-of-linker-error
https://mersenneforum.org/showthread.php?p=565756

I would like to compile a non-popcnt version for my hardware and already received requests for hardware
just using ssse3. (w and w/o popcnt)

Guenther

Segmentation Fault

Berserk segfaults when analysing a position with more than 128 moves, such as:
FEN: 3Q4/1Q4Q1/4Q3/2Q4R/Q4Q2/3Q4/1Q4Rp/1K1BBNNk w - -

This position has 218 legal moves which is considered to be the most of any legal position (that anyone has constructed so far...)

I believe a simple fix is to redefine MAX_MOVES from 128 to 218 in types.h- at least that worked for me after a brief check. Obviously this will likely make a small reduction in engine performance for the sake of full legal completeness. Maybe this is something you have already considered, but I did find a position in lichess elite database from a real game with more than 128 legal moves.

Build error 1

Hi,
I'm trying to compile berserk using cygwin without success.
The following message is displayed when make basic is executed:

$ make basic
git submodule update --init
gcc -std=gnu11 -Wall -Wextra -Wshadow -Werror -O3 -flto -g -DVERSION="10" -DEVALFILE="networks/berserk-c982d9682d4e.nn" -DNDEBUG -march=native *.c pyrrhic/tbprobe.c -pthread -lm -o berserk
/tmp/ccBY6UyE.s: Assembler messages:
/tmp/ccBY6UyE.s:8: Warning: .type pseudo-op used outside of .def/.endef: ignored.
/tmp/ccBY6UyE.s:8: Error: junk at end of line, first unrecognized character is K' /tmp/ccBY6UyE.s:13: Warning: .type pseudo-op used outside of .def/.endef: ignored. /tmp/ccBY6UyE.s:13: Error: junk at end of line, first unrecognized character is K'
/tmp/ccBY6UyE.s:18: Warning: .type pseudo-op used outside of .def/.endef: ignored.
/tmp/ccBY6UyE.s:18: Error: junk at end of line, first unrecognized character is K' /tmp/ccBY6UyE.s:27: Warning: .type pseudo-op used outside of .def/.endef: ignored. /tmp/ccBY6UyE.s:27: Error: junk at end of line, first unrecognized character is K'
/tmp/ccBY6UyE.s:32: Warning: .type pseudo-op used outside of .def/.endef: ignored.
/tmp/ccBY6UyE.s:32: Error: junk at end of line, first unrecognized character is K' /tmp/ccBY6UyE.s:37: Warning: .type pseudo-op used outside of .def/.endef: ignored. /tmp/ccBY6UyE.s:37: Error: junk at end of line, first unrecognized character is K'
/tmp/ccBY6UyE.s:46: Warning: .type pseudo-op used outside of .def/.endef: ignored.
/tmp/ccBY6UyE.s:46: Error: junk at end of line, first unrecognized character is E' /tmp/ccBY6UyE.s:51: Warning: .type pseudo-op used outside of .def/.endef: ignored. /tmp/ccBY6UyE.s:51: Error: junk at end of line, first unrecognized character is E'
/tmp/ccBY6UyE.s:56: Warning: .type pseudo-op used outside of .def/.endef: ignored.
/tmp/ccBY6UyE.s:56: Error: junk at end of line, first unrecognized character is `E'
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make: *** [makefile:58: basic] Error 1

Headerification proposal

All .c files could be converted to
headers, like bits.c/bits.h, but instead
of bits.c including bits.h,
only berserk.c would include header.h.
This would reduce clutter of multiple
redundant includes, allow whole
program optimization(vs LTO) and make compilation much faster as compiler and linker will use a single symbol map.

Question about modern chess engines...

I have a question for you on modern chess programming theory. Why do modern engines place more emphasis on board position than on piece capture? I have a large collection of chess programs & engines (200+), and the older chess programs from the 70's, 80', & 90's tend to place more emphasis on piece capture & pawn promotion, and controlling the game in that manner, where the modern engines place more emphasis on board positions. Stockfish, Komodo, and programs like yours are obviously much more powerful than the best programs from the 90's, but with all the modern processing power and accumulated chess programming knowledge, why not more piece grabbing programs that would obviously excel?

Shawn Weber

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.