Regarding stockfish-1.8.
I think I understand that running muptiple threads affects multipv
score results, but I am confused that hash size also affects muptipv
score results.
I ran 3 tests, using 1024, 2048, and 4096 for <val> in:
setoption name Hash value <val>
Here are the other UCI commands used for all cases:
setoption name Threads value 1
setoption name MultiPV value 3
ucinewgame
position startpos moves b2b4 e7e5 c1b2 d7d5 b2e5
go depth 36
Here is a summary of the results, using 64-bit linux with 12 GB of RAM:
1 GB Hash (took 1943 mins, nodes 117772441805 nps 1010165):
multipv 1 score cp 12 pv b8c6 e5b2 ...
multipv 2 score cp -24 pv b8d7 e5d4 ...
multipv 3 score cp -40 pv c8e6 a2a3 ...
2 GB Hash (took 1325 mins, nodes 82831376534 nps 1041760):
multipv 1 score cp 0 pv b8c6 e5b2 ...
multipv 2 score cp -20 pv b8d7 e5d4 ...
multipv 3 score cp -44 pv g8f6 a2a3 ...
4 GB Hash (took 1370 mins, 82187097 nodes 86493275905 nps 1052394):
multipv 1 score cp 0 pv b8c6 e5b2 ...
multipv 2 score cp -44 pv c8e6 a2a3 ...
multipv 3 score cp -48 pv b8d7 e5b2 ...
My question is, why are the scores different?
I think I understand that running muptiple threads affects multipv
score results, but I am confused that hash size also affects muptipv
score results.
I ran 3 tests, using 1024, 2048, and 4096 for <val> in:
setoption name Hash value <val>
Here are the other UCI commands used for all cases:
setoption name Threads value 1
setoption name MultiPV value 3
ucinewgame
position startpos moves b2b4 e7e5 c1b2 d7d5 b2e5
go depth 36
Here is a summary of the results, using 64-bit linux with 12 GB of RAM:
1 GB Hash (took 1943 mins, nodes 117772441805 nps 1010165):
multipv 1 score cp 12 pv b8c6 e5b2 ...
multipv 2 score cp -24 pv b8d7 e5d4 ...
multipv 3 score cp -40 pv c8e6 a2a3 ...
2 GB Hash (took 1325 mins, nodes 82831376534 nps 1041760):
multipv 1 score cp 0 pv b8c6 e5b2 ...
multipv 2 score cp -20 pv b8d7 e5d4 ...
multipv 3 score cp -44 pv g8f6 a2a3 ...
4 GB Hash (took 1370 mins, 82187097 nodes 86493275905 nps 1052394):
multipv 1 score cp 0 pv b8c6 e5b2 ...
multipv 2 score cp -44 pv c8e6 a2a3 ...
multipv 3 score cp -48 pv b8d7 e5b2 ...
My question is, why are the scores different?
Because different contents go into the hash, and produce different results. This gets "luck" into the equation, that's why it was very hard to prove that e.g. 128MB were better than 64MB for Rybka 3. I don't have much experience with Rybka 4 and hash, but it must be a similar concept.
With a larger hash, all else being equal, your engine will have a greater probability of finding positions in hash rather than having to recalculate them (that's why you use a bigger hash). If the position isn't found in hash, it will be calculated with more recent data, with an expectation of taking a lot more time, but using more recent results. Since the recalculation is using newer results, it may very well come to a different evaluation.
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill
