| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Wed Jul 4 00:59:15 2018 +0200 Timestamp: 1530658755 Simplify saving a TT entry. Avoid passing TT.generation() to TTEntry::save() at every call, moving the implementation of TTEntry::save from tt.h to tt.cpp. tested for no regression: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 53787 W: 11948 L: 11890 D: 29949 Elo +0.37 http://tests.stockfishchess.org/tests/view/5b2ff37f0ebc5902b2e582fe Closes https://github.com/official-stockfish/Stockfish/pull/1662 No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Wed Jul 4 00:51:10 2018 +0200 Timestamp: 1530658270 Reduce scope of variables Small cleanup TranspositionTable:clear(). Closes https://github.com/official-stockfish/Stockfish/pull/1659 No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Ondrej Mosnáček
Date: Wed Jun 27 11:42:25 2018 +0200 Timestamp: 1530092545 Move PSQ score to Position This patch simplifies Position::do_move() by moving the PSQ score from StateInfo to Position and updating it inside the put/remove/move_piece functions. The downside is that there is now slightly more computation done in Position::undo_move(), but the fishtest results are Elo neutral. Passed STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 78820 W: 15775 L: 15760 D: 47285 Elo +0.07 http://tests.stockfishchess.org/tests/view/5b1cd1d00ebc5902ab9c64ab Passed LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 32966 W: 5716 L: 5615 D: 21635 Elo +1.06 http://tests.stockfishchess.org/tests/view/5b31e1230ebc5902b2e5a833 Closes https://github.com/official-stockfish/Stockfish/pull/1647 No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Tue Jun 26 09:08:15 2018 +0200 Timestamp: 1529996895 Remove make_bitboard() In current master, the function make_bitboard() does nothing apart from helping initialize the SquareBB[] array. This seems like an unnecessary abstraction layer. The advantage of make_bitboard() is we can define a bitboard, in a simple and general way, not only from a single square but also from a list of squares. It is more elegant, faster and readable than combining multiple SquareBB explicitly, but the last complex use case in evaluation was simplified away a few months ago. If make_bitboard() becomes useful again to define complicated bitboards, it will be easy enough to reintroduce it using this pull request as an implementation reference. No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: joergoster
Date: Tue Jun 26 08:55:35 2018 +0200 Timestamp: 1529996135 Simplify KingProtector penalty. Recent tuning results implied this penalty is more important for knights and bishops, and almost negligible for rooks and queen. Passed as simplification both STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 20873 W: 4592 L: 4469 D: 11812 Elo +2.05 http://tests.stockfishchess.org/tests/view/5b2fb4d00ebc5902b2e57e84 and LTC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 46069 W: 7949 L: 7870 D: 30250 Elo +0.60 http://tests.stockfishchess.org/tests/view/5b2fcc4b0ebc5902b2e580c5 Closes https://github.com/official-stockfish/Stockfish/pull/1660 Bench: 5487679 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Alain SAVARD
Date: Tue Jun 26 08:16:37 2018 +0200 Timestamp: 1529993797 Simplify HinderPassedPawn bonus Make sure each piece is not scored more than once as a passed pawn "hinderer", by scoring only the blockers along the passed pawn path. Inspired by TCEC Game 29. Passed STC as a simplification http://tests.stockfishchess.org/tests/view/5b3016d00ebc5902b2e58552 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 75388 W: 16656 L: 16641 D: 42091 Elo +0.07 Passed LTC as a simplification http://tests.stockfishchess.org/tests/view/5b302ed90ebc5902b2e587fc LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 49157 W: 8460 L: 8386 D: 32311 Elo +0.52 Current master was also counting the number of attacks along a passed pawn path, which might be misleading: a) a defender might be counted many times for the same pawn path. For example a White rook on a1 attacking a black pawn on a7 would score the bonus * 6 but would be probably better placed on a8 b) a defender might be counted on different pawn paths and might be overloaded. For example a Ke4 or Qe4 against pawns on d6 and f6 would score the bonus * 6. Counting each blocker or attacker only once is more complicated, and does not help either: http://tests.stockfishchess.org/tests/view/5b2ff1cb0ebc5902b2e582b2 After this small simplification, there might be ways to increase the HinderPassedPawn penalty. Closes https://github.com/official-stockfish/Stockfish/pull/1661 Bench: 4520519 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: candirufish
Date: Sat Jun 23 09:03:58 2018 +0200 Timestamp: 1529737438 Another set of tuned values after one million games Another set of tuned values, obtained by a long session of one million games. STC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 15810 W: 3687 L: 3458 D: 8665 Elo +5.03 http://tests.stockfishchess.org/tests/view/5b2d32f60ebc5902b2e55d9e LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 102118 W: 18146 L: 17651 D: 66321 Elo +1.68 http://tests.stockfishchess.org/tests/view/5b2d372c0ebc5902b2e55e0a Closes https://github.com/official-stockfish/Stockfish/pull/1658 Bench: 4557946 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Stéphane Nicolet
Date: Fri Jun 22 01:29:25 2018 +0200 Timestamp: 1529623765 Increase outflanking weight to 12 Give more incentive to king activity in the endgame by increasing the weight of the "outflanking" variable from 8 to 12 in the function evaluate_initiative(). Finished yellow after 133102 games at STC: LLR: -3.07 (-2.94,2.94) [0.00,4.00] Total: 133102 W: 29535 L: 29179 D: 74388 Elo +0.93 http://tests.stockfishchess.org/tests/view/5b2b63fe0ebc5902b2e54475 Passed LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 28027 W: 4918 L: 4672 D: 18437 Elo +3.05 http://tests.stockfishchess.org/tests/view/5b2ba39e0ebc5902b2e54a64 Closes https://github.com/official-stockfish/Stockfish/pull/1657 Bench: 4721753 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: candirufish
Date: Thu Jun 21 10:23:05 2018 +0200 Timestamp: 1529569385 Tuned values after 505k games Various king and pawn tuned eval values after 505k 60 sec 600 nodes time SPSA games. Adjusted passed rank and file values to be symmetrical. Passed LTC (after passed rank/file adjustment): LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 37906 W: 6953 L: 6668 D: 24285 Elo +2.61 http://tests.stockfishchess.org/tests/view/5b2790960ebc5902b8d17ba1 A previous, very similar version with raw tuned values passed STC and LTC: STC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 39515 W: 9227 L: 8900 D: 21388 Elo +2.88 http://tests.stockfishchess.org/tests/view/5b277e3e0ebc5902b8d17ac9 LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 14618 W: 2743 L: 2537 D: 9338 Elo +4.90 http://tests.stockfishchess.org/tests/view/5b2785020ebc5902b8d17b98 Closes https://github.com/official-stockfish/Stockfish/pull/1654 bench: 4777396 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Michael An
Date: Thu Jun 21 09:51:31 2018 +0200 Timestamp: 1529567491 Fix GCC 8 cast warnings Silences the following warnings when compiling with GCC 8. The fix is to use an intermediate pointer to anonymous function: ``` misc.cpp: In function 'int WinProcGroup::get_group(size_t)': misc.cpp:241:77: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'fun1_t' {aka 'bool (*)(_LOGICAL_PROCESSOR_RELATIONSHIP, _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX*, long unsigned int*)'} [-Wcast-function-type] auto fun1 = (fun1_t)GetProcAddress(k32, "GetLogicalProcessorInformationEx"); ^ misc.cpp: In function 'void WinProcGroup::bindThisThread(size_t)': misc.cpp:309:71: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'fun2_t' {aka 'bool (*)(short unsigned int, _GROUP_AFFINITY*)'} [-Wcast-function-type] auto fun2 = (fun2_t)GetProcAddress(k32, "GetNumaNodeProcessorMaskEx"); ^ misc.cpp:310:67: warning: cast between incompatible function types from 'FARPROC' {aka 'long long int (*)()'} to 'fun3_t' {aka 'bool (*)(void*, const _GROUP_AFFINITY*, _GROUP_AFFINITY*)'} [-Wcast-function-type] auto fun3 = (fun3_t)GetProcAddress(k32, "SetThreadGroupAffinity"); ^ ``` No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: mstembera
Date: Wed Jun 20 05:43:00 2018 +0200 Timestamp: 1529466180 Fix MSVC error Compiling the current master with MSVC gives the following error: ``` search.cpp(956): error C2660: 'operator *': function does not take 1 arguments types.h(303): note: see declaration of 'operator *' ``` This was introduced in commit: https://github.com/official-stockfish/Stockfish/commit/88de112b84a5285c2afb3e075a05c2ab8ad3fd33 We use a suggestion by @vondele to fix the error, thanks! No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Stefano80
Date: Wed Jun 20 05:27:24 2018 +0200 Timestamp: 1529465244 Slight simplification in scale factor computation [STC](http://tests.stockfishchess.org/tests/view/5b2614000ebc5902b8d17193) LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 17733 W: 3996 L: 3866 D: 9871 Elo +2.55 [LTC](http://tests.stockfishchess.org/tests/view/5b264d0f0ebc5902b8d17206) LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 55524 W: 9535 L: 9471 D: 36518 Elo +0.40 Use pawn count scaling also for opposite bishops endings with additional material, with a slope of 2 instead of 7. This simplifies slightly the code. This PR is a functionally equivalent refactoring of the version which was submitted. Four versions tried, 2 passed both STC and LTC. I picked the one which seemed more promising at LTC. Slope 4 passed STC (-0.54 Elo), LTC not attempted Slope 3 passed STC (+2.51 Elo), LTC (-0.44 Elo) Slope 2 passed STC (+2.09 Elo), LTC (+0.04 Elo) Slope 1 passed STC (+0.90 Elo), failed LTC (-3.40 Elo) Bench: 4761613 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: DU-jdto
Date: Wed Jun 13 21:52:53 2018 +0200 Timestamp: 1528919573 Remove lmrDepth restriction on quiet see pruning And tweak the threshold value. With this threshold and the current piece values, this permits see pruning on quiets to be done up to an lmrDepth of 9 (beyond that the threshold is below -QueenValueMg and see_ge will pass unconditionally). STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 110316 W: 24612 L: 24667 D: 61037 Elo -0.17 http://tests.stockfishchess.org/tests/view/5b20aa760ebc5902ab9c9c1d LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 17352 W: 2968 L: 2842 D: 11542 Elo +2.52 http://tests.stockfishchess.org/tests/view/5b20cf1e0ebc5902ab9c9fb6 Closes https://github.com/official-stockfish/Stockfish/pull/1651 Bench: 5069074 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Wed Jun 13 21:46:12 2018 +0200 Timestamp: 1528919172 Remove depth condition for pruning captures. The SEE condition alone is sufficient. passed STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 109863 W: 24339 L: 24392 D: 61132 Elo -0.17 http://tests.stockfishchess.org/tests/view/5b1f5b000ebc5902ab9c8668 passed LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 23390 W: 4020 L: 3903 D: 15467 Elo +1.74 http://tests.stockfishchess.org/tests/view/5b1f94b40ebc5902ab9c8b5e Closes https://github.com/official-stockfish/Stockfish/pull/1648 Bench: 4834747 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: protonspring
Date: Mon Jun 11 10:22:55 2018 +0200 Timestamp: 1528705375 Optimize an expression in endgame.cpp I believe using foward_file_bb() here is fewer instructions. a) Fewer instructions and probably more clear (debatable). b) Possible that a lookup is slower than a few local operations, but the forward_file_bb table is probably used often enough that it is always cached. Passed LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 21004 W: 4263 L: 4141 D: 12600 Elo +2.02 http://tests.stockfishchess.org/tests/view/5b1cad830ebc5902ab9c6239 Closes https://github.com/official-stockfish/Stockfish/pull/1644 No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: candirufish
Date: Mon Jun 11 10:03:33 2018 +0200 Timestamp: 1528704213 Simplify capture pruning margin formula Using just `PawnValueEg * depth` as Capture Prune Margin. There was a bunch of patches that passed recently regarding captures, maybe this part of the master code redundant? The patch was tested as a simplification: STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 20833 W: 4218 L: 4096 D: 12519 Elo +2.03 http://tests.stockfishchess.org/tests/view/5b1cf2100ebc5902ab9c6651 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 27050 W: 3975 L: 3864 D: 19211 Elo +1.43 http://tests.stockfishchess.org/tests/view/5b1cfdc80ebc5902ab9c6776 Closes https://github.com/official-stockfish/Stockfish/pull/1643 Bench: 4980482 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Stefan Geschwentner
Date: Mon Jun 11 09:54:32 2018 +0200 Timestamp: 1528703672 Optimize contempt value (21) After several tests it seems best to increase contempt from 12 to 21. This does not regress against contempt=0 and gives a gain of around 7-8 elo against SF 7 in comparison to current default contempt. STC: Test for non-regression contempt=21 against contempt=0 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 71250 W: 13956 L: 13926 D: 43368 Elo +0.15 http://tests.stockfishchess.org/tests/view/5b19a58d0ebc5902ab9c3bfa STC: Test contempt 21 against SF 7 ELO: 190.06 +-2.8 (95%) LOS: 100.0% Total: 40000 W: 22608 L: 2676 D: 14716 Elo +190.06 http://tests.stockfishchess.org/tests/view/5b19a6520ebc5902ab9c3c0e STC: Test master against SF 7 for comparison ELO: 182.95 +-2.7 (95%) LOS: 100.0% Total: 40000 W: 21905 L: 2595 D: 15500 Elo +182.95 http://tests.stockfishchess.org/tests/view/5b16f5bc0ebc59214346d5ca LTC: Test for non-regression contempt=21 against contempt=0 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 47666 W: 6914 L: 6832 D: 33920 Elo +0.60 http://tests.stockfishchess.org/tests/view/5b1a170b0ebc5902ab9c3fde LTC: Test contempt 21 against SF 7 ELO: 203.92 +-2.6 (95%) LOS: 100.0% Total: 40000 W: 22447 L: 1340 D: 16213 Elo +203.92 http://tests.stockfishchess.org/tests/view/5b1a174b0ebc5902ab9c3fe1 LTC: Test master against SF 7 for comparison ELO: 196.08 +-2.6 (95%) LOS: 100.0% Total: 40000 W: 21639 L: 1191 D: 17170 Elo +196.08 http://tests.stockfishchess.org/tests/view/5b1a17e40ebc5902ab9c3fe4 Closes https://github.com/official-stockfish/Stockfish/pull/1646 Bench: 4786912 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Mon Jun 11 09:46:26 2018 +0200 Timestamp: 1528703186 Remove failedLow from the mainThread struct failedLow is in fact a local variable in Thread::search(). Also clean some spaces and tabs in code. No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: candirufish
Date: Wed Jun 6 10:16:48 2018 +0200 Timestamp: 1528273008 Quiet move soft fail high bonus Extra bonus for quiet move creating a huge soft fail high (triggered in 21% of quiet bestmoves on a normal bench run). Pb00067 original idea using PawnValueMg. Passed STC: LLR: 2.95 (-2.94,2.94) [0.00,5.00] Total: 138207 W: 28060 L: 27295 D: 82852 Elo +1.92 http://tests.stockfishchess.org/tests/view/5b14471b0ebc5902a81689c1 Passe LTC: LLR: 2.94 (-2.94,2.94) [0.00,5.00] Total: 157289 W: 23200 L: 22518 D: 111571 Elo +1.51 http://tests.stockfishchess.org/tests/view/5b149dde0ebc5902a8b41c5a bench: 4441320 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: VoyagerOne
Date: Wed Jun 6 09:58:34 2018 +0200 Timestamp: 1528271914 Simplify capture bonus Simplify capture bonus by simply adding ONE_DEPTH instead of being dependent on BestValue. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 24419 W: 4939 L: 4824 D: 14656 Elo +1.64 http://tests.stockfishchess.org/tests/view/5b16b2040ebc5963ba37e2a5 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 44560 W: 6524 L: 6438 D: 31598 Elo +0.67 http://tests.stockfishchess.org/tests/view/5b16ccc00ebc59214346d403 Closes https://github.com/official-stockfish/Stockfish/pull/1640 Bench: 4782637 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Stéphane Nicolet
Date: Tue Jun 5 18:15:54 2018 +0200 Timestamp: 1528215354 Call cycle detection before qsearch() This has the property of raising alpha before calling qsearch(), thus maybe giving some more cuts during qsearch(). The patch is equivalent to the use of cycle detection inside qsearch() at depth 0, but is in fact implemented by re-ordering code inside search(), which explains the [0..4] bounds in the following tests. STC (interrupted after 124250 games, with LLR=0.87): http://tests.stockfishchess.org/tests/view/5b1500bd0ebc5902a8b420bf LLR: 0.87 (-2.94,2.94) [0.00,4.00] Total: 124250 W: 24973 L: 24470 D: 74807 Elo +1.41 LTC: http://tests.stockfishchess.org/tests/view/5b1590eb0ebc5902a84dcd09 LLR: 2.96 (-2.94,2.94) [0.00,4.00] Total: 74234 W: 11098 L: 10733 D: 52403 Elo +1.71 Closes https://github.com/official-stockfish/Stockfish/pull/1635 Bench: 4326784 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Joost VandeVondele
Date: Tue Jun 5 18:06:13 2018 +0200 Timestamp: 1528214773 Stabilize AppVeyor CI After a helpful suggestion from AppVeyor support staff, moving the Stockfish execution from ps to cmd seems to work. Alternative to PR #1624 tested in PR #1637. No functional change. see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: Guenther Demetz
Date: Tue Jun 5 10:10:32 2018 +0200 Timestamp: 1528186232 Remove a superfluous subtrahend The '- 1' subtrahend was introduced for guarding against null move search at root, which would be nonsense. But this is actually already guaranteed by the !PvNode condition. This followed from the discussion in pull request 1609: https://github.com/official-stockfish/Stockfish/pull/1609 No functional change see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: VoyagerOne
Date: Tue Jun 5 09:58:10 2018 +0200 Timestamp: 1528185490 Simplify LMR for captures Simplify LMR for captures by removing capture's stat score logic for reduction. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 37068 W: 7462 L: 7370 D: 22236 Elo +0.86 http://tests.stockfishchess.org/tests/view/5b115bc30ebc591af58a6fd2 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 80061 W: 11706 L: 11671 D: 56684 Elo +0.15 http://tests.stockfishchess.org/tests/view/5b117f590ebc59033d2d5315 Closes https://github.com/official-stockfish/Stockfish/pull/1631 Bench: 4470519 see source |
| Windows x64 for Haswell CPUs Windows x64 for modern computers Windows x64 Windows 32 Linux x64 for Haswell CPUs Linux x64 for modern computers Linux x64 | Author: joergoster
Date: Mon Jun 4 07:45:12 2018 +0200 Timestamp: 1528091112 Bugfix of Position::has_repeated() The function Position::has_repeated() is used by Tablebases::root_probe() to determine whether we can rank all winning moves with the same value, or if we need to strictly rank by dtz in case the position has already been repeated once, and we are risking to run into the 50-move rule and thus losing the win (especially critical in some very complicated endgames). To check whether the current position or one of the previous positions after the last zeroing move has already been occured once, we start looking for a repetition of the current position, and if that is not the case, we step one position back and repeat the check for that position, and so on. If you now look at how this was done before the new root ranking patch was merged two months ago, it seems quite obvious that it is a simple oversight: https://github.com/official-stockfish/Stockfish/commit/108f0da4d7f993732aa2e854b8f3fa8ca6d3b46c More specifically, after we stepped one position back with ``` stc = stc->previous; ``` we now have to start checking for a repetition with ``` StateInfo* stp = stc->previous->previous; ``` and not with ``` StateInfo* stp = st->previous->previous; ``` Closes https://github.com/official-stockfish/Stockfish/pull/1625 No functional change see source |