Fabian Fichter [Fri, 8 Mar 2019 21:43:44 +0000]
Merge official-stockfish/master
bench: 3428840
Fabian Fichter [Wed, 6 Mar 2019 20:47:20 +0000]
Tweak shatranj piece values
shatranj STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 980 W: 170 L: 104 D: 706
http://35.161.250.236:6543/tests/view/
5c7ec32b6e23db07348e8774
shatranj LTC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 918 W: 134 L: 71 D: 713
http://35.161.250.236:6543/tests/view/
5c7ed6e76e23db07348e8777
Fabian Fichter [Mon, 4 Mar 2019 19:22:44 +0000]
Implement sittuyin stalemate rule (#14)
Taking a promotion to avoid stalemate is optional (rule 3.9 c.7).
Example:
setoption name multipv value 20
setoption name UCI_Variant value sittuyin
position fen k5PK/3r4/8/8/8/8/8/8 b - - 0 1
go depth 1
No functional change for other variants.
Fabian Fichter [Mon, 4 Mar 2019 19:54:56 +0000]
Fix detection of optional game end
No functional change for variants without counting rules.
Fabian Fichter [Sat, 2 Mar 2019 21:02:14 +0000]
Tweak shogi piece values
shogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 918 W: 504 L: 390 D: 24
Fabian Fichter [Sat, 2 Mar 2019 13:49:49 +0000]
Merge official-stockfish/master
bench: 3253645
Fabian Fichter [Sat, 2 Mar 2019 10:07:32 +0000]
Merge official-stockfish/master
bench: 3334755
Fabian Fichter [Fri, 1 Mar 2019 22:59:03 +0000]
Extend endgame evaluation for fairy pieces
Fabian Fichter [Fri, 1 Mar 2019 18:39:49 +0000]
Generalize passed pawn evaluation
losalamos
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 140 W: 56 L: 13 D: 71
ai-wok
LLR: 3.04 (-2.94,2.94) [-10.00,5.00]
Total: 194 W: 112 L: 53 D: 29
Fabian Fichter [Sat, 23 Feb 2019 13:50:16 +0000]
Merge official-stockfish/master
bench: 4439882
Fabian Fichter [Sat, 23 Feb 2019 09:32:43 +0000]
Fix PSQT color symmetry for non-standard board sizes
minishogi
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 584 W: 324 L: 259 D: 1
shogi
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 680 W: 363 L: 301 D: 16
Fabian Fichter [Sat, 23 Feb 2019 09:31:40 +0000]
Update readme
Fabian Fichter [Fri, 22 Feb 2019 20:05:59 +0000]
Tweak NMP depth for racing kings
racingkings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2269 W: 812 L: 706 D: 751
http://35.161.250.236:6543/tests/view/
5c6daf426e23db07348e86e3
racingkings LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3534 W: 1201 L: 1081 D: 1252
http://35.161.250.236:6543/tests/view/
5c6dce286e23db07348e86ec
Fabian Fichter [Wed, 20 Feb 2019 21:50:33 +0000]
Fix placement chess in large-board version
Fabian Fichter [Sun, 17 Feb 2019 13:23:28 +0000]
Support microshogi
https://en.wikipedia.org/wiki/Micro_shogi
No functional change for other variants.
Fabian Fichter [Sun, 17 Feb 2019 12:34:56 +0000]
Tweak piece values for drop games
Decrease value of strong pieces for drop games and games where checks are prohibited.
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1687 W: 883 L: 759 D: 45
http://35.161.250.236:6543/tests/view/
5c6723ee6e23db07348e86aa
crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1096 W: 586 L: 471 D: 39
http://35.161.250.236:6543/tests/view/
5c6745716e23db07348e86af
racingkings STC
LLR: 7.35 (-2.94,2.94) [0.00,10.00]
Total: 17215 W: 6182 L: 5762 D: 5271
http://35.161.250.236:6543/tests/view/
5c6724056e23db07348e86ad
racingkings LTC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1634 W: 527 L: 487 D: 620
http://35.161.250.236:6543/tests/view/
5c67d4776e23db07348e86b5
shogi
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1066 W: 548 L: 488 D: 30
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 1126 W: 591 L: 531 D: 4
Fabian Fichter [Sun, 10 Feb 2019 20:03:06 +0000]
Simplify evaluation of passed shogi pawns
shogi
LLR: 1.60 (-2.94,2.94) [-10.00,5.00]
Total: 1000 W: 502 L: 473 D: 25
Fabian Fichter [Sun, 10 Feb 2019 19:48:24 +0000]
Tweak king danger for fairy pieces
minishogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 1390 W: 753 L: 630 D: 7
asean
LLR: 3.01 (-2.94,2.94) [-10.00,5.00]
Total: 684 W: 151 L: 111 D: 422
Fabian Fichter [Sun, 10 Feb 2019 10:11:49 +0000]
Fix threat evaluation for shogi pawns
Fabian Fichter [Sat, 9 Feb 2019 23:52:13 +0000]
Merge official-stockfish/master
bench: 4592402
Fabian Fichter [Sat, 9 Feb 2019 23:44:47 +0000]
Merge official-stockfish/master
bench: 4915605
Fabian Fichter [Sat, 9 Feb 2019 23:39:54 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:26:41 +0000]
Merge official-stockfish/master
bench: 4691733
Fabian Fichter [Sat, 9 Feb 2019 23:22:15 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 22:23:57 +0000]
Improve generalization of castling
No functional change.
Fabian Fichter [Sat, 9 Feb 2019 17:28:16 +0000]
Merge official-stockfish/master
bench: 5031310
Fabian Fichter [Sat, 9 Feb 2019 17:13:35 +0000]
Merge official-stockfish/master
bench: 4633927
Fabian Fichter [Sat, 9 Feb 2019 16:58:41 +0000]
Merge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 14:21:00 +0000]
Simplify connection bonus
connect4
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 204 W: 108 L: 53 D: 43
Fabian Fichter [Fri, 8 Feb 2019 22:53:36 +0000]
Decrease king evaluation divisor for shogi variants
euroshogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 250 W: 156 L: 90 D: 4
minishogi
LLR: 3.31 (-2.94,2.94) [-10.00,5.00]
Total: 500 W: 286 L: 213 D: 1
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 506 W: 281 L: 217 D: 8
Fabian Fichter [Fri, 8 Feb 2019 18:07:49 +0000]
Skip king protector bonus when there is no king
Fabian Fichter [Thu, 7 Feb 2019 23:24:50 +0000]
Rewrite evaluation of shogi pawns
Handle shogi pawns similar to pawns, different from other pieces.
Speeds up evaluation and allows improving evaluation of passed shogi pawns.
shogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 596 W: 322 L: 259 D: 15
euroshogi
LLR: 3.01 (-2.94,2.94) [-10.00,5.00]
Total: 530 W: 285 L: 222 D: 23
minishogi
LLR: -0.12 (-2.94,2.94) [-10.00,5.00]
Total: 1000 W: 493 L: 503 D: 4
No functional change for non-shogi variants.
Fabian Fichter [Thu, 7 Feb 2019 22:19:45 +0000]
Fix msb calculation for large-board version
A bug in the calculation of the most significant bit
caused undefined behavior in the king safety evaluation.
The fix significantly improves playing strength of the large-board version:
chess
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 100 W: 72 L: 15 D: 13
capablanca
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 82 W: 62 L: 8 D: 12
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 256 W: 157 L: 92 D: 7
No functional change for normal version.
Fabian Fichter [Wed, 6 Feb 2019 21:58:26 +0000]
Merge official-stockfish/master
bench: 4766195
Fabian Fichter [Wed, 6 Feb 2019 20:56:33 +0000]
Decrease king danger for drop variants
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3167 W: 1606 L: 1461 D: 100
http://35.161.250.236:6543/tests/view/
5c4c3cac6e23db07348e860b
crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 7620 W: 3785 L: 3576 D: 259
http://35.161.250.236:6543/tests/view/
5c4f6a756e23db07348e8615
shogi
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 828 W: 435 L: 374 D: 19
minishogi
LLR: 2.53 (-2.94,2.94) [-10.00,5.00]
Total: 2000 W: 1018 L: 974 D: 8
Fabian Fichter [Mon, 4 Feb 2019 21:40:57 +0000]
Endgame evaluation for fairy pieces
No functional change for standard chess.
Fabian Fichter [Mon, 4 Feb 2019 21:20:42 +0000]
Tweak mobility bonus for fairy pieces
ai-wok
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 550 W: 247 L: 193 D: 110
courier
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1388 W: 349 L: 311 D: 728
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 3490 W: 1761 L: 1718 D: 11
Fabian Fichter [Thu, 31 Jan 2019 20:14:47 +0000]
Speed-up pseudo-legal move validation of drops
Improves performance by ~10% for drop variants.
Fabian Fichter [Thu, 31 Jan 2019 22:15:54 +0000]
Speed up slider blockers calculation
Improves speed by >10%.
No functional change.
Fabian Fichter [Thu, 31 Jan 2019 22:13:20 +0000]
Small speed-up in check detection
Since pieces can not give check against own king.
No functional change.
Fabian Fichter [Sun, 27 Jan 2019 16:46:48 +0000]
Support counting rules
Counting rules are used for south-east asian chess variants:
- Makruk
- ASEAN
- Sittuyin
Standard FENs and (cutechess-style) FENs including counting rules are both supported.
Fabian Fichter [Sat, 26 Jan 2019 09:54:25 +0000]
Disable futility pruning for racing kings
racingkings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 350 W: 163 L: 81 D: 106
http://35.161.250.236:6543/tests/view/
5c4b86806e23db07348e8601
racingkings LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 391 W: 174 L: 92 D: 125
http://35.161.250.236:6543/tests/view/
5c4b97676e23db07348e8609
Fabian Fichter [Thu, 24 Jan 2019 19:59:16 +0000]
Tweak king danger for nCheck chess
3check STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 523 W: 295 L: 192 D: 36
http://35.161.250.236:6543/tests/view/
5c478ad56e23db07348e85f0
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 795 W: 418 L: 312 D: 65
http://35.161.250.236:6543/tests/view/
5c487f756e23db07348e85f3
Fabian Fichter [Fri, 18 Jan 2019 19:47:51 +0000]
Increase king danger without queen for nCheck
3check STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 5565 W: 2630 L: 2456 D: 479
http://35.161.250.236:6543/tests/view/
5c3d027e6e23db07348e85b8
3check LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 6185 W: 2922 L: 2739 D: 524
http://35.161.250.236:6543/tests/view/
5c3ed2d66e23db07348e85c2
Fabian Fichter [Fri, 18 Jan 2019 19:46:15 +0000]
Double safe check bonus for nCheck chess
3check STC
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1944 W: 961 L: 838 D: 145
http://35.161.250.236:6543/tests/view/
5c39dfb76e23db07348e85ac
3check LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1953 W: 951 L: 829 D: 173
http://35.161.250.236:6543/tests/view/
5c39fb726e23db07348e85ae
Fabian Fichter [Sat, 12 Jan 2019 18:31:11 +0000]
Add synonym for minishogi
Fabian Fichter [Sat, 12 Jan 2019 18:18:45 +0000]
Support prohibition of perpetual check
Completes the rule implementation of shogi variants.
Fabian Fichter [Sat, 12 Jan 2019 17:48:31 +0000]
Refactor game end detection
Support customization of n-fold repetition and n-move rule.
- Fix fourfold rule for minishogi and other shogi variants.
- Adjust n-move rule to 70 for shatranj.
- Disable n-move rule for makruk and shogi variants.
Fabian Fichter [Sat, 12 Jan 2019 14:39:03 +0000]
Expliclity set pocket size for minishogi
For better compatility with XBoard/WinBoard.
No functional change.
Fabian Fichter [Thu, 3 Jan 2019 22:22:45 +0000]
Simplify king danger for non-standard board sizes
Turns out to be a big improvement for small board sizes.
losalamos
LLR: 3.06 (-2.94,2.94) [-10.00,5.00]
Total: 56 W: 50 L: 1 D: 5
minishogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 104 W: 84 L: 18 D: 2
Fabian Fichter [Thu, 3 Jan 2019 21:45:50 +0000]
Improve generalization to non-standard board sizes
Remove assumptions about 8x8 board size from evaluation code.
losalamos
LLR: 3.02 (-2.94,2.94) [-10.00,5.00]
Total: 152 W: 83 L: 30 D: 39
capablanca
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 362 W: 180 L: 123 D: 59
minishogi
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 288 W: 163 L: 102 D: 23
Fabian Fichter [Thu, 3 Jan 2019 21:33:10 +0000]
Bonus for promoted pieces in drop variants
Since they demote when being captured, promoted pieces
are more valuable than the promotion piece type itself.
minishogi
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 666 W: 375 L: 266 D: 25
shogi
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 1020 W: 529 L: 469 D: 22
Fabian Fichter [Wed, 2 Jan 2019 13:55:23 +0000]
Revert regressive minishogi patch
Further testing indicates that the initial test results were flawed.
minishogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 806 W: 437 L: 327 D: 42
Fabian Fichter [Tue, 1 Jan 2019 17:13:56 +0000]
Stalemate is a win in shogi variants
Fix evaluation of stalemate positions.
Fabian Fichter [Tue, 1 Jan 2019 15:53:55 +0000]
Use a generic PSQT for fairy pieces
Give a bonus for squares closer to the center of the board.
shogi
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1068 W: 578 L: 462 D: 28
minishogi
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1098 W: 577 L: 464 D: 57
courier
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 396 W: 137 L: 65 D: 194
giveaway STC
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 2177 W: 863 L: 822 D: 492
http://35.161.250.236:6543/tests/view/
5c2a44ad6e23db2472895687
extinction STC (failed)
LLR: -2.96 (-2.94,2.94) [-10.00,5.00]
Total: 1002 W: 436 L: 508 D: 58
http://35.161.250.236:6543/tests/view/
5c2a44bf6e23db2472895689
shatranj STC (failed)
LLR: -3.00 (-2.94,2.94) [-10.00,5.00]
Total: 1891 W: 242 L: 289 D: 1360
Fabian Fichter [Tue, 1 Jan 2019 15:50:11 +0000]
Consider board size in time management
Also adjust for variants with mandatory captures.
courier 5+0
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 302 W: 161 L: 74 D: 67
shogi 5+0
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 1064 W: 570 L: 455 D: 39
minishogi 5+0
LLR: 2.99 (-2.94,2.94) [0.00,10.00]
Total: 1362 W: 702 L: 584 D: 76
giveaway 10+0
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1019 W: 437 L: 340 D: 242
http://35.161.250.236:6543/tests/view/
5c2a423f6e23db2472895682
giveaway 10+0.1
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1655 W: 691 L: 585 D: 379
http://35.161.250.236:6543/tests/view/
5c2a41a46e23db247289567b
losers 10+0
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1030 W: 520 L: 412 D: 98
http://35.161.250.236:6543/tests/view/
5c2a42356e23db2472895680
losers 10+0.1
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1004 W: 496 L: 390 D: 118
http://35.161.250.236:6543/tests/view/
5c2a41cd6e23db247289567e
Fabian Fichter [Tue, 1 Jan 2019 15:43:30 +0000]
Further reduce king danger divisor for shogi variants
shogi
LLR: 2.99 (-2.94,2.94) [0.00,10.00]
Total: 1018 W: 544 L: 430 D: 44
minishogi
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 470 W: 281 L: 175 D: 14
protonspring [Tue, 1 Jan 2019 12:36:56 +0000]
Remove "Any" predicate filter (#1914)
This custom predicate filter creates an unnecessary abstraction layer, but doesn't make the code any more readable. The code is clear enough without it.
No functional change.
protonspring [Tue, 1 Jan 2019 12:35:53 +0000]
Remove as useless micro-optimization in pawns generation (#1915)
The extra condition is used as a shortcut to skip the following 3 assignments:
```C++
Bitboard b1 = shift<UpRight>(pawnsOn7) & enemies;
Bitboard b2 = shift<UpLeft >(pawnsOn7) & enemies;
Bitboard b3 = shift<Up >(pawnsOn7) & emptySquares;
```
In case of EVASION with no target on 8th rank (the common case), we end up performing the 3 statements for nothing because b1 = b2 = b3 = 0.
But this is just a small micro-optimization and the condition is quite confusing, so just remove it and prefer a readable code instead.
STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 78020 W: 16978 L: 16967 D: 44075
http://tests.stockfishchess.org/tests/view/
5c27b4fe0ebc5902ba135bb0
No functional change.
Fabian Fichter [Mon, 31 Dec 2018 14:03:12 +0000]
Decrease king danger divisor for shogi variants
shogi
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 1050 W: 533 L: 474 D: 43
minishogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 3236 W: 1544 L: 1502 D: 190
euroshogi
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 808 W: 415 L: 355 D: 38
Fabian Fichter [Fri, 28 Dec 2018 17:17:01 +0000]
Refactor PSQ score calculation
Functional change, since the PSQT bonus is no longer divided
together with the piece value, but kept as is.
crazyhouse STC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 279 W: 164 L: 101 D: 14
http://35.161.250.236:6543/tests/view/
5c265b4e6e23db247289564d
crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 372 W: 210 L: 147 D: 15
http://35.161.250.236:6543/tests/view/
5c2665936e23db2472895651
giveaway STC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1353 W: 577 L: 528 D: 248
http://35.161.250.236:6543/tests/view/
5c267e5a6e23db247289565c
giveaway LTC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 286 W: 143 L: 88 D: 55
http://35.161.250.236:6543/tests/view/
5c26aa0c6e23db2472895663
losers STC (failed)
LLR: -2.96 (-2.94,2.94) [-10.00,5.00]
Total: 1453 W: 610 L: 682 D: 161
http://35.161.250.236:6543/tests/view/
5c267e676e23db247289565e
losers LTC (failed)
LLR: -2.98 (-2.94,2.94) [-10.00,5.00]
Total: 910 W: 366 L: 434 D: 110
http://35.161.250.236:6543/tests/view/
5c273d4c6e23db247289566c
racingkings STC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 2150 W: 760 L: 721 D: 669
http://35.161.250.236:6543/tests/view/
5c266aba6e23db2472895657
racingkings LTC
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 1506 W: 523 L: 481 D: 502
http://35.161.250.236:6543/tests/view/
5c2738616e23db2472895669
erbsenzaehler [Sat, 29 Dec 2018 10:49:10 +0000]
Improve the Readme
I tried to improve the Readme because many people in my local
chess club do not understand some of the UCO options properly.
Starting point of this was Cfish's Readme by Ronald de Man,
some internet resources and the Stockfish code itself.
Closes https://github.com/official-stockfish/Stockfish/pull/1898
Initial commit by user @erbsenzaehler, with help from users
Adrian Petrescu, @alayan-stk-2 and Elvin Liu.
No functional change
Co-Authored-By: Alayan-stk-2 <alayan-stk-2@users.noreply.github.com>
Co-Authored-By: Adrian Petrescu <apetresc@gmail.com>
Co-Authored-By: Elvin Liu <solarlight2@users.noreply.github.com>
Fabian Fichter [Fri, 28 Dec 2018 13:20:37 +0000]
Re-initialize PSQTs for each variant
This allows to consider the board size of the variant when initializing
the PSQTs, which fixes some issues with non-standard board sizes,
and reduces the differences between the normal and the large-board version.
No functional change for 8x8 variants.
31m059 [Thu, 27 Dec 2018 06:51:43 +0000]
Always initialize and evaluate king safety
Recent tests by @xoto10, @Vizvezdenec, and myself seemed to hint that Elo could
be gained by expanding the number of cases where king safety is applied. Several
users (@Spliffjiffer, @Vizvezdenec) have anticipated benefits specifically in
evaluation of tactics. It appears that we actually do not need to restrict the
cases in which we initialize and evaluate king safety at all: initializing and
evaluating it in every position appears roughly Elo-neutral at STC and possibly
a substantial Elo gain at LTC.
Any explanation for this scaling is, at this point, conjecture. Assuming it is
not due to chance, my hypothesis is that initialization of king safety in all
positions is a mild slowdown, offset by an Elo gain of evaluating king safety
in all positions. At STC this produces Elo gains and losses that offset each
other, while at longer time control the slowdown is much less important, leaving
only the Elo gain. It probably helps SF to explore king attacks much earlier in
search with high numbers of enemy pieces concentrating but not essentially attacking
king ring.
Thanks to @xoto10 and @Vizvezdenec for helping run my LTC!
Closes https://github.com/official-stockfish/Stockfish/pull/1906
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 35432 W: 7815 L: 7721 D: 19896
http://tests.stockfishchess.org/tests/view/
5c24779d0ebc5902ba131b26
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 12887 W: 2217 L: 2084 D: 8586
http://tests.stockfishchess.org/tests/view/
5c25049a0ebc5902ba132586
Bench: 3163951
------------------
How to continue from there?
* Next step will be to tune all the king danger terms once more after that :-)
Fabian Fichter [Thu, 27 Dec 2018 18:07:43 +0000]
Disable null move pruning for horde chess
horde STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 2289 W: 1212 L: 1076 D: 1
http://35.161.250.236:6543/tests/view/
5c249b6d6e23db2472895633
horde LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 863 W: 488 L: 373 D: 2
http://35.161.250.236:6543/tests/view/
5c24b2ea6e23db2472895639
giveaway STC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 1213 W: 398 L: 356 D: 459
http://35.161.250.236:6543/tests/view/
5c249ba06e23db2472895636
giveaway LTC
LLR: 2.99 (-2.94,2.94) [-10.00,5.00]
Total: 801 W: 268 L: 223 D: 310
http://35.161.250.236:6543/tests/view/
5c24d7466e23db247289563c
Fabian Fichter [Sat, 1 Sep 2018 09:19:36 +0000]
Enable shallow depth pruning for horde chess
horde STC
LLR: 3.36 (-2.94,2.94) [0.00,10.00]
Total: 517 W: 320 L: 196 D: 1
http://35.161.250.236:6543/tests/view/
5c2286ad6e23db247289560e
horde LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 321 W: 213 L: 106 D: 2
http://35.161.250.236:6543/tests/view/
5c22a79f6e23db2472895618
giveaway STC
LLR: 3.00 (-2.94,2.94) [-10.00,5.00]
Total: 5940 W: 1928 L: 1914 D: 2098
http://35.161.250.236:6543/tests/view/
5c22a7dc6e23db247289561c
giveaway LTC
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 4212 W: 1345 L: 1321 D: 1546
http://35.161.250.236:6543/tests/view/
5c22aa416e23db2472895622
Fabian Fichter [Thu, 27 Dec 2018 10:41:08 +0000]
Tweak space bonus for horde chess
horde STC
LLR: 0.00 (-2.94,2.94) [0.00,10.00]
Total: 2000 W: 1812 L: 188 D: 0
http://35.161.250.236:6543/tests/view/
5c2287cb6e23db2472895614
horde LTC
LLR: 42.35 (-2.94,2.94) [0.00,10.00]
Total: 1865 W: 1680 L: 184 D: 1
http://35.161.250.236:6543/tests/view/
5c22a7b86e23db247289561a
giveaway STC
LLR: -2.96 (-2.94,2.94) [-10.00,5.00]
Total: 6022 W: 1965 L: 2055 D: 2002
http://35.161.250.236:6543/tests/view/
5c22aa246e23db2472895620
giveaway LTC
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 1264 W: 410 L: 368 D: 486
http://35.161.250.236:6543/tests/view/
5c22a7f36e23db247289561e
Fabian Fichter [Thu, 27 Dec 2018 09:38:52 +0000]
Rename judkins shogi variant name
Fabian Fichter [Wed, 26 Dec 2018 18:22:29 +0000]
Remove redundant check
No functional change.
Fabian Fichter [Wed, 26 Dec 2018 18:17:05 +0000]
Rewrite king danger of pieces in hand
Evaluate pieces in hand analogously to pieces on the board.
crazyhouse STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1774 W: 936 L: 809 D: 29
http://35.161.250.236:6543/tests/view/
5c2382e16e23db2472895629
crazyhouse LTC
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 1041 W: 572 L: 456 D: 13
http://35.161.250.236:6543/tests/view/
5c239b2c6e23db247289562c
minishogi
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 526 W: 303 L: 197 D: 26
shogi
LLR: 3.02 (-2.94,2.94) [-10.00,5.00]
Total: 1812 W: 892 L: 838 D: 82
Fabian Fichter [Wed, 26 Dec 2018 12:58:29 +0000]
Evaluate mobility of pieces in hand
shogi
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 740 W: 416 L: 305 D: 19
minishogi
LLR: 2.99 (-2.94,2.94) [0.00,10.00]
Total: 660 W: 363 L: 256 D: 41
crazyhouse STC
LLR: -2.96 (-2.94,2.94) [-10.00,5.00]
Total: 8643 W: 4154 L: 4283 D: 206
http://35.161.250.236:6543/tests/view/
5c16665f6e23db24728955a2
crazyhouse LTC
LLR: -2.97 (-2.94,2.94) [-10.00,5.00]
Total: 5977 W: 2855 L: 2965 D: 157
http://35.161.250.236:6543/tests/view/
5c16d1616e23db24728955ac
Fabian Fichter [Wed, 26 Dec 2018 12:55:15 +0000]
Tweak IID search depth for drop variants
crazyhouse STC
LLR: -2.95 (-2.94,2.94) [0.00,10.00]
Total: 24753 W: 12186 L: 11930 D: 637
http://35.161.250.236:6543/tests/view/
5c1be4b96e23db24728955e0
crazyhouse LTC
LLR: -2.97 (-2.94,2.94) [0.00,10.00]
Total: 12175 W: 5928 L: 5853 D: 394
http://35.161.250.236:6543/tests/view/
5c1bfc826e23db24728955e6
Fabian Fichter [Mon, 24 Dec 2018 14:03:58 +0000]
Increase connectivity bonus for drop variants
crazyhouse STC
LLR: -2.97 (-2.94,2.94) [0.00,10.00]
Total: 6655 W: 3246 L: 3251 D: 158
http://35.161.250.236:6543/tests/view/
5c1bb69c6e23db24728955d7
crazyhouse LTC
LLR: -2.95 (-2.94,2.94) [0.00,10.00]
Total: 8857 W: 4309 L: 4281 D: 267
http://35.161.250.236:6543/tests/view/
5c1bc8f56e23db24728955de
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 2160 W: 1067 L: 1016 D: 77
http://35.161.250.236:6543/tests/view/
5c216fdf6e23db247289560b
shogi
LLR: 1.41 (-2.94,2.94) [0.00,10.00]
Total: 2219 W: 1106 L: 1027 D: 86
minishogi
LLR: 0.04 (-2.94,2.94) [0.00,10.00]
Total: 5000 W: 2362 L: 2289 D: 349
noobpwnftw [Mon, 24 Dec 2018 10:24:29 +0000]
Simplify SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX loop (#1892)
When iterating through 'SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX' structure, do not use structure member beyond known size.
API is guaranteed to provide us at lease one element upon successful, and no element in the structure can have a zero size.
No functional change.
noobpwnftw [Sat, 22 Dec 2018 17:05:13 +0000]
Fix crash in best_group() (#1891)
This pull request fixes a rare crashing bug on Windows inside our NUMA code, first
reported by Dann Corbit in the following forum thread (thanks!):
https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/gA6aoMEuOwg
The fix is to not use structure member beyond known size when iterating through
'SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX' structure. We note that the Microsoft
API is guaranteed to provide us at least one element upon successful, and no
element in the structure can have a zero size.
No functional change.
Joost VandeVondele [Wed, 19 Dec 2018 20:04:36 +0000]
Extend stack to ss-5, and remove conditions
The `&& (ss-1)->killers[0] ` conditions are there seemingly to protect
accessing ss-5.
This is unneeded and not so intuitive (as the killer is checked for equality
with currentMove, and that one is non-zero once we're high enough in the stack,
this protects access to ss-5). We can just extend the stack from ss-4 to ss-5,
so we can call update_continuation_histories(ss-1, ..) always in search.
This goes a bit further than #1881 and addresses a comment in #1878.
passed STC:
http://tests.stockfishchess.org/tests/view/
5c1aa8d50ebc5902ba127ad0
LLR: 3.12 (-2.94,2.94) [-3.00,1.00]
Total: 53515 W: 11734 L: 11666 D: 30115
passed LTC:
http://tests.stockfishchess.org/tests/view/
5c1b272c0ebc5902ba12858d
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 140176 W: 23123 L: 23192 D: 93861
Bench: 3451321
protonspring [Mon, 17 Dec 2018 17:25:25 +0000]
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
erbsenzaehler [Sun, 23 Dec 2018 17:17:44 +0000]
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
Fabian Fichter [Sun, 23 Dec 2018 17:10:32 +0000]
Update variant list in readme
Fabian Fichter [Sun, 23 Dec 2018 13:45:46 +0000]
Support kyoto shogi
https://en.wikipedia.org/wiki/Kyoto_shogi
Added features:
- Piece demotion
- Dropping pieces in promoted state
Repeating unchanged bench here to fix CI.
bench: 5141418
Fabian Fichter [Sun, 23 Dec 2018 15:46:58 +0000]
Add large-board variants to perft testing
mstembera [Sun, 23 Dec 2018 15:10:07 +0000]
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.
mstembera [Sun, 23 Dec 2018 15:09:03 +0000]
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.
protonspring [Sun, 23 Dec 2018 15:05:24 +0000]
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.
Fabian Fichter [Sat, 22 Dec 2018 15:14:59 +0000]
Support goro goro shogi
https://en.wikipedia.org/wiki/D%C5%8Dbutsu_sh%C5%8Dgi#Variation
Fabian Fichter [Fri, 21 Dec 2018 07:29:39 +0000]
Fix starting position of dobutsu shogi
Fabian Fichter [Thu, 20 Dec 2018 15:55:37 +0000]
Disable probcut for clobber
clobber
ELO: 32.05 +-21.6 (95%) LOS: 99.8%
Total: 1000 W: 546 L: 454 D: 0
Fabian Fichter [Thu, 20 Dec 2018 15:50:36 +0000]
Disable NMP for breakthrough and clobber
breakthrough
ELO: 29.25 +-30.6 (95%) LOS: 97.0%
Total: 500 W: 271 L: 229 D: 0
clobber
ELO: 64.66 +-31.0 (95%) LOS: 100.0%
Total: 500 W: 296 L: 204 D: 0
Fabian Fichter [Sat, 15 Dec 2018 18:08:33 +0000]
Consider checks by pawn drops in king danger
crazyhouse STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 5743 W: 2882 L: 2699 D: 162
http://35.161.250.236:6543/tests/view/
5c15435c6e23db7639060cf5
crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 4798 W: 2401 L: 2233 D: 164
http://35.161.250.236:6543/tests/view/
5c1969046e23db24728955c6
Fabian Fichter [Tue, 18 Dec 2018 22:09:31 +0000]
Unlimited mobility area for losing chess variants
losers STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1778 W: 818 L: 703 D: 257
http://35.161.250.236:6543/tests/view/
5c1971166e23db24728955cb
giveaway STC
LLR: -2.98 (-2.94,2.94) [0.00,10.00]
Total: 19458 W: 6544 L: 6373 D: 6541
http://35.161.250.236:6543/tests/view/
5c1970fc6e23db24728955c8
protonspring [Sat, 8 Dec 2018 17:08:59 +0000]
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
Fabian Fichter [Tue, 18 Dec 2018 20:09:16 +0000]
Tweak isolated pawn penalty for losing chess variants
giveaway STC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 1699 W: 626 L: 526 D: 547
http://35.161.250.236:6543/tests/view/
5c1954786e23db24728955bb
losers STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 4610 W: 2045 L: 1890 D: 675
http://35.161.250.236:6543/tests/view/
5c1954b76e23db24728955be
Fabian Fichter [Tue, 18 Dec 2018 20:06:21 +0000]
Tweak endgame PSQ score for losers chess
losers STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 450 W: 262 L: 159 D: 29
http://35.161.250.236:6543/tests/view/
5c1954486e23db24728955b9
losers LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 345 W: 209 L: 109 D: 27
http://35.161.250.236:6543/tests/view/
5c197ea96e23db24728955cd
Fabian Fichter [Tue, 18 Dec 2018 23:41:24 +0000]
Decrease passed pawn bonus for antichess variants
giveaway STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 343 W: 166 L: 82 D: 95
http://35.161.250.236:6543/tests/view/
5c1792fc6e23db24728955ae
giveaway LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 555 W: 219 L: 137 D: 199
http://35.161.250.236:6543/tests/view/
5c1950cb6e23db24728955b4
Fabian Fichter [Tue, 18 Dec 2018 21:33:04 +0000]
Tweak threat evaluation for antichess variants
giveaway STC
LLR: 2.98 (-2.94,2.94) [0.00,10.00]
Total: 921 W: 372 L: 280 D: 269
http://35.161.250.236:6543/tests/view/
5c1666936e23db24728955a5
losers STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1753 W: 826 L: 710 D: 217
http://35.161.250.236:6543/tests/view/
5c1666a66e23db24728955a8
Guenther Demetz [Tue, 18 Dec 2018 07:05:09 +0000]
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
mstembera [Tue, 18 Dec 2018 07:50:57 +0000]
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
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
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
http://tests.stockfishchess.org/tests/view/
5c16f07a0ebc5902ba122a20
Closes https://github.com/official-stockfish/Stockfish/pull/1876
No functional change (in simple thread mode)
31m059 [Sat, 15 Dec 2018 06:55:25 +0000]
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
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
http://tests.stockfishchess.org/tests/view/
5c14ae880ebc5902ba11eed8
Bench: 3646542
Alain SAVARD [Sat, 15 Dec 2018 17:09:35 +0000]
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
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.
Joost VandeVondele [Sun, 16 Dec 2018 08:51:29 +0000]
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