Stockfish 11 at 120k nodes per move

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: Stockfish 11 at 120k nodes per move

Post by Raphexon »

Ovyron wrote: Mon Jan 20, 2020 4:49 am What is the meaning of "fixed nodes per move", though? Because when you force the engine to play like that, you're forcing it to abort the search on some random point of the current iteration, and then I'm not sure what's the best strategy to follow when choosing a move.

Suppose it's on the middle of the main move failing low, does it still play it and ignore the fail low? Or does it play instead a move that it knows it's currently better? (but that could be worse after resolving the fail low.) What if it's on the middle of an alternative move failing high? Does it still play the main move even though it currently has a score that is worse than the alternative? Or does it switch to the move failing high, even though after the fail high was resolved perhaps it finished worse than the other one?

What about ignoring all this and just playing the move that was known to be best at the end of the previous iteration? But this would waste nodes...

So I don't think engines are designed to abort the search and pick a move before the current iteration is over, and wonder if we'd get much better results if they were designed for fixed nodes per second in mind, and if it'd be more fruitful to test them at fixed depth.
It's easier limit nodes than slow down a CPU enough to keep SF at a constant low NPS.
Maybe adding a prime number counter in the SF code could do the trick but that might add other problems.
Nobody thinks fixed nodes is an ideal or perfect solution but it's a compromise (and an easy solution).

Most versions of SF do finish an iteration so it generally doesn't stop at 18000 nodes but a little higher. Sometimes at 19 kn for certain versions. Which is fine since it's a bit weaker than having a proper TC anyway.
Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: Stockfish 11 at 120k nodes per move

Post by Raphexon »

Ovyron wrote: Mon Jan 20, 2020 7:25 am
Uri Blass wrote: Mon Jan 20, 2020 6:53 am The question is also if fixed nodes per move has to be exactly 18K nodes per move or maybe the engine is allowed to use at most 18K nodes per move at move 1 when nodes that it did not use can be used in the next move so with 18K nodes per move the engine can use
at most 18k*n nodes for the first n moves but it can use less than 18K nodes for part of the moves in order to be allowed to use more than 18K nodes in another part of the moves.
Yes, but then why not just use some microbullet time control that averages 18K nodes per move? Just let the engine decide by itself if it needs less or if it needs more. I'd expect that an engine at averages 18K nodes per move would greatly outperform a fixed one.
Response time of the engine starts becoming an issue at mini-micro-bullet.
And something I can always try afterwards.

I'll first test Stockfish against weaker chessboards to establish a baseline performance anyway.

If I do need to squeeze some ELO out of it, I'll try and see what I can do with my Raspberry Pi 3b.
Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: Stockfish 11 at 120k nodes per move

Post by Raphexon »

Good and bad things.

Mephisto to UCI works and the emulator automatically adjusts its speed to my system so I only need to give it a 40/120 TC and will run and also leaves behind a log.
Bad thing is that unless the option is hidden somewhere I can't speed it up.
And the strongest Mephisto it offers is the 32bit version of Dallas iirc.

The other emulator works too and can be sped up enormously but I have to do everything by hand. Also I don't have an user manual for every engine so some are a pain the ass to use.
The Tasc ChessSystem R30 (and R40) both work fine and have an easy UI so if 18k SF somehow chews through the Mephisto engines I can still test by hand.

Will begin real testing very soon.

Here's one test game.
Will have to do some more testing because I don't think Mephisto-Amsterdam can properly use 40/120.
Looking at a chessboard wiki it could do 30s/move, 30 min/game, 60s/move and 60 min/game.
So I'll have to some more testing and maybe adjust TC for both.

[pgn][Event "?"]
[Site "?"]
[Date "2020.01.22"]
[Round "?"]
[White "Amsterdam-UCI"]
[Black "stockfish_10_x64"]
[Result "*"]
[ECO "A06"]
[GameStartTime "2020-01-22T16:40:34.769 West-Europa (standaardtijd)"]
[Opening "Reti Opening"]
[Termination "unterminated"]
[TimeControl "40/7200"]

1. Nf3 {+0.01/1 0.61s} d5 {-0.26/10 0.014s} 2. d4 {+0.01/1 0.13s}
Nf6 {0.00/10 0.013s} 3. c4 {+0.01/1 0.13s} c6 {-0.12/10 0.013s}
4. Nc3 {+0.01/1 0.13s} e6 {+0.11/10 0.014s} 5. e3 {+0.01/1 0.13s}
Be7 {-0.41/9 0.015s} 6. Bd3 {+0.45/1 206s} dxc4 {-0.56/9 0.015s}
7. Bxc4 {+0.40/1 200s} O-O {-0.64/10 0.015s} 8. O-O {+0.60/1 194s}
c5 {-0.62/11 0.015s} 9. Qe2 {+0.32/1 189s} cxd4 {-0.43/11 0.014s}
10. exd4 {+0.32/1 183s} Nc6 {-0.26/10 0.019s} 11. Rd1 {+0.20/1 178s}
Nd5 {-0.22/10 0.016s} 12. Bxd5 {+0.20/1 173s} exd5 {+0.55/11 0.022s}
13. Qb5 {+0.28/1 168s} Nb4 {+0.53/11 0.014s} 14. Bf4 {+0.08/1 163s}
a6 {+0.49/11 0.016s} 15. Qe2 {+0.04/1 158s} Re8 {+0.42/11 0.014s}
16. a3 {+0.01/1 154s} Nc6 {+0.54/11 0.015s} 17. Qd3 {+0.08/1 150s}
Na5 {+0.74/11 0.017s} 18. Ne5 {+0.12/1 145s} f6 {+0.82/11 0.015s}
19. Nf3 {+0.12/1 141s} Nc4 {+0.69/12 0.014s} 20. Ra2 {-0.12/1 137s}
Be6 {+0.97/11 0.015s} 21. b3 {-0.04/1 133s} Nd6 {+1.28/10 0.016s}
22. Re1 {-0.04/1 129s} Bf7 {+1.43/11 0.019s} 23. b4 {-0.04/1 126s}
a5 {+1.60/10 0.016s} 24. b5 {-0.04/1 122s} Rc8 {+1.56/10 0.015s}
25. Raa1 {-0.28/1 119s} Nc4 {+1.88/10 0.014s} 26. a4 {-0.40/1 115s}
Bb4 {+2.09/11 0.014s} 27. Rxe8+ {-0.55/1 112s} Bxe8 {+1.59/11 0.014s}
28. Nd1 {-0.64/1 109s} g5 {+1.73/11 0.014s} 29. Bg3 {-0.60/1 106s}
Bg6 {+2.67/13 0.015s} 30. Qe2 {-0.72/1 103s} Qd7 {+2.08/11 0.014s}
31. h3 {-0.68/1 100s} h5 {+2.12/12 0.013s} 32. Ne3 {-0.80/1 97s}
Nxe3 {+2.28/11 0.015s} 33. Qxe3 {-0.55/1 94s} Rc3 {+1.74/11 0.014s}
34. Qe2 {-0.80/1 91s} Qf5 {+2.20/11 0.015s} 35. Bb8 {-1.08/1 89s}
Qe4 {+1.95/11 0.013s} 36. Qxe4 {-1.32/1 86s} dxe4 {+1.98/12 0.012s}
37. Nh2 {-1.80/1 84s} Rc8 {+2.21/11 0.013s} 38. Ba7 {-1.55/1 81s}
f5 {+2.28/11 0.013s} 39. Bb6 {-1.12/1 79s} Kf7 {+2.62/12 0.011s}
40. d5 {-1.12/1 77s} Ke7 {+2.45/10 0.012s} 41. Rd1 {-1.60/1 280s}
f4 {+2.79/12 0.013s} 42. g4 {-1.55/1 272s} Kd6 {+3.04/11 0.014s}
43. gxh5 {-1.32/1 265s} Bxh5 {+3.19/12 0.012s} 44. Ng4 {-1.24/1 257s}
Rc3 {+2.99/12 0.012s} 45. Kg2 {-1.55/1 250s} Rc2 {+2.66/11 0.012s}
46. Kh1 {-1.68/1 243s} Bxg4 {+3.14/13 0.011s} 47. hxg4 {-1.68/1 236s}
Ra2 {+3.96/12 0.011s} 48. Kg1 {-2.04/1 229s} Rxa4 {+4.08/12 0.015s}
49. Bd4 {-2.45/1 222s} Ra2 {+4.30/11 0.013s} 50. Bb6 {-2.76/1 216s}
Bd2 {+4.89/13 0.013s} 51. Kf1 {-2.84/1 210s} a4 {+4.86/14 0.012s}
52. Bd4 {-2.96/1 204s} Ba5 {+5.47/12 0.014s} 53. Ba7 {-2.76/1 198s}
a3 {+6.02/13 0.014s} 54. Bb8+ {-2.96/1 192s} Kd7 {+6.33/14 0.012s}
55. Rc1 {-4.16/1 187s} e3 {+7.86/12 0.011s} 56. fxe3 {-4.84/1 181s}
fxe3 {+10.25/14 0.011s} 57. Kg1 {-5.00/1 176s} e2 {+10.49/14 0.011s}
58. Bg3 {-6.96/1 171s} Bb6+ {+11.11/14 0.010s} 59. Kh1 {-6.24/1 166s}
Rd2 {+11.22/15 0.010s} 60. Rc4 {-7.60/1 162s} a2 {+11.86/14 0.010s}
61. Ra4 {-8.12/1 157s} a1=Q+ {+15.52/16 0.009s} *

[/pgn]
Rom77
Posts: 48
Joined: Wed Oct 24, 2018 7:37 am
Full name: Roman Zhukov

Stockfish 2020-04-29 (1 kn/s) vs Fruit 2.1 (2800+)

Post by Rom77 »

Stockfish 2020-04-29 (1 kn/s) vs Fruit 2.1 (2800+)

Time control: 8 sec + 0.04 sec vs 140 min + 40 sec

CPU: 1 core Intel i5 760 2.95 GHz (bench 1 thread SF11 - 1340 knps). Ponder off. Start positions: SuperGM_4mvs_500, 4 move. Banksia GUI, concurrency 2 - 3 games, elapsed time ~ 5 days.
Fruit 2.1: Hash=256;
Stockfish 2020-04-29: Contempt=0, Threads=1, Hash=8, Move Overhead=1, Minimum Thinking Time=0, Slow Mover=65.

Result:
Stockfish 2020-04-29 (1 kn/s) vs Fruit 2.1 (2800+): 52 - 11 - 37 [0.705] Elo difference: 151.3

Banksia GUI report for Stockfish 187 kn/move (i.e. 187 kn/ 180 sec ~ 1 kn/s):

Code: Select all

Result:
----------------------------------------------------------------------------------
  #  name                  games    wins   draws  losses  score%    los%  elo+/-
  1. Stockfish 2020-04-29    100      52      37      11    70.5   100.0   151.3
  2. Fruit 2.1               100      11      37      52    29.5     0.0  -151.3

Cross table:
----------------------------------------------------------------------------------
  #  name                    score%   games         1         2
  1. Stockfish 2020-04-29      70.5     100         x      70.5
  2. Fruit 2.1                 29.5     100      29.5         x

Tech:
----------------------------------------------------------------------------------

Tech (average nodes, depths, time/m per move, others per game), counted for computing moves only, ignored moves with zero nodes:
  #  name                    nodes/m         NPS  depth/m   time/m    moves     time
  1. Stockfish 2020-04-29       187K     1362181     16.3      0.1     65.4      9.2
  2. Fruit 2.1               274607K     1791302     18.6    157.0     65.6  10291.6
     all ---                 137607K     1790918     17.5     78.7     65.5   5150.4
     
For comparison, the Chess 4 program had a speed of about 700 n/s on a CDC 6600 computer in 1975. I took this number from my table in a post on another forum:
http://kasparovchess.crestbook.com/thre ... ost-978597