Coder Social home page Coder Social logo

rubichess's People

Contributors

matthies avatar matthies-dataport avatar nguyenpham avatar wunst 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

rubichess's Issues

Bad move ordering at low plies

I did some statistics about how many moves need to be played in average in different plies:

2020-06-11 13:20:38,153<--1:(ST)   ply:  1  quiets-nonpv: ---   tactics-nonpv: ---  quiets-pv: 11.03  tactics-pv: 0.65
2020-06-11 13:20:38,155<--1:(ST)   ply:  2  quiets-nonpv: 0.93  tactics-nonpv: 0.12  quiets-pv: 11.56  tactics-pv: 0.86
2020-06-11 13:20:38,158<--1:(ST)   ply:  3  quiets-nonpv: 2.13  tactics-nonpv: 0.23  quiets-pv: 8.87  tactics-pv: 0.72
2020-06-11 13:20:38,160<--1:(ST)   ply:  4  quiets-nonpv: 0.99  tactics-nonpv: 0.15  quiets-pv: 9.51  tactics-pv: 0.74
2020-06-11 13:20:38,161<--1:(ST)   ply:  5  quiets-nonpv: 1.41  tactics-nonpv: 0.22  quiets-pv: 7.81  tactics-pv: 0.63
2020-06-11 13:20:38,164<--1:(ST)   ply:  6  quiets-nonpv: 0.92  tactics-nonpv: 0.18  quiets-pv: 7.74  tactics-pv: 0.66
2020-06-11 13:20:38,168<--1:(ST)   ply:  7  quiets-nonpv: 1.01  tactics-nonpv: 0.20  quiets-pv: 6.92  tactics-pv: 0.62
2020-06-11 13:20:38,171<--1:(ST)   ply:  8  quiets-nonpv: 0.84  tactics-nonpv: 0.19  quiets-pv: 6.74  tactics-pv: 0.63
2020-06-11 13:20:38,174<--1:(ST)   ply:  9  quiets-nonpv: 0.86  tactics-nonpv: 0.20  quiets-pv: 6.26  tactics-pv: 0.58
2020-06-11 13:20:38,176<--1:(ST)   ply: 10  quiets-nonpv: 0.76  tactics-nonpv: 0.20  quiets-pv: 5.77  tactics-pv: 0.59
2020-06-11 13:20:38,177<--1:(ST)   ply: 11  quiets-nonpv: 0.78  tactics-nonpv: 0.19  quiets-pv: 5.46  tactics-pv: 0.52
2020-06-11 13:20:38,180<--1:(ST)   ply: 12  quiets-nonpv: 0.71  tactics-nonpv: 0.19  quiets-pv: 5.00  tactics-pv: 0.58
2020-06-11 13:20:38,183<--1:(ST)   ply: 13  quiets-nonpv: 0.72  tactics-nonpv: 0.18  quiets-pv: 4.69  tactics-pv: 0.49
2020-06-11 13:20:38,186<--1:(ST)   ply: 14  quiets-nonpv: 0.67  tactics-nonpv: 0.18  quiets-pv: 4.28  tactics-pv: 0.53
2020-06-11 13:20:38,188<--1:(ST)   ply: 15  quiets-nonpv: 0.68  tactics-nonpv: 0.17  quiets-pv: 3.97  tactics-pv: 0.45
2020-06-11 13:20:38,191<--1:(ST)   ply: 16  quiets-nonpv: 0.64  tactics-nonpv: 0.17  quiets-pv: 3.74  tactics-pv: 0.48
2020-06-11 13:20:38,193<--1:(ST)   ply: 17  quiets-nonpv: 0.65  tactics-nonpv: 0.16  quiets-pv: 3.44  tactics-pv: 0.43
2020-06-11 13:20:38,194<--1:(ST)   ply: 18  quiets-nonpv: 0.62  tactics-nonpv: 0.15  quiets-pv: 3.34  tactics-pv: 0.43
2020-06-11 13:20:38,197<--1:(ST)   ply: 19  quiets-nonpv: 0.62  tactics-nonpv: 0.15  quiets-pv: 2.97  tactics-pv: 0.38

Shows that move ordering in low plies especially for quiet moves and in odd plies doesn't work very well.
Odd/even difference may have to do with cut nodes.

Illegal Move Generation (Resubmitting Previous Move?)

Reviving an issue previously encountered, here: #3

During Tournament Round Robin Matchups in cutechess (TC=40/1.0+0.01), Rubichess (1.3.1) frequently loses by Illegal Move Generation (specifically by resubmitting the previous move). I checked at the beginning of a tournament, and this happened 12 out of 40 games.

All of these events seem to occur near time control (moves 36-40), so this may have something to do with time management...

Embedded NNUE

How to compile with embedded nnue (not default Rubinet) in clang? After compile using default net after ./RubiChess compiler, the nnue not exist.

Rare crashes

In one of ~1000 games RubiChess crashes with 0xc0000005. Seems to be triggerred by wrong index in isAttacked which is probably triggered by mstop going below 0. May be related to hashmovecode being only 16 bit now. Needs some assert code and a long debugging session...

Compiling under MacOSX fails

Reported in http://talkchess.com/forum3/viewtopic.php?f=2&t=75016&start=70:

rm -f RubiChess-BMI2 RubiChess-AVX2 RubiChess RubiChess-Legacy *.o
rm -f -rf OPT
rm -f *.clangprof-raw *.profdata
  Compiling RubiChess...
clang++ -std=c++11 -Wall -O3 -flto -pedantic -Wextra -Wshadow  -mssse3 -msse2 -mmmx -mpopcnt *.cpp -lpthread  -D GITVER=\"20201029193215\" -D GITID=\"4cd1205\" -DUSE_SSSE3 -DUSE_SSE2 -DUSE_MMX -DUSE_POPCNT -o RubiChess
board.cpp:2577:31: error: use of undeclared identifier 'aligned_alloc'
    sthread = (searchthread*) allocalign64(size);
                              ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
1 error generated.
nnue.cpp:429:22: error: use of undeclared identifier 'aligned_alloc'
    bias = (int16_t*)allocalign64(allocsize);
                     ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
nnue.cpp:431:24: error: use of undeclared identifier 'aligned_alloc'
    weight = (int16_t*)allocalign64(allocsize);
                       ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
nnue.cpp:467:22: error: use of undeclared identifier 'aligned_alloc'
    bias = (int32_t*)allocalign64(allocsize);
                     ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
nnue.cpp:469:23: error: use of undeclared identifier 'aligned_alloc'
    weight = (int8_t*)allocalign64(allocsize);
                      ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
4 errors generated.
transposition.cpp:167:36: error: use of undeclared identifier 'aligned_alloc'
    table = (transpositioncluster*)allocalign64(allocsize);
                                   ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
transposition.cpp:352:31: error: use of undeclared identifier 'aligned_alloc'
    table = (S_PAWNHASHENTRY*)allocalign64(tablesize);
                              ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
transposition.cpp:388:33: error: use of undeclared identifier 'aligned_alloc'
    table = (Materialhashentry*)allocalign64(tablesize);
                                ^
./RubiChess.h:125:25: note: expanded from macro 'allocalign64'
#define allocalign64(x) aligned_alloc(64, x)
                        ^
3 errors generated.
make[1]: *** [compile] Error 1
make: *** [default] Error 2

And lld is not available for MacOSX

Bad psq eval

Rubi seems to have too high psq eval in general and some special weaknesses e.g. in this position:
1r3bk1/3b1p1n/p2p1P2/3Pn1p1/2q1P2p/2N4P/1rB1N1P1/R1Q1BR1K w - - 2 33

It is from a game with white against Andscacs where Rubi had a big advantage in the beginning and lost in the end. This position is from the phase of the game where Rubi still believes in advantage but a better engine sees black better.

The comparison of static evaluation shows:

Rubi:
              |    White    |    Black    |    Total
              |   MG    EG  |   MG    EG  |   MG    EG
 -------------+-------------+-------------+------------
     Material | 38.01 41.93 | 36.56 44.14 |  1.45 -2.21
       Minors |  0.26 -0.16 |  0.54  0.23 | -0.28 -0.39
        Rooks |  0.21  0.07 |  0.85  0.24 | -0.64 -0.17
        Pawns | -0.03  0.10 | -0.39  0.03 |  0.36  0.07
      Passers |  0.00  0.00 |  0.00  0.08 |  0.00 -0.08
     Mobility |  3.88  5.17 |  3.26  5.22 |  0.62 -0.05
      Threats |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
 King attacks |  0.14 -0.06 | -0.24 -0.09 |  0.38  0.03
   Complexity |  0.00  0.00 |  0.00  0.06 |  0.00 -0.06
 -------------+-------------+-------------+------------
        Total |  Ph=  0/256 |  Sc=128/128 |  1.89 -2.86 => 1.89
        Tempo |  0.00  0.20 |  0.00  0.00 |  0.00  0.20
      Endgame |  0.00
    Resulting |  2.09
SF:
     Term    |    White    |    Black    |    Total
             |   MG    EG  |   MG    EG  |   MG    EG
 ------------+-------------+-------------+------------
    Material |  ----  ---- |  ----  ---- | -0.49 -0.43
   Imbalance |  ----  ---- |  ----  ---- |  0.00  0.00
       Pawns |  0.23 -0.23 |  0.08 -0.26 |  0.14  0.03
     Knights | -0.26 -0.30 |  0.23  0.06 | -0.50 -0.36
     Bishops | -0.54 -0.96 | -0.17 -0.62 | -0.37 -0.34
       Rooks |  0.10  0.02 |  0.44  0.23 | -0.34 -0.22
      Queens |  0.00  0.00 |  0.00  0.00 |  0.00  0.00
    Mobility |  0.76  1.70 |  0.71  1.88 |  0.05 -0.18
 King safety |  0.20 -0.11 | -0.64 -0.44 |  0.84  0.32
     Threats |  0.85  0.85 |  1.02  1.04 | -0.17 -0.19
      Passed | -0.01  0.04 |  0.08  0.15 | -0.09 -0.12
       Space |  0.51  0.00 |  0.25  0.00 |  0.25  0.00
  Initiative |  ----  ---- |  ----  ---- |  0.00  0.07
 ------------+-------------+-------------+------------
       Total |  ----  ---- |  ----  ---- | -0.67 -1.41

Material (psq) shows that Rubi varies from (actual) mg +1.45 to -2.21 while SF is almost constant at -0.49/-0.43

This needs further invetigation, which pieces and squares are over-/underrated.

Threat detection

r3kb1r/ppp1nppp/3pbq2/2n1p3/4P3/2NPBN1P/PPPQ1PP1/2KR1B1R b kq - 7 6
Ne7c6 looses the queen so try to detect this sooner.

Very bad Chess960 performance

After implementing Chess960 tests show that Rubi plays extremely bad in this variant. Probably evaluation too much hardcoded for the normal chess setup. Improving Chess960 performance with more flexible evaluation may also help in normal chess.

Gauntlet normal chess:

    Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 Ethereal-12.00                 : 2592  110  77    20    70.0 %   2445   60.0 %
  2 Fire-7.1                       : 2572  149 142    20    67.5 %   2445   25.0 %
  3 Komodo-10                      : 2498  119 116    20    57.5 %   2445   45.0 %
  4 Rubi-20200429                  : 2432   44  44   160    57.2 %   2382   34.4 %
  5 SlowChess-2.0                  : 2428  117 118    20    47.5 %   2445   45.0 %
  6 Vajolet-2.8                    : 2393  128 130    20    42.5 %   2445   35.0 %
  7 Pedone-2.0                     : 2298  136 144    20    30.0 %   2445   30.0 %
  8 Senpai-2                       : 2230  127 142    20    22.5 %   2445   35.0 %
  9 Monolith-2                     : 1934  344  88    20     5.0 %   2445    0.0 %

Gauntlet Chess960:

    Program                          Elo    +   -   Games   Score   Av.Op.  Draws

  1 Ethereal-12.00                 : 2858   88 222    20    95.0 %   2346   10.0 %
  2 Fire-7.1                       : 2615  154 115    20    82.5 %   2346   35.0 %
  3 Komodo-10                      : 2561  161 148    20    77.5 %   2346   25.0 %
  4 SlowChess-2.0                  : 2381  112 110    20    55.0 %   2346   50.0 %
  5 Senpai-2                       : 2363  118 117    20    52.5 %   2346   45.0 %
  6 Rubi-20200429                  : 2361   44  45   160    40.9 %   2424   33.1 %
  7 Pedone-2.0                     : 2329  128 129    20    47.5 %   2346   35.0 %
  8 Vajolet-2.8                    : 2276  134 137    20    40.0 %   2346   30.0 %
  9 Monolith-2                     : 2131  127 142    20    22.5 %   2346   35.0 %

Possible time control bug

Hi Matties,

I was doing some fast play test with a completely brain dead broken version of mine against a six opponent pool, Rubichess being one. Mine lost every single game against everything (1000 games) except for three against Rubichess (RubiChess-20220223_x86-64-avx2.exe), so, investigated ....
Reason for the loss was the same each time. RubiChess blundered at the 40 move time control in each game. Example below. You can see that at move 40 it just plays 40. Kxb2 {-1.60/14 0.25s} Qxd1 41. Qxd1 {+9.25/16 0.19s}, seemingly Cutechess did not pick up either a score or a time. Time control 40/40.
This isn't a request to fix, it's just an alert in case its something you don't already know about.
Friendly greetings, Chris Whittington

[Event "?"]
[Site "?"]
[Date "2022.07.09"]
[Round "27"]
[White "Chess-System-Tal-1.35"]
[Black "RubiChess_2.2"]
[Result "1-0"]
[ECO "E60"]
[GameDuration "00:00:27"]
[GameEndTime "2022-07-09T15:07:54.222 W. Europe Summer Time"]
[GameStartTime "2022-07-09T15:07:26.321 W. Europe Summer Time"]
[Opening "King's Indian defense"]
[PlyCount "113"]
[TimeControl "40/10"]

  1. d4 {book} Nf6 {book} 2. c4 {book} g6 {book} 3. f3 {book} Bg7 {book}
  2. e4 {book} d6 {book} 5. Nc3 {book} O-O {book} 6. Bg5 {book} a6 {book}
  3. Qd2 {book} Nbd7 {book} 8. O-O-O {book} c6 {book} 9. Kb1 {-0.05/14 0.58s}
    Qc7 {-0.19/21 0.73s} 10. Nge2 {+0.12/14 0.33s} b5 {+0.05/19 0.33s}
  4. Ng3 {+0.19/13 0.25s} Rb8 {+0.35/20 0.55s} 12. Rc1 {+0.02/15 0.56s}
    bxc4 {+0.52/20 0.87s} 13. Bxc4 {-0.24/12 0.24s} a5 {+0.27/20 0.50s}
  5. Rhd1 {+0.20/14 0.46s} Qa7 {+0.53/19 0.35s} 15. Be2 {+0.05/12 0.54s}
    Ba6 {+0.65/18 0.34s} 16. Rc2 {-0.01/14 0.52s} a4 {+0.59/19 0.23s}
  6. Bxa6 {+0.03/16 0.42s} Qxa6 {+0.63/18 0.21s} 18. Bh6 {+0.07/16 0.20s}
    Bxh6 {+0.78/18 0.25s} 19. Qxh6 {-0.09/15 0.20s} Rb4 {+1.00/20 0.21s}
  7. Qg5 {+0.30/13 0.22s} a3 {0.00/19 0.53s} 21. Nf5 {+0.39/13 0.22s}
    Rxb2+ {+0.25/19 0.52s} 22. Rxb2 {+0.56/14 0.20s} axb2 {0.00/20 0.42s}
  8. Nxe7+ {+0.61/15 0.38s} Kg7 {0.00/23 0.30s} 24. Nf5+ {+0.71/12 0.32s}
    Kg8 {0.00/25 0.28s} 25. e5 {+0.46/13 0.32s} Nd5 {+0.96/19 0.22s}
  9. Ne7+ {+0.40/16 0.48s} Kg7 {+1.15/21 0.34s} 27. Nexd5 {+0.28/15 0.26s}
    cxd5 {+0.91/18 0.33s} 28. exd6 {-0.01/14 0.37s} Qc4 {+1.81/21 0.34s}
  10. Qe3 {0.00/16 0.17s} Rc8 {+2.27/19 0.23s} 30. Rd3 {-0.34/17 0.17s}
    Qb4 {+2.98/19 0.22s} 31. h3 {-0.39/14 0.44s} Nb6 {+3.11/23 0.28s}
  11. d7 {-1.07/14 0.40s} Nc4 {+2.88/23 0.22s} 33. Qe5+ {-2.25/16 0.27s}
    Nxe5 {+2.81/22 0.22s} 34. dxc8=Q {-2.25/15 0.14s} Nxd3 {+2.73/22 0.22s}
  12. g4 {-2.03/14 0.21s} h6 {+2.72/22 0.18s} 36. Qc7 {-2.17/14 0.34s}
    g5 {+2.44/19 0.18s} 37. Qc8 {-2.09/16 0.17s} Qxd4 {+2.12/18 0.12s}
  13. Nd1 {-1.87/15 0.16s} Ne5 {+1.96/20 0.10s} 39. Qc2 {-1.71/12 0.13s}
    Qg1 {+2.31/17 0.077s} 40. Kxb2 {-1.60/14 0.25s} Qxd1 41. Qxd1 {+9.25/16 0.19s}
    Ng6 {-13.86/19 0.49s} 42. Qxd5 {+9.79/18 0.32s} Nf4 {-14.24/18 0.22s}
  14. Qe5+ {+9.94/17 0.19s} Kg8 {-15.51/19 0.48s} 44. Kb3 {+10.51/18 0.19s}
    Ng6 {-15.41/18 0.52s} 45. Qf6 {+12.05/18 0.36s} Nf8 {-17.07/19 0.34s}
  15. Qxh6 {+13.01/18 0.19s} Ne6 {-18.83/21 0.53s} 47. Ka4 {+13.39/19 0.19s}
    Ng7 {-18.46/20 0.47s} 48. Qxg5 {+13.59/19 0.18s} Kf8 {-18.91/22 0.37s}
  16. Qd8+ {+16.03/19 0.19s} Ne8 {-18.91/1 0s} 50. Ka5 {+17.27/19 0.19s}
    f6 {-24.86/21 0.38s} 51. h4 {+M41/23 0.23s} Kf7 {-24.08/22 0.35s}
  17. Qd7+ {+M15/32 0.14s} Kf8 {-26.80/21 0.19s} 53. h5 {+M11/39 0.17s}
    f5 {-28.99/20 0.51s} 54. g5 {+M9/40 0.13s} Nc7 {-M16/16 0.067s}
  18. g6 {+M3/93 0.13s} Kg8 {-M4/4 0s} 56. Qf7+ {+M1/116 0.022s} Kh8 {-M4/1 0s}
  19. Qf8# {0.00/116 0.008s, White mates} 1-0

Strange bug in a test game

This is the deciding move where search is somehow stuck on depth 1 and a wrong move with a wrong mate score. Full log attached.
bug.txt

2020-04-19 21:27:11,765-->1:position startpos moves c2c4 g8f6 b1c3 e7e5 g1f3 b8c6 g2g3 f8c5 f1g2 d7d6 e1g1 e8g8 e2e3 a7a6 a2a3 h7h6 b2b4 c5b6 d2d3 c8e6 c1b2 d8d7 f3d2 e6h3 d2e4 f6e4 d3e4 h3g4 d1b3 c6e7 c3d5 e7d5 e4d5 g4h3 g2h3 d7h3 c4c5 b6a7 a1c1 f8e8 a3a4 d6c5 b4c5 b7b6 c5c6 a8b8 d5d6 c7d6 f1d1 h3e6 b3e6 e8e6 c6c7 b8c8 b2a3 b6b5 a4a5 a7c5 a3c5 c8c7 c5b4 c7c1 d1c1 d6d5 g1f1 d5d4 f1e2 d4e3 e2e3 g8h7 c1c7 h7g6 c7b7 e5e4 b7b6 g6h7 b4d6 g7g5 b6a6 b5b4 a6b6 b4b3 d6a3 e6e5 a5a6 e5a5 a3b2 a5a2 b2d4 g5g4 e3e4 a2a4 e4d3 a4a2 b6f6 b3b2
2020-04-19 21:27:11,767-->1:go wtime 45840 btime 45526 winc 0 binc 0 movestogo 32
2020-04-19 21:27:11,972<--1:info depth 1 seldepth 1 multipv 1 time 200 score mate 129 nodes 1083813 nps 5416960 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:12,171<--1:info depth 1 seldepth 1 multipv 1 time 400 score mate 129 nodes 2395189 nps 5987328 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:12,372<--1:info depth 1 seldepth 1 multipv 1 time 600 score mate 129 nodes 3571614 nps 5950464 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:12,572<--1:info depth 1 seldepth 1 multipv 1 time 800 score mate 129 nodes 4940984 nps 6175744 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:12,771<--1:info depth 1 seldepth 1 multipv 1 time 1000 score mate 129 nodes 6719025 nps 6718464 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:12,971<--1:info depth 1 seldepth 1 multipv 1 time 1200 score mate 129 nodes 8692250 nps 7242752 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:13,171<--1:info depth 1 seldepth 1 multipv 1 time 1400 score mate 129 nodes 10796471 nps 7710720 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:13,371<--1:info depth 1 seldepth 1 multipv 1 time 1600 score mate 129 nodes 12882794 nps 8050688 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:13,572<--1:info depth 1 seldepth 1 multipv 1 time 1800 score mate 129 nodes 14839456 nps 8243200 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:13,772<--1:info depth 1 seldepth 1 multipv 1 time 2000 score mate 129 nodes 16817083 nps 8408064 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:13,972<--1:info depth 1 seldepth 1 multipv 1 time 2200 score mate 129 nodes 18832995 nps 8559616 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:14,172<--1:info depth 1 seldepth 1 multipv 1 time 2400 score mate 129 nodes 20964670 nps 8734720 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:14,372<--1:info depth 1 seldepth 1 multipv 1 time 2600 score mate 129 nodes 22977123 nps 8837120 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:14,572<--1:info depth 1 seldepth 1 multipv 1 time 2800 score mate 129 nodes 24174358 nps 8633344 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:14,772<--1:info depth 1 seldepth 1 multipv 1 time 3000 score mate 129 nodes 26024412 nps 8674304 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:14,972<--1:info depth 1 seldepth 1 multipv 1 time 3200 score mate 129 nodes 28121654 nps 8786944 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:15,171<--1:info depth 1 seldepth 1 multipv 1 time 3400 score mate 129 nodes 30214154 nps 8886272 tbhits 0 hashfull 0 pv f6f4  
2020-04-19 21:27:15,243<--1:bestmove f6f4 

Kingdanger

TCEC Swiss-1: Rubi doesn't see sac 14. Bxh7+ and the following kingdanger.

[Event "TCEC Season 20 - Swiss 1"]
[Site "https://tcec-chess.com"]
[Date "2021.03.21"]
[Round "1.35"]
[White "Pedone 3.0"]
[Black "RubiChess 2.0.1"]
[Result "1-0"]
[Annotator "archive"]

  1. e4 c5 2. Nf3 Nc6 3. d4 cxd4 4. Nxd4 Qb6 5. Nb3 Nf6 6. Nc3 e6 7. Bd3 Be7 8. Be3 Qc7 9. f4 O-O 10. g4 d5 11. e5 Nd7 12. Nb5 Qd8 13. g5 Nb4 14. Bxh7+ Kxh7 15. Qh5+ Kg8 16. O-O Re8 17. Rf3 g6 18. Qh4 Bf8 19. Rh3 Bg7 20. Qh7+ Kf8 21. N3d4 Nc6 22. Nd6 Qe7 23. Qh8+ Bxh8 24. Rxh8+ Kg7 25. Rxe8 Nb6 26. Rxe7 Nxe7 27. b3 Bd7 28. Nxb7 Rb8 29. Nd6 Kg8 30. Nf3 Kg7 31. h4 Nbc8 32. Kf2 a5 33. Bc5 Nc6 34. a3 N8e7 35. Rh1 Ra8 36. Nh2 Nf5 37. Ng4 Nce7 38. Nf6 Bc6 39. h5 gxh5 40. Rxh5 Kg6 41. Rh7 Nxd6 42. exd6 Nf5 43. Rh3 Rd8 44. d7 a4 45. Bb6 Rxd7 46. Nxd7 Bxd7 47. Bc7 d4 48. b4 Bb5 49. Be5 Bd7 50. Rh8 Bc6 51. Rg8+ Kh5 52. Rd8 Kg4 53. Rf8 Kh5 54. Rxf7 Be8 55. Rf8 Bc6 56. Rc8 Be4 57. b5 Kg6 58. b6 Nh4 59. Rc7 Nf5 60. b7 Bxb7 61. Rxb7 Kh5 62. Rf7 Kg6 63. Rf6+ Kh7 64. g6+ Kg7 65. Rxf5+ Kxg6 66. Rf8 d3 67. cxd3 Kh7 68. Kf3 Kh6 69. f5 exf5 70. Kf4 Kg6 71. Bb2 Kh5 72. Rf6 Kh4 73. Rh6#

a problem with array bounds in eval.cpp

Hi!

If I did not overlook something, the second array index POPCOUNT(supporting) * 2 + (bool)phalanx takes values in the range from 1 to 5 but should be one less.
This happens during the first position of the built in benchmark, when the calculations for depth 8 start.
the output of the program at this point is:
...
info depth 7 currmove g1h3 currmovenumber 19
info depth 7 currmove b2b3 currmovenumber 20
info depth 7 seldepth 8 multipv 1 time 6573 score cp 30 nodes 3703 nps 563 tbhits 0 hashfull 0 pv d2d3 g8f6 g1f3 d7d5 b1c3 c8f5 e2e3
info depth 8 currmove d2d3 currmovenumber 1

entryptr->value += EVAL(eps.eConnectedbonus[RRANK(index, Me) - 1][POPCOUNT(supporting) * 2 + (bool)phalanx], S2MSIGN(Me));

a screenshot of Visual Studio's debugger:

Schirmschuss_Rubi

Sincerly,
Hans

Android issue.

Hello. Using last source code from here 8e7ba39
Engine compiles, but i can't launch it. I use the same flags as usual, plus -DUSE_NEON for armv7 and armv8 (plus -mfpu=neon-vfpv4 for armv7, simple -mfpu=neon doesn't work for cross compiling).
Flags armv8
-m64 -march=armv8-a -DIS_64BIT -fPIE -Wl,-pie -O3 -flto -DUSE_POPCNT -DUSE_NEON -static-libstdc++ -std=c++11 -fno-strict-aliasing -fno-strict-overflow -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-s

Flags armv7
-m32 -march=armv7 -fPIE -Wl,-pie -mfloat-abi=softfp -mfpu=vfpv3-d16 -mfpu=neon-vfpv4 -mthumb -Wl,--fix-cortex-a8 -DUSE_POPCNT -DUSE_NEON -O3 -flto -static-libstdc++ -std=c++11 -fno-strict-aliasing -fno-strict-overflow -ffunction-sections -fdata-sections -Wl,--gc-sections -Wl,-s

Regards.
Alex.

Time management query

Rubichess is using maximum of 1/3rd of allowed time per move, see attached txt files
rubi test 1-10: rubi 2.2 vs Xiphos 6.1 1 minute and 10 sec/per move
rubi test 1-3: rubi 2.2 vs Xiphos 6.1 1 minute and 3 sec/per move

Settings for Rubi are 4 threads, 1024 Hash, opening book off, ponder off, NNUE on, large pages off, avx2 binary used
Xiphos using same 4 threads, 1024 hash, ponder off
Book is at max 3 moves deep
Cutechess used

rubi test 1-10.txt
rubi test 1-3.txt

Is the time management correct?

Lapuce2/23

Rubi doesn't find knight sac. Wrong futility pruning?

Rubi 1.7.1 crashing sometimes

... with segfault.
Happened at Ipman using windows build and 2 threads and at TCEC using clang unix build and 176 threads.
Further investigation needed... no reproduction for now.

Using RubiChess in a film

Hello!
I am the Director’s Assistant for a small indie feature by Dustin Guy Defa. There is a scene in the film where the main character (Michael Cera) is playing chess on his computer. We are hoping to get your permission to display RubiChess on the character's computer screen. We would, of course, credit you for your work. Let me know what you think!
-Emma Bergman

Bad ponder moves

Rubi plays bad ponder moves very often. Visible in Arena showing too high Evaluations while pondering.Are these all just "take the first move if pv is empty"? Should be a way to improve this.

tablebase problem 1

1b2K3/1P6/6n1/1P2k3/8/8/8/8 w - - 0 1 Rubi with 5-p-TB doesn't find Ke8-d8
1k6/1p1p4/PK2p3/5p1p/6pP/8/8/5B2 w - - 0 1 Rubi findet a6-a7 nicht

Wrong nps display

Very high node numbers seem to trigger wrong nps output. E.g. at 176 threads TCEC on a very long think:

732696906 <RubiChess 1.7-dev_20200124193649(283): info depth 37 seldepth 41 multipv 1 time 81724 score cp -22 lowerbound nodes 10758359892 nps 131641861 tbhits 3 hashfull 369 pv f6h7  f1e2  h6h5  c3a4  b8d7  g1h3  b7b5  a5b6  d7b6  h3f2  c8d7  a4c3  d7b5  c3b5  a6b5  e1g1  b6c4  e2c4  b5c4  d2c2  d8b6  c2c4  b6b2  a1b1  b2a3  b1b3  a3a6  c4a6  a8a6  f1b1  a6a2  b3b8  a2a8  b8e8  a8e8  b1b6  e8a8  g2g3  a8a3  f2d1  
...
732765986 <RubiChess 1.7-dev_20200124193649(283): info depth 37 seldepth 47 multipv 1 time 150803 score cp -16  nodes 19188854339 nps 4921033 tbhits 5 hashfull 639 pv f6h7  f1e2  h6h5  e2d3  b8d7  g1h3  d7e5  h3f2  e5d3  f2d3  c8d7  e1g1  g6g5  d3f2  a8c8  a1a3  c8b8  f1e1  b7b6  a5b6  b8b6  f3f4  g5f4  e3f4  d7c8  a3a1  b6b4  g1h1  a6a5  d2e2  h5h4  h2h3  g7d4  f2d3  b4b3  f4h6  d8f6  e2h5  f6g6  h5h4  
732765987 <RubiChess 1.7-dev_20200124193649(283): info depth 38 seldepth 47 multipv 1 time 150805 score cp -16  nodes 19189085043 nps 4922498 tbhits 5 hashfull 639 pv f6h7  f1e2  h6h5  e2d3  b8d7  g1h3  d7e5  h3f2  e5d3  f2d3  c8d7  e1g1  g6g5  d3f2  a8c8  a1a3  c8b8  f1e1  b7b6  a5b6  b8b6  f3f4  g5f4  e3f4  d7c8  a3a1  b6b4  g1h1  a6a5  d2e2  h5h4  h2h3  g7d4  f2d3  b4b3  f4h6  d8f6  e2h5  f6g6  h5h4  
732765989 <RubiChess 1.7-dev_20200124193649(283): bestmove f6h7 

Windows Defender False Positive

Windows Defender identifies "Trojan:Win32/Meterpreter.A" when trying to download new Rubi 1.9
Surely a false positive but might want to look into it.

Endgame evaluation problem 1

Rubi has problems to evaluate and solve positions like this
8/8/8/3K4/8/8/7b/6nk w - - 29 1
when EGTB are not used.

Difficult positions

r1b2k1r/1pp1npp1/2qp3p/p7/P2b3P/1P1B1PP1/R4NK1/2BQR3 w - - 0 22
Rubi misses Bc4 (master 28.8.2021, depth 51)... finds it at depth 52 after 16min.
Master 22.01.2022 finds it immediately.

5k2/p3r1p1/1p2Bpb1/q1pPr2p/P1P1P2P/4R1P1/2Q5/5RK1 w - - 0 39
Rubi doesn't find the winning move g3g4 (from TCEC cup9 match against SlowChess)
Master 22.01.2022 finds it at depth 41 (2:40 on 1 thread).

8/2k4p/6p1/5p1P/p1PQq3/P7/5PPK/8 w - - 9 49
From https://www.chess.com/computer-chess-championship#event=ccc-16-rapid-semifinals&game=199
Rubi doesn't want the queens exchange although the remaining pawns-only endgame is won and SF finds a +8 score at depth 28.

8/p6p/4k3/3N1p2/1Br2P2/4PB2/1b3K1P/8 w - - 1 30
Rubi has difficulties to find winning move Bd1
Master 22.01.2022 finds it at depth 45 (5:30 on 1 thread).

1r4r1/3q1npk/2b1pbnp/Rp1p4/1N1P3P/2PQ1pP1/1K3B2/5B1R w - - 0 1
Rubi misses Qxg6+ (M15)

[Event "TCEC Season 22 - League 1"]
[Site "https://tcec-chess.com"]
[Date "2022.03.04"]
[Round "25.3"]
[White "Revenge 20220211"]
[Black "RubiChess 20220223"]
[Result "1-0"]
[Annotator "archive"]

1. e4 d5 2. exd5 Qxd5 3. Nc3 Qa5 4. d4 c6 5. Bc4 Bf5 6. g4 Be4 7. Nf3 Bd5 8. b4 Qxb4 9. Bxd5 cxd5 10. Qd3 Qc4 11. Qxc4 dxc4 12. Rb1 b6 13. Rb4 Nc6 14. Rxc4 Na5 15. Rc7 e6 16. d5 Nf6 17. dxe6 fxe6 18. Nd4 Bd6 19. Rxg7 Be5 20. Ncb5 Nd5 21. Rg5 Bf6 22. Rh5 Kd7 23. Nb3 Rac8 24. Nxa5 bxa5 25. Na3 Be7 26. O-O Bxa3 27. Bxa3 Rxc2 28. h3 h6 29. Bc1 Rxa2 30. Bxh6 a6 31. Rc1 Ra3 32. Rc4 Rb3 33. Ra4 Rb5 34. Rh4 Nb6 35. Ra1 e5 36. Kh2 Nc4 37. Rc1 Nd6 38. Rc2 Nf7 39. Bg5 Rxh4 40. Bxh4 Nd6 41. Bg3 a4 42. Ra2 Ra5 43. h4 a3 44. h5 Ke6 45. f3 Ra4 46. Kh3 a5 47. Be1 Nb5 48. h6 Kf7 49. Bg3 e4 50. Be5 Kg6 51. f4 Nd4 52. Bg7 Kf7 53. Bxd4 Rxd4 54. g5 Kg6 55. Kg4 e3 56. Rc2 a2 57. Rxa2 Re4 58. Kf3 Re8 59. Rc2 Re7 60. Rh2 Re8 61. h7 Rh8 62. Kxe3 Kg7 63. f5 Kf7 64. g6+ Kf6 65. Kf4 a4 66. Re2 a3 67. Re6+ Kg7 68. Kg5 Kf8 69. Kf6 Rxh7 70. gxh7
*

Somewhere at
8/8/4k2P/pn2p3/r5P1/p4P1K/R7/4B3 b - - 0 48
Rubi 20220223 misses something. Not seeing 52. Bg7 for too long time seems the main problem.

https://www.chess.com/computer-chess-championship#event=ccc-17-bullet-main&game=404
8/2r5/7P/P3N3/4nk2/7B/8/5K2 w - - 7 158
Rubi-20220223 plays Nd3+ (instead of Ng6) not seeing that the following Kg3 (Rubi prefers Kg5) almost immediately wins.
Some moves later:
8/4r3/7P/P2B4/4n3/3N2k1/8/5K2 b - - 9 158
Rubi doesn't see mate in 9.

Another bad CCC game. Around move 28 Rubi starts to play very bad.

[Event "CCC 17 Bullet: Main (2|1)"]
[Site "?"]
[Date "2022.04.17"]
[Round "1"]
[White "SlowChess"]
[Black "Rubi"]
[Result "1-0"]
[ECO "D10"]
[GameDuration "00:06:39"]
[GameEndTime "2022-04-17T02:26:07.320 PDT"]
[GameStartTime "2022-04-17T02:19:28.230 PDT"]
[Opening "QGD Slav defense"]
[PlyCount "149"]
[TimeControl "120+1"]

1. d4 d5 2. c4 c6 3. Nc3 Nf6 4. e3 g6 5. Nf3 Bg7 6. Be2 O-O 7. O-O b6 8. a4 a5
9. cxd5 Nxd5 10. e4 Nb4 11. Be3 N8a6 12. h3 Be6 13. Qc1 Nc7 14. Rd1 Ne8 15. Rd2
Nd6 16. Qf1 Qd7 17. Bf4 Qb7 18. Ng5 Bd7 19. Qd1 Rad8 20. Rc1 h6 21. Nf3 Kh7 22.
Bf1 Be6 23. b3 Rc8 24. Ne5 f5 25. exf5 Nxf5 26. Qg4 Bxe5 27. Bxe5 Bxb3 28. Ne2
Nd5 29. h4 h5 30. Qg5 Qd7 31. Nf4 Nxf4 32. Bxf4 Qe6 33. Be5 c5 34. Bd3 c4 35.
Be4 c3 36. Re2 Bc4 37. Re3 Bd5 38. Bd3 Qf7 39. f3 Rc6 40. g4 hxg4 41. fxg4 Ng7
42. Rf1 Rf6 43. Bxf6 exf6 44. h5 fxg5 45. hxg6+ Kg8 46. gxf7+ Rxf7 47. Bb5 Rc7
48. Rc1 c2 49. Re2 Bb3 50. d5 Bxd5 51. Rexc2 Rxc2 52. Rxc2 Ne6 53. Bc6 Bb3 54.
Rb2 Bc4 55. Rxb6 Kf7 56. Bb5 Bd5 57. Ra6 Ke7 58. Rxa5 Kd6 59. Kf2 Nc5 60. Ra7
Ne6 61. a5 Nc7 62. Be2 Bc6 63. a6 Ne6 64. Rf7 Nd8 65. Rg7 Ne6 66. Rg6 Be4 67.
Rxe6+ Kxe6 68. Bf3 Bc2 69. a7 Kf6 70. a8=Q Kg7 71. Bd5 Bh7 72. Qa1+ Kg6 73. Qe5
Bg8 74. Bxg8 Kh6 75. Qf6# 1-0

r1bq1rk1/pp1nbppp/4p3/1N1pP1P1/1n3P2/1N1BB3/PPP4P/R2QK2R w KQ - 1 14
Rubi needs a long time to find Bxh7

2k5/Bp2p3/2pn1b2/P1Np4/1PqPp1br/2P1P1QN/2R2PP1/4K3 b - - 1 33
Rubi doesn't find (or needs very long to find) winning e5

1r3r1k/8/pB1p2n1/P2Pp1qp/4PpPb/3B4/3QN1PK/R4R2 w - - 2 30
From https://tcec-chess.com/#div=l1&game=124&season=23
Rubi has problems to find Kg1.
...
Main problem seems to find g3 at 1r3r1k/8/pB1p2n1/P2Pp1q1/4Pppb/3B4/3QN1P1/R4RK1 w - - 0 31

3r3k/1p4p1/p7/P1R1bp1p/4BP2/4P1K1/1P6/8 w - - 0 51
From https://www.chess.com/computer-chess-championship#event=bullet-throwdown-berserk-10&game=178
Rubi (20221003) switches from best move Bxb7 to worse Rxe5 at depth 34.

4b3/1p3pk1/p6p/1P2n1p1/2P5/8/P2R4/2K2B2 b - - 0 34
Rubi wants h5 which is losing. g4 or f5 is correct.
Rubi-20221008 switches to f5 at depth 55.

4q1kr/p6p/1prQPppB/4n3/4P3/2P5/PP2B2P/R5K1 w - - 0 1
Best and winning line starts with 1.Qd6xe5 f6xe5 2.Ra1-f1

Q4b1r/2pq1k1p/2n2pn1/1p1Pp1p1/8/1NP2P2/PP3P1P/R1BR2K1 b - - 0 16
Rubi doesn't see winning move Qh3 and wants to save knight on c6 instead.

Android issue

Hello! I would like to report a couple issues regarding Android compilations.

  1. Please change lines 21 and 170 in transposition.cpp, to
    #if defined(linux) && !defined(ANDROID)

  2. Something is wrong in current 1.7.1. I'm not able to compile android engines using NDK's Clang on Windows, i'm getting the follow errors.
    Rubi

rubichess playing chess variants, Musketeer Chess

Hi Matthies
Nice work here.
I'm Dr Haddad, anesthesiologist living in France, currently in front line struggling with the Covid-19 infected patients. I'm a big chess fun and chess variant inventor.

I invented Musketeer Chess. You can find useful informations here:

Musketeer-Stockfish; engine playing Musketeer Chess here: https://github.com/ianfab/Musketeer-Stockfish
Rules here: https://github.com/fsmosca/musketeer-chess

and some interesting discussions here about using Winboard / XBoard as a GUI: https://github.com/ianfab/Musketeer-Stockfish/issues
http://talkchess.com/forum3/viewtopic.php?f=7&t=72572

I'll be glad and very happy if you join.

Please feel free to email me to musketeerchess (a) gmail .com

Best regards
Zied

Mating exercises

M24: 6r1/1q2kp2/n3p3/4P3/2QP4/2P2PB1/1p5P/1R5K b - - 1 34
M16: 3b4/8/3p4/2kPp3/4P2p/6pB/pK6/8 b - - 1 66
M15: 8/8/2R5/1p2qp1k/1P2r3/2PQ2P1/5K2/8 w - - 0 1
M13: 3R1rk1/8/5Qpp/2p5/2P1p1q1/P3P3/1P2PK2/8 b - - 0 1
M15: 8/k7/p7/3Qp2P/n1P5/3KP3/1q6/8 b - - 0 1
M18: 7k/7p/3P4/8/1P5K/3r4/P7/8 b - - 2 60

Rubi has problems solving extreme positions

R6R/3Q4/1Q2Q3/4Q3/2QB3Q/Q4Q2/Np1Q4/1k1N1K2 w - - 3 4

Master:

position fen R6R/3Q4/1Q2Q3/4Q3/2QB3Q/Q4Q2/Np1Q4/1k1N1K2 w - - 3 4
go
info depth 1 seldepth 1 multipv 1 time 200 score mate 0 lowerbound nodes 360350 nps 1797120 tbhits 0 hashfull 0 pv f3b3
info depth 1 seldepth 1 multipv 1 time 400 score mate 0 lowerbound nodes 750216 nps 1872896 tbhits 0 hashfull 0 pv f3b3
info depth 1 seldepth 1 multipv 1 time 600 score mate 0 lowerbound nodes 1137829 nps 1895424 tbhits 0 hashfull 0 pv f3b3
info depth 1 seldepth 1 multipv 1 time 800 score mate 0 lowerbound nodes 1542821 nps 1927168 tbhits 0 hashfull 0 pv f3b3
info depth 1 seldepth 1 multipv 1 time 1000 score mate 0 lowerbound nodes 1928939 nps 1927168 tbhits 0 hashfull 0 pv f3b3
info depth 1 seldepth 1 multipv 1 time 1200 score mate 0 lowerbound nodes 2317095 nps 1929216 tbhits 0 hashfull 0 pv f3b3

1.7.3:

position fen R6R/3Q4/1Q2Q3/4Q3/2QB3Q/Q4Q2/Np1Q4/1k1N1K2 w - - 3 4
go
info depth 1 seldepth 2 multipv 1 time 3 score mate -82 nodes 183 nps 0 tbhits 0 hashfull 1 pv f3b3
info depth 2 seldepth 3 multipv 1 time 6 score mate 1 nodes 382 nps 0 tbhits 0 hashfull 1 pv a3b2
info depth 3 seldepth 3 multipv 1 time 6 score mate 1 nodes 563 nps 0 tbhits 0 hashfull 1 pv a3b2
...
info depth 27 seldepth 40 multipv 1 time 217 score mate 1 nodes 431497 nps 1984512 tbhits 0 hashfull 49 pv a3b2
info depth 28 seldepth 37 multipv 1 time 376 score mate -117 nodes 730397 nps 1938432 tbhits 0 hashfull 114 pv d2d3  b1a1  d3b1  a1b1  c4d3  b1a1  d3b1  a1b1  d1b2  b1c2  d4e3  c2b1  b2a4  b1c2  e3d4  c2d2  f1f2  d2c2  f2g2  c2d2  h4h2  d2c2  d7d6  c2d2  a8g8  d2c2  h8h6  c2d2  g8g7  d2c2  h6g6  c2d2  g7h7
info depth 29 seldepth 34 multipv 1 time 659 score mate -113 nodes 1317468 nps 1996800 tbhits 0 hashfull 185 pv d2d3  b1a1  d3b1  a1b1  c4d3  b1a1  d3b1  a1b1  d1b2  b1c2  d4e3  c2b1  b2a4  b1c2  e3d4  c2d2  f1f2  d2c2  f2g2  c2d2  h4h2  d2c2  d7d6  c2d2  a8g8  d2c2  h8h6  c2d2  g8g7  d2c2  h6g6  c2d2  g7h7
info depth 29 seldepth 36 multipv 1 time 919 score mate -110 nodes 1891274 nps 2056192 tbhits 0 hashfull 240 pv d2d3  b1a1  d3b1  a1b1  a3d3  b1a1  d3b1  a1b1  d1b2  b1a1  c4a6  a1b1  a6d3  b1a1  d3a3  a1b1  b2a4  b1c2  a8a6  c2d2  f1f2  d2c2  a6a8  c2d2  h4h2  d2c2  d7d6  c2d2  f2g2  d2c2  a8a6  c2d2  a6a5  d2c2  a5a8

Time loss in TCEC match

260662920 >RubiChess 1.5(143): position startpos moves e2e4 e7e5 g1f3 b8c6 f1b5 a7a6 b5a4 d7d6 c2c3 f8e7 d2d4 g8f6 d4e5 f6e4 f3d4 d6e5 d4c6 d8d1 a4d1 b7c6 d1f3 f7f5 b1d2 c8e6 d2e4 f5e4 f3e4 e6d5 e4c2 e8g8 e1g1 e7c5 c1e3 c5e3 f2e3 g7g6 b2b3 c6c5 a1d1 d5e6 c2e4 f8f1 d1f1 a8f8 h2h3 f8f1 g1f1 g8f7 f1e2 f7f6 e2d2 a6a5 d2d3 h7h5 e4c6 h5h4 c6e4 c5c4 b3c4 e6f5 a2a3 c7c5 e4f5 f6f5 d3d2 g6g5 d2e2 g5g4 e2d3 e5e4 d3d2 f5g5 d2c2 a5a4 c2c1 g5f5 c1c2 f5g5 c2d2 g5h5 d2c1 h5g5 c1b2 g5f5 b2c2 g4g3 c2d2
260662954 >RubiChess 1.5(143): isready
260662954 <RubiChess 1.5(143): readyok
260662954 >RubiChess 1.5(143): go wtime 887139 btime 7136 winc 5000 binc 5000
...
260663187 <RubiChess 1.5(143): info depth 106 seldepth 106 multipv 1 time 251 score cp 53 nodes 17355804 nps 69053398 tbhits 0 hashfull 1000 pv f5g5 d2e2 g5f6 e2d1 f6e6 d1e2 e6e5 e2d2 e5d6 d2d1 d6e7
260671267 >RubiChess 1.5(143): stop
260674029 <RubiChess 1.5(143): bestmove f5g5
260674029 >Texel 1.08a13(142): quit
260674029 >RubiChess 1.5(143): quit
Finished game 94 (Texel 1.08a13 vs RubiChess 1.5): 1-0 {Black loses on time}

Raspberry Pi compile failure:

Hi,

I’ve never had a problem before, however with your latest code, my Raspberry Pi 3b+ Compile fails:

Al@PicoChess:/rubiChess/RubiChess $ make -j4
g++ -g -std=c++11 -Wall -O3 -flto -march=armv7-a .cpp -pthread -o RubiChess
In file included from tbprobe.cpp:39:0:
tbcore.c: In function ‘int open_tb(const char
, const char*)’:
tbcore.c:67:28: error: ‘strcpy_s’ was not declared in this scope
strcpy_s(file, paths[i]);
^
tbcore.c:68:23: error: ‘strcat_s’ was not declared in this scope
strcat_s(file, "/");
^
tbcore.c: In function ‘void init_tablebases(char*)’:
tbcore.c:301:29: error: ‘strcpy_s’ was not declared in this scope
strcpy_s(path_string, l, p);
^
Makefile:27: recipe for target 'RubiChess' failed
make: *** [RubiChess] Error 1
Al@PicoChess:
/rubiChess/RubiChess $

Thanks,

Alan Cooper

Maximum nodes per move support

I wanted to test scaling with node count of a few engines to compare with SF. I'm running a cutechess tournament with a cutechess-cli option to limit nodes for an engine.

However, whereas SF results are natural (I'm running from 4^3 nodes to 4^8 nodes, and 4^3 scores worse than 4^4 which scores worse than 4^5 etc. with hundreds of elo of difference), Rubichess are not.

Rubichess 65K nodes doesn't perform clearly better than Rubichess 64 nodes:

   8 RubiChess_16384n               -5      69      71   49.3%   28.2%
   9 RubiChess_1024n                -5      69      71   49.3%   28.2%
  10 RubiChess_64n                 -19      68      72   47.2%   30.6%
  11 RubiChess_4096n               -24      67      72   46.5%   31.9%
  12 RubiChess_65536n              -44      73      71   43.7%   22.5%
  13 RubiChess_256n                -76      75      70   39.3%   21.4%

For comparison :

   7 Stockfish_65536n              163      77      73   71.9%   23.3%
  14 Stockfish_16384n              -96      77      74   36.5%   13.5%
  15 Stockfish_4096n              -224      99      74   21.6%    2.7%
  16 Stockfish_1024n              -343     138      74   12.2%    0.0%
  17 Stockfish_256n               -522     417      74    4.7%    1.4%
  18 Stockfish_64n                -583     nan      74    3.4%    1.4%

It makes no sense to assume that 1000x the nodes don't improve the playing strength, so I assume the engine ignore the node limiting command that cutechess sends it ?

Illegal move (from last position)

In some rare cases (~one of 1000 cutechess games) the search seems to end immediately and outputs the bestmove from the search before which is illegal. Time control seems not relevant as it occures even in 60000 + 600 startposition.

No TB bug

After fixing stack size problem with #287 Raimund reported another problem with Rubi not finding the winning team even with TB. See attached file which is my one-time reproduction
notb-bug.txt

Stack overflow

Under MacOS and even reproducable in MSVC we get a stack overflow with following UCI sequence:

setoption name Hash value 256
setoption name NNUENetpath value nn-cf8c56d366-20210326.nnue
setoption name SyzygyPath value h:\syzygy
setoption name SyzygyProbeLimit value 5
ucinewgame
position fen 8/1p6/7p/5p1P/5P2/1p6/6RK/k7 w - - 0 1
go

Rubi misses draw in a test game

Move 118 is the blunder. With clean hash table the correct move Kd7e6 is found immedialtely.

Arena Log:

2019-09-04 13:23:56,8501Start calc, move no: 117
2019-09-04 13:23:56,852-->1:position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 f8c5 b2b4 c5b4 c2c3 b4a5 d2d4 e5d4 e1g1 g8f6 c3d4 f6e4 d4d5 c6e7 d1d4 e4f6 c1g5 c7c5 d4c5 f6e4 c5d4 e4g5 f3g5 e8g8 g5f7 f8f7 d5d6 e7c6 c4f7 g8f7 d4d5 f7f8 a2a4 a5b4 b1a3 d8f6 a3b5 f6f7 d5d3 g7g6 b5c7 a8b8 a1e1 b7b6 e1e3 f8g8 e3e8 g8g7 f1d1 c8a6 c7a6 b8e8 a6b4 c6b4 d3c3 f7f6 c3b4 e8e2 d1f1 e2e5 g2g3 e5d5 f1e1 d5d6 e1e4 d6d1 g1g2 d1d3 e4e7 g7h6 b4e4 f6d4 e4a8 d4d5 a8d5 d3d5 h2h4 d5d4 f2f3 a7a5 g3g4 g6g5 h4g5 h6g5 e7h7 g5g6 h7e7 d4a4 e7d7 a4b4 g2g3 a5a4 f3f4 b4b3 g3h4 a4a3 d7a7 b6b5 f4f5 g6f6 a7a5 f6e7 h4g5 b5b4 f5f6 e7f7 a5a7 f7e6 g5g6 b3f3 g4g5 f3f2 a7a6
2019-09-04 13:23:56,852-->1:go wtime 17742 btime 9905 winc 5000 binc 5000
2019-09-04 13:23:56,855<--1:info depth 1 seldepth 3 multipv 1 time 0 score cp -2 nodes 8 nps 18186 tbhits 0 hashfull 0 pv e6e5 f6f7
2019-09-04 13:23:56,860<--1:info depth 2 seldepth 5 multipv 1 time 0 score cp 0 nodes 55 nps 100238 tbhits 0 hashfull 0 pv e6e5 a6a5 e5d6 f6f7
2019-09-04 13:23:56,865<--1:info depth 3 seldepth 6 multipv 1 time 0 score cp 34 nodes 136 nps 210952 tbhits 0 hashfull 0 pv e6e5 a6a5 e5d4 f6f7 a3a2
2019-09-04 13:23:56,872<--1:info depth 4 seldepth 9 multipv 1 time 0 score cp 34 nodes 526 nps 538816 tbhits 0 hashfull 0 pv e6e5 a6a5 e5e6 a5a6 e6d5 a6a5
2019-09-04 13:23:56,878<--1:info depth 5 seldepth 10 multipv 1 time 1 score cp 0 nodes 1079 nps 596299 tbhits 0 hashfull 0 pv e6e5 f6f7 a3a2 f7f8q f2f8 a6a2
2019-09-04 13:23:56,884<--1:info depth 6 seldepth 9 multipv 1 time 1 score cp 0 nodes 1271 nps 642420 tbhits 1 hashfull 0 pv e6e5 f6f7 a3a2 f7f8q f2f8 a6a2
2019-09-04 13:23:56,891<--1:info depth 7 seldepth 12 multipv 1 time 2 score cp 0 nodes 1744 nps 689640 tbhits 8 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,902<--1:info depth 8 seldepth 11 multipv 1 time 2 score cp 0 nodes 2043 nps 739845 tbhits 8 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,910<--1:info depth 9 seldepth 13 multipv 1 time 2 score cp 0 nodes 2321 nps 788496 tbhits 8 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,917<--1:info depth 10 seldepth 17 multipv 1 time 3 score cp 0 nodes 2949 nps 780543 tbhits 9 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d7 e8e2 f2f3 e2d2 d7e6 d2e2 e6d7
2019-09-04 13:23:56,926<--1:info depth 11 seldepth 17 multipv 1 time 4 score cp 0 nodes 3725 nps 829339 tbhits 17 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d7 e8e2 f2f3 e2d2 d7e7 d2e2 e7d7
2019-09-04 13:23:56,938<--1:info depth 12 seldepth 13 multipv 1 time 4 score cp 0 nodes 4427 nps 888032 tbhits 19 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,951<--1:info depth 13 seldepth 13 multipv 1 time 5 score cp 0 nodes 4951 nps 919120 tbhits 20 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,963<--1:info depth 14 seldepth 25 multipv 1 time 8 score cp 0 nodes 7562 nps 895438 tbhits 37 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d6 e8e2 f2f1 e2e1 f1f2 g6g7 a3a2 f7f8q f2f8 g7f8 b4b3 g5g6 b3b2 g6g7 a2a1q e1a1
2019-09-04 13:23:56,971<--1:info depth 15 seldepth 17 multipv 1 time 9 score cp 0 nodes 8636 nps 908546 tbhits 55 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7
2019-09-04 13:23:56,980<--1:info depth 16 seldepth 16 multipv 1 time 10 score cp 0 nodes 10376 nps 949801 tbhits 76 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:56,989<--1:info depth 17 seldepth 17 multipv 1 time 12 score cp 0 nodes 11766 nps 970560 tbhits 94 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6
2019-09-04 13:23:56,998<--1:info depth 18 seldepth 18 multipv 1 time 16 score cp 0 nodes 14370 nps 881620 tbhits 132 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:57,005<--1:info depth 19 seldepth 19 multipv 1 time 19 score cp 0 nodes 16977 nps 859149 tbhits 192 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:57,012<--1:info depth 20 seldepth 28 multipv 1 time 36 score cp 0 nodes 26298 nps 714221 tbhits 509 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d6 e8e2 f2f1 e2e1 f1f2 g6g7 a3a2 f7f8q f2f8 g7f8 b4b3 g5g6 b3b2 g6g7 a2a1q g7g8q a1e1
2019-09-04 13:23:57,019<--1:info depth 21 seldepth 37 multipv 1 time 124 score cp 0 nodes 72681 nps 582136 tbhits 1732 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d6 e8e2 f2f1 e2e1 f1f2 g6g7 a3a2 f7f8q f2f8 g7f8 b4b3 g5g6 b3b2 g6g7 a2a1q g7g8q a1e1
2019-09-04 13:23:57,083<--1:info depth 22 seldepth 35 multipv 1 time 227 score cp 0 nodes 160068 nps 704104 tbhits 3794 hashfull 0 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d7 e8e2 f2f3 e2d2 d7e6 d2e2 e6d6 e2e3 f3f2 e3e2 f2f1
2019-09-04 13:23:57,270<--1:info depth 23 seldepth 38 multipv 1 time 414 score cp 0 nodes 332377 nps 802588 tbhits 7754 hashfull 2 pv e6d7 f6f7 d7e7 a6a7 e7f8 a7a8 f8e7 a8e8 e7d7 e8e2 f2f3 e2d2 d7e6 d2e2 e6d5 e2a2 d5e6 a2e2
2019-09-04 13:23:57,306<--1:info depth 24 seldepth 33 multipv 1 time 451 score cp 0 nodes 365598 nps 809933 tbhits 9682 hashfull 2 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:57,403<--1:info depth 25 seldepth 33 multipv 1 time 547 score cp 0 nodes 451805 nps 825060 tbhits 15050 hashfull 7 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:57,544<--1:info depth 26 seldepth 36 multipv 1 time 687 score cp 0 nodes 560227 nps 814394 tbhits 22933 hashfull 7 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:23:57,714<--1:info depth 27 seldepth 37 multipv 1 time 858 score cp 0 nodes 702939 nps 818336 tbhits 33120 hashfull 9 pv e6d7 f6f7 d7e7 a6a7 e7e6 a7a6 e6e7
2019-09-04 13:24:02,060<--1:bestmove e6d7
2019-09-04 13:24:02,0611Zug gefunden:Ke6-d7
2019-09-04 13:24:02,2332Child Process Prio Adj: PID 17356 conhost.exe
2019-09-04 13:24:02,2352Start calc, move no: 118
2019-09-04 13:24:02,237-->2:position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 f8c5 b2b4 c5b4 c2c3 b4a5 d2d4 e5d4 e1g1 g8f6 c3d4 f6e4 d4d5 c6e7 d1d4 e4f6 c1g5 c7c5 d4c5 f6e4 c5d4 e4g5 f3g5 e8g8 g5f7 f8f7 d5d6 e7c6 c4f7 g8f7 d4d5 f7f8 a2a4 a5b4 b1a3 d8f6 a3b5 f6f7 d5d3 g7g6 b5c7 a8b8 a1e1 b7b6 e1e3 f8g8 e3e8 g8g7 f1d1 c8a6 c7a6 b8e8 a6b4 c6b4 d3c3 f7f6 c3b4 e8e2 d1f1 e2e5 g2g3 e5d5 f1e1 d5d6 e1e4 d6d1 g1g2 d1d3 e4e7 g7h6 b4e4 f6d4 e4a8 d4d5 a8d5 d3d5 h2h4 d5d4 f2f3 a7a5 g3g4 g6g5 h4g5 h6g5 e7h7 g5g6 h7e7 d4a4 e7d7 a4b4 g2g3 a5a4 f3f4 b4b3 g3h4 a4a3 d7a7 b6b5 f4f5 g6f6 a7a5 f6e7 h4g5 b5b4 f5f6 e7f7 a5a7 f7e6 g5g6 b3f3 g4g5 f3f2 a7a6 e6d7
2019-09-04 13:24:02,238-->2:go wtime 17742 btime 9707 winc 5000 binc 5000
2019-09-04 13:24:02,342<--2:info depth 9 seldepth 16 time 100 nodes 1102 score cp 150 hashfull 321 nps 720 tbhits 0 pv a6a7 d7e6 a7a6 e6e5 f6f7 e5d4 g6g7 a3a2 a6a2 f2a2 f7f8q b4b3
2019-09-04 13:24:02,568<--2:info depth 8 seldepth 16 time 327 nodes 1149 score cp 149 hashfull 322 nps 363 tbhits 0 pv a6a7 d7e6 a7a6 e6e5 f6f7 e5d4 g6g7 a3a2 a6a2 f2a2 f7f8q b4b3
2019-09-04 13:24:05,867<--2:info depth 8 seldepth 17 time 3626 nodes 1912 score cp 140 hashfull 324 nps 243 tbhits 0 pv a6a7 d7d6 f6f7 d6e6 g6g7 a3a2 a7a6 e6e7 g5g6 b4b3 a6a7 e7e6 f7f8q f2f8 g7f8
2019-09-04 13:24:07,887<--2:info depth 9 seldepth 19 time 5645 nodes 2691 score cp 141 hashfull 325 nps 294 tbhits 0 pv a6a7 d7d6 a7a6 d6d7 f6f7 d7e7 a6a7 e7e6 g6g7 a3a2 a7a6 e6e7 g5g6 b4b3 a6a7 e7d6
2019-09-04 13:24:08,694<--2:info depth 9 seldepth 19 time 6452 nodes 2836 score cp 137 hashfull 326 nps 279 tbhits 0 pv a6a7 d7d6 a7a6 d6d7 f6f7 d7e7 a6a7 e7e6 g6g7 a3a2 a7a6 e6e7 g5g6 b4b3 a6a7 e7d6
2019-09-04 13:24:08,702<--2:bestmove a6a7 ponder d7d6
2019-09-04 13:24:08,7032Zug gefunden:Ta6-a7
2019-09-04 13:24:08,8821Child Process Prio Adj: PID 14308 conhost.exe
2019-09-04 13:24:08,8901Start calc, move no: 119
2019-09-04 13:24:08,892-->1:position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 f8c5 b2b4 c5b4 c2c3 b4a5 d2d4 e5d4 e1g1 g8f6 c3d4 f6e4 d4d5 c6e7 d1d4 e4f6 c1g5 c7c5 d4c5 f6e4 c5d4 e4g5 f3g5 e8g8 g5f7 f8f7 d5d6 e7c6 c4f7 g8f7 d4d5 f7f8 a2a4 a5b4 b1a3 d8f6 a3b5 f6f7 d5d3 g7g6 b5c7 a8b8 a1e1 b7b6 e1e3 f8g8 e3e8 g8g7 f1d1 c8a6 c7a6 b8e8 a6b4 c6b4 d3c3 f7f6 c3b4 e8e2 d1f1 e2e5 g2g3 e5d5 f1e1 d5d6 e1e4 d6d1 g1g2 d1d3 e4e7 g7h6 b4e4 f6d4 e4a8 d4d5 a8d5 d3d5 h2h4 d5d4 f2f3 a7a5 g3g4 g6g5 h4g5 h6g5 e7h7 g5g6 h7e7 d4a4 e7d7 a4b4 g2g3 a5a4 f3f4 b4b3 g3h4 a4a3 d7a7 b6b5 f4f5 g6f6 a7a5 f6e7 h4g5 b5b4 f5f6 e7f7 a5a7 f7e6 g5g6 b3f3 g4g5 f3f2 a7a6 e6d7 a6a7
2019-09-04 13:24:08,894-->1:go wtime 16278 btime 9707 winc 5000 binc 5000
2019-09-04 13:24:08,897<--1:info depth 1 seldepth 3 multipv 1 time 0 score cp 4 nodes 19 nps 107823 tbhits 0 hashfull 0 pv d7d6 f6f7
2019-09-04 13:24:08,902<--1:info depth 2 seldepth 5 multipv 1 time 0 score cp 0 nodes 45 nps 182471 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6
2019-09-04 13:24:08,908<--1:info depth 3 seldepth 6 multipv 1 time 0 score cp 0 nodes 78 nps 264179 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,914<--1:info depth 4 seldepth 7 multipv 1 time 0 score cp 0 nodes 161 nps 440821 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,923<--1:info depth 5 seldepth 6 multipv 1 time 0 score cp 0 nodes 217 nps 538193 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,933<--1:info depth 6 seldepth 7 multipv 1 time 0 score cp 0 nodes 308 nps 662270 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,952<--1:info depth 7 seldepth 8 multipv 1 time 0 score cp 0 nodes 389 nps 744867 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,974<--1:info depth 8 seldepth 9 multipv 1 time 0 score cp 0 nodes 519 nps 884658 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,982<--1:info depth 9 seldepth 9 multipv 1 time 1 score cp 0 nodes 774 nps 560934 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,990<--1:info depth 10 seldepth 11 multipv 1 time 1 score cp 0 nodes 1038 nps 635862 tbhits 0 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:08,999<--1:info depth 11 seldepth 11 multipv 1 time 3 score cp 0 nodes 1244 nps 404105 tbhits 2 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,008<--1:info depth 12 seldepth 12 multipv 1 time 3 score cp 0 nodes 1611 nps 467530 tbhits 4 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,017<--1:info depth 13 seldepth 13 multipv 1 time 3 score cp 0 nodes 1923 nps 510133 tbhits 6 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,025<--1:info depth 14 seldepth 14 multipv 1 time 4 score cp 0 nodes 2235 nps 556493 tbhits 8 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,035<--1:info depth 15 seldepth 15 multipv 1 time 5 score cp 0 nodes 3155 nps 608753 tbhits 18 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,043<--1:info depth 16 seldepth 16 multipv 1 time 5 score cp 0 nodes 3755 nps 640661 tbhits 26 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,051<--1:info depth 17 seldepth 17 multipv 1 time 6 score cp 0 nodes 4451 nps 680452 tbhits 33 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,060<--1:info depth 18 seldepth 18 multipv 1 time 11 score cp 0 nodes 7008 nps 585268 tbhits 95 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,068<--1:info depth 19 seldepth 19 multipv 1 time 15 score cp 0 nodes 8951 nps 572958 tbhits 131 hashfull 0 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,077<--1:info depth 20 seldepth 28 multipv 1 time 123 score cp 0 nodes 27348 nps 221019 tbhits 1060 hashfull 1 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,115<--1:info depth 21 seldepth 29 multipv 1 time 218 score cp 0 nodes 61941 nps 283052 tbhits 2455 hashfull 1 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,229<--1:info depth 22 seldepth 35 multipv 1 time 332 score cp 0 nodes 105503 nps 316917 tbhits 5370 hashfull 1 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,296<--1:info depth 23 seldepth 33 multipv 1 time 399 score cp 0 nodes 138929 nps 347875 tbhits 7082 hashfull 1 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,440<--1:info depth 24 seldepth 35 multipv 1 time 543 score cp 0 nodes 237572 nps 437230 tbhits 12742 hashfull 2 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,596<--1:info depth 25 seldepth 39 multipv 1 time 700 score cp 0 nodes 341350 nps 487411 tbhits 19438 hashfull 5 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:09,934<--1:info depth 26 seldepth 38 multipv 1 time 1037 score cp 0 nodes 566820 nps 546558 tbhits 34418 hashfull 9 pv d7d6 f6f7 d6e6 a7a6
2019-09-04 13:24:11,781<--1:info depth 27 seldepth 53 multipv 1 time 2884 score cp 0 nodes 1845250 nps 639796 tbhits 118638 hashfull 33 pv d7d6 f6f7 d6e6 a7a6 e6e7 a6a7
2019-09-04 13:24:14,036<--1:bestmove d7d6
2019-09-04 13:24:14,0371Zug gefunden:Kd7-d6

blunder.zip

Horrible blunder in TB endgame

tb-blunder.zip
Attached the complete log from a game that was won by TB but Rubi played a totally wrong move. The game was played before fixing the bounds storing TB score to hash table, maybe this was the cause. Needs further testing...

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.