| 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 Dec 24 10:44:38 2018 +0100 Timestamp: 1545644678 Improve endgame KBN vs K (#1877) Even when playing without endgame table bases, this particular endgame should be a win 100% of the time when Stockfish is given a KRBK position, assuming there are enough moves remaining in the FEN to finish the game without hitting the 50 move rule. PROBLEM: The issue with master here is that the PushClose difference per square is 20, however, the difference in squares for the PushToCorners array is usually less. Thus, the engine prefers to move the kings closer together rather than pushing the weak king to the correct corner. What happens is if the weak king is in a safe corner, SF still prefers pushing the kings together. Occasionally, the strong king traps the weak king in the safe corner. It takes a while for SF to figure it out, but often draws the game by the 50 move rule (on shorter time controls). This patch increases the PushToCorners values to correct this problem. We also added an assert to catch any overflow problem if anybody would want to increase the array values again in the future. It was tested in a couple of matches starting with random KRBK positions and showed increased winning rates, see https://github.com/official-stockfish/Stockfish/pull/1877 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: erbsenzaehler
Date: Sun Dec 23 18:17:44 2018 +0100 Timestamp: 1545585464 Update our continuous integration machinery (#1889) * Update our continuous integration machinery Ubuntu 16.04 can now be used with travis. Updating all the other stuff when there. Invoking the lld linker seems to save 5 minutes with clang on linux. No functional change. * fix 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: Sun Dec 23 16:10:07 2018 +0100 Timestamp: 1545577807 Use a bit less code to calculate hashfull() (#1830) * Use a bit less code to calculate hashfull(). Change post increment to preincrement as is more standard in the rest of stockfish. Scale result so we report 100% instead of 99.9% when completely full. 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: Sun Dec 23 16:09:03 2018 +0100 Timestamp: 1545577743 Turn on random access for Syzygy files in Windows (#1840) * This is the Windows version of https://github.com/official-stockfish/Stockfish/pull/1829 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: Sun Dec 23 16:05:24 2018 +0100 Timestamp: 1545577524 Simplify generate_castling (#1885) Although this is a compile-time constant, we stick the castlingSide into a CastlingRight, then pull it out again. This seems unecessarily complex. 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: Thu Dec 20 10:47:18 2018 +0100 Timestamp: 1545299238 Simplify KBNK endgame implementation We do not need to change the winnerKSq variable, so we can simplify a little bit the logic of the code by changing only the loserKSq variable when it is necessary. Also consolidate and clarify comments. See the pull request thread for a proof that the code is correct: https://github.com/official-stockfish/Stockfish/pull/1854 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 Dec 18 09:38:06 2018 +0100 Timestamp: 1545122286 Tweak main killer penalty Apply refuted main killer penalty also on early TT cut-offs. This makes penalty logic more consistent with the logic at normal search. Failed STC: http://tests.stockfishchess.org/tests/view/5c121e730ebc5902ba11aad8 LLR: -2.95 (-2.94,2.94) [0.00,5.00] Total: 72193 W: 15848 L: 15625 D: 40720 Elo +1.07 Passed LTC: http://tests.stockfishchess.org/tests/view/5c17b1b10ebc5902ba123c24 LLR: 2.95 (-2.94,2.94) [0.00,5.00] Total: 35073 W: 5886 L: 5625 D: 23562 Elo +2.59 Closes https://github.com/official-stockfish/Stockfish/pull/1878 bench: 3393939 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: Tue Dec 18 08:51:25 2018 +0100 Timestamp: 1545119485 New voting formula for threads We now use a quadratic formula during the vote for threads when deciding on which thread to pick a move from. time control 5+0.05, with 8 threads: LLR: 2.95 (-2.94,2.94) [0.00,5.00] Total: 20202 W: 4031 L: 3813 D: 12358 Elo +3.75 http://tests.stockfishchess.org/tests/view/5c16c8e60ebc5902ba1223e2 time control 20+0.2, with 8 threads: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 14330 W: 2290 L: 2115 D: 9925 Elo +4.24 http://tests.stockfishchess.org/tests/view/5c16efca0ebc5902ba122993 20000 games match at time control 5+0.05, with 31 threads: ELO: 5.63 +-2.8 (95%) LOS: 100.0% Total: 20000 W: 3539 L: 3215 D: 13246 Elo +5.63 http://tests.stockfishchess.org/tests/view/5c16f07a0ebc5902ba122a20 Closes https://github.com/official-stockfish/Stockfish/pull/1876 No functional change (in simple thread mode) 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: 31m059
Date: Sun Dec 16 10:04:49 2018 +0100 Timestamp: 1544951089 Use stronglyProtected ~stronglyProtected is quite similar to ~attackedBy[Them][PAWN] & ~attackedBy2[Them], the only difference appears to be that the former includes squares attacked twice by both sides. The resulting logic is simpler, and the change appears to be at least Elo-neutral at both STC and LTC. STC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 35924 W: 7978 L: 7885 D: 20061 Elo +0.90 http://tests.stockfishchess.org/tests/view/5c14a5c00ebc5902ba11ed72 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 37078 W: 6125 L: 6030 D: 24923 Elo +0.89 http://tests.stockfishchess.org/tests/view/5c14ae880ebc5902ba11eed8 Bench: 3646542 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: Sun Dec 16 09:57:43 2018 +0100 Timestamp: 1544950663 Refactor king ring calculation Compute the "double protection by pawns" expression only once in initialize(), instead of once for each piece in the piece loop. Passed STC http://tests.stockfishchess.org/tests/view/5c1506380ebc5902ba11f3b4 LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 9494 W: 2191 L: 2045 D: 5258 Elo +5.34 Inspired by Nick Pelling's test http://tests.stockfishchess.org/tests/view/5c144d110ebc5902ba11e4af and an older test of mine http://tests.stockfishchess.org/tests/view/5c0402810ebc5902bcee1fc8 Non 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: Sun Dec 16 09:53:11 2018 +0100 Timestamp: 1544950391 Fix a segfault. this patch fixes a rare but reproducible segfault observed playing a multi-threaded match, it is discussed somewhat in fishcooking. From the core file, it could be observed that the issue was in qsearch, namely: ```` ss->pv[0] = MOVE_NONE; ```` and the backtrace shows the it arrives there via razoring, called from the rootNode: ```` (gdb) bt alpha=-19, beta=682, depth=DEPTH_ZERO) at search.cpp:1247 ```` Indeed, ss->pv can indeed by a nullptr at the rootNode. However, why is the segfault so rare ? The reason is that the condition that guards razoring: ```` (depth < 2 * ONE_PLY && eval <= alpha - RazorMargin) ```` is almost never true, since at the root alpha for depth < 5 is -VALUE_INFINITE. Nevertheless with the new failHigh scheme, this is not guaranteed, and rootDepth > 5, can still result in a depth < 2 search at the rootNode. If now another thread, via the hash, writes a new low eval to the rootPos qsearch can be entered. Rare but not unseen... I assume that some of the crashes in fishtest recently might be due to this. Closes https://github.com/official-stockfish/Stockfish/pull/1860 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: Sun Dec 16 09:41:09 2018 +0100 Timestamp: 1544949669 Start a TT resize only after search finished. As noticed in the forum, a crash in extract_ponder_from_tt could result if hash size is set before the ponder move is printed. While it is arguably a GUI issue (but it got me on the cli), it is easy to avoid this issue. Closes https://github.com/official-stockfish/Stockfish/pull/1856 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: 31m059
Date: Sun Dec 16 09:32:37 2018 +0100 Timestamp: 1544949157 Remove Null Move Pruning material threshold On November 30th, @xoto10 experimented with removing this threshold, but the simplification barely failed LTC. I was inspired to try various [0, 4] tweaks to increase its value, which would narrow the effects of this threshold without removing it entirely. Various values repeatedly led to Elo gains at both STC and LTC, most of which were insufficient to pass. After a couple of weeks, I tried again to find an Elo-gaining tweak but noticed that I could raise the threshold higher and higher without regression. I decided to try removing it entirely--forgetting that @xoto10 had already attempted this. However, this now performs much better at both STC and LTC, producing a STC Elo gain and also potentially a smaller LTC one. The reason appears to be a recent change in master (e8ffca3) near this code, which interacts with this patch. This simplification governs the conditions under which that patch's effects are applied. Something non-obvious about that change has significantly improved the performance of this simplification. I recognize and thank @xoto10, who originally had this idea. Since I ran several LTCs recently (to determine whether to open this PR, or one for a related [0, 4]), I would also like to acknowledge the other developers and CPU donors for their patience. Thank you all! STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 13445 W: 3000 L: 2862 D: 7583 Elo +3.57 http://tests.stockfishchess.org/tests/view/5c11f01b0ebc5902ba11a6b8 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 33868 W: 5663 L: 5563 D: 22642 Elo +1.03 http://tests.stockfishchess.org/tests/view/5c11ffe90ebc5902ba11a8a9 Closes https://github.com/official-stockfish/Stockfish/pull/1870 Bench: 3343286 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: SFisGOD
Date: Thu Dec 13 13:35:35 2018 +0100 Timestamp: 1544704535 A combo of parameter tweaks Joint work by SFisGOD, xoroshiro and Chess13234. This combo consists of the following tweaks: Assorted bonuses and penalties by SFisGOD Bishop and Rook PSQT by SFisGOD Tempo Value by xoroshiro Futility pruning by Chess13234 STC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 9005 W: 2082 L: 1882 D: 5041 Elo +7.72 http://tests.stockfishchess.org/tests/view/5c11628c0ebc5902ba119e90 LTC: LLR: 2.95 (-2.94,2.94) [0.00,4.00] Total: 44207 W: 7451 L: 7157 D: 29599 Elo +2.31 http://tests.stockfishchess.org/tests/view/5c1172a40ebc5902ba119fa3 Bench: 3332460 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: Kurt
Date: Thu Dec 13 13:20:31 2018 +0100 Timestamp: 1544703631 Asymmetrical 8x8 Pawn PSQT STC: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 13323 W: 3015 L: 2818 D: 7490 Elo +5.14 http://tests.stockfishchess.org/tests/view/5c00a2520ebc5902bcedd41b LTC: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 52294 W: 9093 L: 8756 D:34445 http://tests.stockfishchess.org/tests/view/5c00b2c40ebc5902bcedd596 Some obvious followups to this are to further tune this PSQT, or try 8x8 for other pieces. As of now I don't plan on trying this for other pieces as I think the majority of the ELO it brings is for pawns and kings. Looking at the new values, the differences between kingside and queenside are quite significant. I am very hopeful that this a llows SF to understand and plan pawn structures even better than it already does. Cheers! Closes https://github.com/official-stockfish/Stockfish/pull/1839 Bench: 3569243 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 Dec 11 13:47:56 2018 +0100 Timestamp: 1544532476 Changes identified in RENAME/REFORMATTING thread (#1861) I've gone through the RENAME/REFORMATTING thread and changed everything I could find, plus a few more. With this, let's close the previous issue and open another. 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: Sun Dec 9 13:11:13 2018 +0100 Timestamp: 1544357473 Tweak CMH pruning STC: (yellow) LLR: -2.94 (-2.94,2.94) [0.00,5.00] Total: 48919 W: 10625 L: 10517 D: 27777 Elo +0.77 http://tests.stockfishchess.org/tests/view/5c07e6a20ebc5902bcee7395 LTC: LLR: 2.96 (-2.94,2.94) [0.00,5.00] Total: 50360 W: 8424 L: 8102 D: 33834 Elo +2.22 http://tests.stockfishchess.org/tests/view/5c0812450ebc5902bcee76f4 Bench: 3775064 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: Sun Dec 9 12:59:57 2018 +0100 Timestamp: 1544356797 remove extra line. 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: Sun Dec 9 12:59:57 2018 +0100 Timestamp: 1544356797 remove parenthesis. 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: Sun Dec 9 12:59:57 2018 +0100 Timestamp: 1544356797 add paren. 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: Sun Dec 9 12:59:57 2018 +0100 Timestamp: 1544356797 simplify opposite_colors 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: Thu Dec 6 15:04:04 2018 +0100 Timestamp: 1544105044 Revert "pseudo_legal() and MOVE_NONE" This reverts commit 33d95482182e459eb033de47a31f142880aa9afb , which crashed in DEBUG mode because of the following assert in position.h ```` Assertion failed: (is_ok(m)), function capture, file ./position.h, line 369. ```` 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: Thu Dec 6 14:40:08 2018 +0100 Timestamp: 1544103608 Simplify Killer Move Penalty STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 20816 W: 4525 L: 4402 D: 11889 Elo +2.05 http://tests.stockfishchess.org/tests/view/5c017cb90ebc5902bcede5b4 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 39287 W: 6401 L: 6309 D: 26577 Elo +0.81 http://tests.stockfishchess.org/tests/view/5c01825e0ebc5902bcede686 Bench: 3773021 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: xoto10
Date: Thu Dec 6 14:08:39 2018 +0100 Timestamp: 1544101719 Simplify time manager in search() Remove the F[] array which I find unhelpful and rename `improvingFactor` to `fallingEval` since larger values indicate a falling eval and more time use. I realise a test was not strictly necessary, but I ran STC [-3,1] just to check there are no foolish errors before creating the pull request: STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 35804 W: 7753 L: 7659 D: 20392 Elo +0.91 http://tests.stockfishchess.org/tests/view/5bef3a0c0ebc595e0ae39c19 It was then suggested to clean the constants around `fallingEval` to make it more clear this is a factor around ~1 that adjusts time up or downwards depending on some conditions. We then ran a double test with this simplification suggestion: STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 68435 W: 14936 L: 14906 D: 38593 Elo +0.15 http://tests.stockfishchess.org/tests/view/5c02c56b0ebc5902bcee0184 LTC: LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 37258 W: 6324 L: 6230 D: 24704 Elo +0.88 http://tests.stockfishchess.org/tests/view/5c030a520ebc5902bcee0a32 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: Thu Dec 6 14:02:29 2018 +0100 Timestamp: 1544101349 pseudo_legal() and MOVE_NONE MOVE_NONE is represented as SQ_A1 to SQ_A1 which is never pseudo_legal. STC LLR: 2.95 (-2.94,2.94) [-3.00,1.00] Total: 38807 W: 8363 L: 8275 D: 22169 Elo +0.79 http://tests.stockfishchess.org/tests/view/5c05f11d0ebc5902bcee4c86 No functional change see source |