fairystockfish.git
6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 6 Jul 2019 11:15:04 +0000]
Merge official-stockfish/master

bench: 3655793

6 years agoRedefine game phase for drop games
Fabian Fichter [Sat, 6 Jul 2019 10:22:06 +0000]
Redefine game phase for drop games

crazyhouse STC
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 2070 W: 1033 L: 981 D: 56
http://35.161.250.236:6543/tests/view/5d1f37226e23db34f4206c75

crazyhouse LTC
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 1346 W: 680 L: 623 D: 43
http://35.161.250.236:6543/tests/view/5d1f665c6e23db34f4206c78

6 years agoTweak evaluation for drop games
Fabian Fichter [Fri, 5 Jul 2019 11:34:31 +0000]
Tweak evaluation for drop games

crazyhouse STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2276 W: 1175 L: 1042 D: 59
http://35.161.250.236:6543/tests/view/5d1d02f46e23db34f4206c70

crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 4642 W: 2320 L: 2154 D: 168
http://35.161.250.236:6543/tests/view/5d1d967c6e23db34f4206c73

6 years agoSupport gothic chess (close #22)
Fabian Fichter [Wed, 3 Jul 2019 19:06:40 +0000]
Support gothic chess (close #22)

https://www.chessvariants.com/large.dir/gothicchess.html

6 years agoSmoothly change playing strength with skill level. (#2142)
Joost VandeVondele [Mon, 1 Jul 2019 12:07:54 +0000]
Smoothly change playing strength with skill level. (#2142)

The current skill levels (1-20) allow for adjusting playing strengths, but
do so in big steps (e.g. level 10 vs level 11 is a ~143 Elo jump at STC).
Since the 'Skill Level' input can already be a floating point number, this
patch uses the fractional part of the input to provide the user with
fine control, allowing for varying the playing strength essentially
continuously.

The implementation internally still uses integer skill levels (needed since they pick Depths),
but non-deterministically rounds up or down the used skill level such that the average integer
skill corresponds to the input floating point one. As expected, intermediate
(fractional) skill levels yield intermediate playing strenghts.

Tested at STC, playing level 10 against levels between 10 and 11 for 10000 games

level 10.25 ELO:  24.26 +-6.2
level 10.5  ELO:  67.51 +-6.3
level 10.75 ELO:  98.52 +-6.4
level 11    ELO: 143.65 +-6.7

http://tests.stockfishchess.org/tests/view/5cd9c6b40ebc5925cf056791
http://tests.stockfishchess.org/tests/view/5cd9d22b0ebc5925cf056989
http://tests.stockfishchess.org/tests/view/5cd9cf610ebc5925cf056906
http://tests.stockfishchess.org/tests/view/5cd9d2490ebc5925cf05698e

No functional change.

6 years agoIntroduce coordination between searching threads (#2204)
Joost VandeVondele [Mon, 1 Jul 2019 12:07:23 +0000]
Introduce coordination between searching threads (#2204)

this patch improves threading performance by introducing some coordination between threads.

The observation is that threading is an area where a lot of Elo can potentially be gained:
https://github.com/glinscott/fishtest/wiki/UsefulData#elo-from-threading
At STC, 8 threads gain roughly 320 Elo, vs sequential at the same time,
however, loses 66 Elo against a single thread with 8x more time.
This 66 Elo should be partially recoverable with improved threading.

To improve threading, this patch introduces some LMR at nodes that are already being searched by other threads.
This requires some coordination between threads, avoiding however synchronisation.
To do so, threads leave a trail of breadcrumbs to mark the nodes they are searching.
These breadcrumbs are stored in a small hash table, which is only probed at low plies (currently ply < 8).

A couple of variants of this patch passed both STC and LTC threaded tests.
I picked the simpler, more robust version.
I expect that further tests can find further improvements.

STC (5+0.05 @ 8 threads):
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 26209 W: 5359 L: 5079 D: 15771
http://tests.stockfishchess.org/tests/view/5d0a9b030ebc5925cf0a8e6f

LTC (20+0.2 @ 8 threads):
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 34832 W: 5650 L: 5382 D: 23800
http://tests.stockfishchess.org/tests/view/5d0c67a20ebc5925cf0aafa7

other passed/tested variants:
http://tests.stockfishchess.org/tests/view/5d0a9b030ebc5925cf0a8e6f
http://tests.stockfishchess.org/tests/view/5d0c67ca0ebc5925cf0aafa9
http://tests.stockfishchess.org/tests/view/5d0c67810ebc5925cf0aafa3
http://tests.stockfishchess.org/tests/view/5d0958ca0ebc5925cf0a74c6

For the sequential code there is no change in bench, and an earlier version of this patch passed a non-regression test.
STC (10+0.1 @ 1 thread)
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 10471 W: 2364 L: 2220 D: 5887
http://tests.stockfishchess.org/tests/view/5d087ee20ebc5925cf0a6381

passed the additional non-regression tests at 2 and 4 threads 20+0.2 TC. The code was rebased on master prior to testing.

2 threads:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 218863 W: 40927 L: 41153 D: 136783
http://tests.stockfishchess.org/tests/view/5d18c6c30ebc5925cf0b9566

4threads:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 16839 W: 3017 L: 2889 D: 10933
http://tests.stockfishchess.org/tests/view/5d18c6ea0ebc5925cf0b9568

No functional change.

6 years agoMove storm special condition to UnblockedStorm array (#2210)
protonspring [Sun, 30 Jun 2019 13:22:37 +0000]
Move storm special condition to UnblockedStorm array (#2210)

This is a functional simplification.

Looks like we can accommodate the special initialization of Value in evaluate_shelter in the UnblockedStorm array.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 32483 W: 7422 L: 7322 D: 17739
http://tests.stockfishchess.org/tests/view/5d14c5f80ebc5925cf0b48da

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 35361 W: 6139 L: 6042 D: 23180
http://tests.stockfishchess.org/tests/view/5d14d69c0ebc5925cf0b4bd0

Bench 3596270

6 years agoTry to get a more precise bench time (#2211)
Jörg Oster [Sun, 30 Jun 2019 13:16:20 +0000]
Try to get a more precise bench time (#2211)

Initialization of larger hash sizes can take some time.
Don't include this time in the bench by resetting the timer after Search::clear().
Also move 'ucinewgame' command down in the list, so that it is processed
after the configuration of Threads and Hash size.

No functional change.

6 years agoBonus for double attacks on unsupported pawns
protonspring [Thu, 27 Jun 2019 07:45:53 +0000]
Bonus for double attacks on unsupported pawns

This is a functional change that rewards double attacks on an unsupported pawns.

STC (non-functional difference)
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 83276 W: 18981 L: 18398 D: 45897
http://tests.stockfishchess.org/tests/view/5d0970500ebc5925cf0a77d4

LTC (incomplete looping version)
LLR: 0.50 (-2.94,2.94) [0.00,3.50]
Total: 82999 W: 14244 L: 13978 D: 54777
http://tests.stockfishchess.org/tests/view/5d0a8d480ebc5925cf0a8d58

LTC (completed non-looping version).
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 223381 W: 38323 L: 37512 D: 147546
http://tests.stockfishchess.org/tests/view/5d0e80510ebc5925cf0ad320

Closes https://github.com/official-stockfish/Stockfish/pull/2205

Bench 3633546

----------------------------------

Comments by Alain SAVARD:

interesting result ! I would have expected that search would resolve such positions
correctly on the very next move. This is not a very common pattern, and when it happens,
it will quickly disappear. So I'm quite surprised that it passed LTC.
I would be even more surprised if this would resist a simplification.

Anyway, let's try to imagine a few cases.

a) If you have White d5 f5 against Black e6, and White to move
last move by Black was probably a capture on e6 and White is about to recapture on e6

b) If you have White d5 f5 against e6, and Black to move
last move by White was possibly a capture on d5 or f5
or the pawn on e6 was pinned or could not move for some reason.
and white wants to blast open the position and just pushed d4-d5 or f4-f5

Some possible follow-ups
a) Motif is so rare that the popcount() can be safely replaced with a bool()
But this would not pass a SPRT[0,4],
So try a simplification with bool() and also without the & ~theirAttacks

b) If it works, we probably can simply have this in the loop
if (lever) score += S(0, 20);

c) remove all this and tweak something in search for pawn captures (priority, SEE, extension,..)

6 years agoIntroduce attacks on space area
Vizvezdenec [Thu, 27 Jun 2019 07:21:50 +0000]
Introduce attacks on space area

This patch introduces a small malus for every square in our space mask
that is attacked by enemy. The value of the malus is completely arbitrary
and is something we can tweak, also maybe we can gain some elo with tweaking
space threshold after this addition.

Passed STC
http://tests.stockfishchess.org/tests/view/5d10ce590ebc5925cf0af30b
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 7082 W: 1648 L: 1449 D: 3985

Passed LTC
http://tests.stockfishchess.org/tests/view/5d10d2d80ebc5925cf0af3fd
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 79494 W: 13727 L: 13324 D: 52443

Closes https://github.com/official-stockfish/Stockfish/pull/2207

bench 3516460

6 years agoDo not define increment operators on Value, Depth and Direction
Sergei Ivanov [Sat, 25 May 2019 12:30:32 +0000]
Do not define increment operators on Value, Depth and Direction

These operators are never used and do not make sense for these types.

No functional change.

6 years agoImprove multiPV mode
joergoster [Thu, 27 Jun 2019 06:56:35 +0000]
Improve multiPV mode

Skip all moves during the Non-PV (zero-window) search which will be
searched as PV moves later anyways. We also wake sure the moves will
be reported to the GUI despite they're not being searched — some GUIs
may get confused otherwise, and it would unnecessarily complicate the
code.

Tested with MultiPV=4
STC
http://tests.stockfishchess.org/tests/view/5ce7137c0ebc5925cf070d69
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 8233 W: 3708 L: 3424 D: 1101

LTC
http://tests.stockfishchess.org/tests/view/5ce798d60ebc5925cf071d17
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 7369 W: 3197 L: 2911 D: 1261

Closes https://github.com/official-stockfish/Stockfish/pull/2163

No functional change. (in single PV mode)

6 years agoTweak piece values for archbishop and chancellor
Fabian Fichter [Mon, 17 Jun 2019 20:10:47 +0000]
Tweak piece values for archbishop and chancellor

capablanca STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 4702 W: 1895 L: 1747 D: 1060
http://35.161.250.236:6543/tests/view/5d07f4246e23db34f4206bee

capablanca LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 5260 W: 2022 L: 1870 D: 1368
http://35.161.250.236:6543/tests/view/5d0a560a6e23db34f4206bfe

modern STC
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 2329 W: 782 L: 746 D: 801
http://35.161.250.236:6543/tests/view/5d09e6a26e23db34f4206bfc

chancellor STC
LLR: 2.97 (-2.94,2.94) [-10.00,5.00]
Total: 3677 W: 1225 L: 1197 D: 1255
http://35.161.250.236:6543/tests/view/5d07fa7b6e23db34f4206bf7

6 years agoMake the debug counters thread safe.
Joost VandeVondele [Fri, 21 Jun 2019 14:24:28 +0000]
Make the debug counters thread safe.

needed to use them in a threaded run.

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 21 Jun 2019 17:29:58 +0000]
Merge official-stockfish/master

bench: 3778277

6 years agoFurther increase king tropism for drop variants
Fabian Fichter [Thu, 20 Jun 2019 20:32:10 +0000]
Further increase king tropism for drop variants

crazyhouse STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1748 W: 909 L: 784 D: 55
http://35.161.250.236:6543/tests/view/5d0bee496e23db34f4206c11

crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2033 W: 1054 L: 925 D: 54
http://35.161.250.236:6543/tests/view/5d0c0daa6e23db34f4206c14

6 years agoRewrite "More bonus for free passed pawn"
Vizvezdenec [Fri, 21 Jun 2019 08:04:31 +0000]
Rewrite "More bonus for free passed pawn"

-removes wideUnsafeSquares bitboard
-removes a couple of bitboard operations
-removes one if operator
-updates comments so they actually represent what this part of code is doing now.

passed non-regression STC
http://tests.stockfishchess.org/tests/view/5d0c1ae50ebc5925cf0aa8db
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 16892 W: 3865 L: 3733 D: 9294

No functional change

6 years agoIncrease king tropism for drop games
Fabian Fichter [Thu, 20 Jun 2019 12:29:22 +0000]
Increase king tropism for drop games

crazyhouse STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1287 W: 688 L: 569 D: 30
http://35.161.250.236:6543/tests/view/5d0b7c646e23db34f4206c03

crazyhouse LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 982 W: 536 L: 422 D: 24
http://35.161.250.236:6543/tests/view/5d0bc5fb6e23db34f4206c0e

6 years agoMore bonus for free passed pawn
Vizvezdenec [Thu, 20 Jun 2019 00:05:57 +0000]
More bonus for free passed pawn

Give even more bonus to passed pawn if adjacent squares to its path
are not attacked.

passed STC
http://tests.stockfishchess.org/tests/view/5d08c9b10ebc5925cf0a6630
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 175197 W: 39859 L: 38816 D: 96522

passed LTC
http://tests.stockfishchess.org/tests/view/5d0ab8240ebc5925cf0a8fe4
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 92928 W: 16124 L: 15682 D: 61122

Bench: 3398333

6 years agoChange multi-cut pruning condition
Miguel Lahoz [Sat, 15 Jun 2019 06:01:02 +0000]
Change multi-cut pruning condition

Use comparison of eval with beta to predict potential cutNodes. This
allows multi-cut pruning to also prune possibly mislabeled Pv and NonPv
nodes.

STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 54305 W: 12302 L: 11867 D: 30136
http://tests.stockfishchess.org/tests/view/5d048ba50ebc5925cf0a15e8

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 189512 W: 32620 L: 31904 D: 124988
http://tests.stockfishchess.org/tests/view/5d04bf740ebc5925cf0a17f0

Normally I would think such changes are risky, specially for PvNodes,
but after trying a few other versions, it seems this version is more
sound than I initially thought.

Aside from this, a small funtional change is made to return
singularBeta instead of beta to be more consistent with the fail-soft
logic used in other parts of search.

=============================

How to continue from there ?

We could try to audit other parts of the search where the "cutNode"
variable is used, and try to use dynamic info based on heuristic
eval rather than on this variable, to check if the idea behind this
patch could also be applied successfuly.

Bench: 3503788

6 years agoQuietPick Speed-up
VoyagerOne [Mon, 17 Jun 2019 21:35:03 +0000]
QuietPick Speed-up

Non-functional speedup: no need to generate, score, or sort quiet moves
if SkipQuiet is true. Thanks to @mstembera for his suggestion.

STC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 27910 W: 6406 L: 6129 D: 15375
http://tests.stockfishchess.org/tests/view/5d07e0920ebc5925cf0a58a8

Closes https://github.com/official-stockfish/Stockfish/pull/2194

No functional change

6 years agoFix progress issue with shuffling extensions
Joost VandeVondele [Thu, 13 Jun 2019 20:32:23 +0000]
Fix progress issue with shuffling extensions

Fixes issues #2126 and #2189 where no progress in rootDepth is made for particular fens:

8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1
8/1r1rp1k1/1b1pPp2/2pP1Pp1/1pP3Pp/pP5P/P5K1/8 w - - 79 46

the cause are the shuffle extensions. Upon closer analysis, it appears that in these cases a shuffle extension is made for every node searched, and progess can not be made. This patch implements a fix, namely to limit the number of extensions relative to the number of nodes searched. The ratio employed is 1/4, which fixes the issues seen so far, but it is a heuristic, and I expect that certain positions might require an even smaller fraction.

The patch was tested as a bug fix and passed:

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56601 W: 12633 L: 12581 D: 31387
http://tests.stockfishchess.org/tests/view/5d02b37a0ebc5925cf09f6da

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52042 W: 8907 L: 8837 D: 34298
http://tests.stockfishchess.org/tests/view/5d0319420ebc5925cf09fe57

Furthermore, to confirm that the shuffle extension in this form indeed still brings Elo, one more test at VLTC was performed:
VLTC:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 142022 W: 20963 L: 20435 D: 100624
http://tests.stockfishchess.org/tests/view/5d03630d0ebc5925cf0a011a

Bench: 3961247

6 years agoPartial revert of "Assorted trivial cleanups 5/2019".
syzygy1 [Tue, 18 Jun 2019 21:27:34 +0000]
Partial revert of "Assorted trivial cleanups 5/2019".

Since root_probe() and root_probe_wdl() do not reset all tbRank values if they fail,
it is necessary to do this in rank_root_move(). This fixes issue #2196.
Alternatively, the loop could be moved into both root_probe() and root_probe_wdl().

No functional change

6 years agoMerge official-stockfish/master
Fabian Fichter [Sun, 16 Jun 2019 13:58:56 +0000]
Merge official-stockfish/master

bench: 3512052

6 years agoMerge official-stockfish/master
Fabian Fichter [Sun, 16 Jun 2019 13:54:37 +0000]
Merge official-stockfish/master

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Sun, 16 Jun 2019 11:54:56 +0000]
Merge official-stockfish/master

bench: 3700144

6 years agoReduce connected bonus for horde
Fabian Fichter [Sun, 16 Jun 2019 08:17:18 +0000]
Reduce connected bonus for horde

Revert parameter change caused by mis-merge.

horde STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 500 W: 302 L: 193 D: 5
http://35.161.250.236:6543/tests/view/5d05fb8b6e23db34f4206bd6

horde LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 343 W: 222 L: 116 D: 5
http://35.161.250.236:6543/tests/view/5d0603346e23db34f4206bd9

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 15 Jun 2019 14:08:54 +0000]
Merge official-stockfish/master

bench: 3785196

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 15 Jun 2019 13:45:57 +0000]
Merge official-stockfish/master

No functional change.

6 years agoSimplify SEE Pruning (#2191)
VoyagerOne [Fri, 14 Jun 2019 17:59:17 +0000]
Simplify SEE Pruning (#2191)

Simplify SEE Pruning
Note this should also be a speedup...
If givesCheck is extended we know (except for DC) that it will have a positive SEE. So this new logic will be triggered before doing another expensive SEE function.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 24429 W: 5484 L: 5368 D: 13577
http://tests.stockfishchess.org/tests/view/5cffbccd0ebc5925cf09a154

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 28428 W: 4873 L: 4765 D: 18790
http://tests.stockfishchess.org/tests/view/5d0015f60ebc5925cf09acb1

Bench: 3897263

6 years agoRemove backmost_sq (#2190)
protonspring [Fri, 14 Jun 2019 06:22:02 +0000]
Remove backmost_sq (#2190)

This is a non-functional simplification.

backmost_sq and frontmost_sq are redundant. It seems quite clear to always use frontmost_sq and use the correct color.

Non functional change.

6 years agoIncrease pawns cache (#2187)
Stefan Geschwentner [Fri, 14 Jun 2019 05:36:42 +0000]
Increase pawns cache (#2187)

Increase size of the pawns table by the factor 8. This decreases the number of recalculations of pawn structure information significantly (at least at LTC).

I have done measurements for different depths and pawn cache sizes.
First are given the number of pawn entry calculations are done (in parentheses is the frequency that a call to probe triggers a pawn entry calculation). The delta% are the percentage of less done pawn entry calculations in comparison to master

VSTC:   bench 1 1 12
STC:    bench 8 1 16
LTC:    bench 64 1 20
VLTC:   bench 512 1 24

            VSTC       STC         LTC          VLTC
master      82218(6%)  548935(6%)  2415422(7%)  9548071(7%)
pawncache*2 79859(6%)  492943(5%)  2084794(6%)  8275206(6%)
pawncache*4 78551(6%)  458758(5%)  1827770(5%)  7112531(5%)
pawncache*8 77963(6%)  439421(4%)  1649169(5%)  6128652(4%)

delta%(p2-m)  -2.9%      -10.2%      -13.7%       -13.3%
delta%(p4-m)  -4.5%      -16.4%      -24.3%       -25.5%
delta%(p8-m)  -5.2%      -20.0%      -31.7%       -35.8%

STC: (non-regression test because at STC the effect is smaller than at LTC)
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 22767 W: 5160 L: 5040 D: 12567
http://tests.stockfishchess.org/tests/view/5d00f6040ebc5925cf09c3e2

LTC:
LLR: 2.94 (-2.94,2.94) [0.00,4.00]
Total: 26340 W: 4524 L: 4286 D: 17530
http://tests.stockfishchess.org/tests/view/5d00a3810ebc5925cf09ba16

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Thu, 13 Jun 2019 20:26:10 +0000]
Merge official-stockfish/master

bench: 3468545

6 years agoMerge official-stockfish/master
Fabian Fichter [Thu, 13 Jun 2019 20:09:05 +0000]
Merge official-stockfish/master

No functional change.

6 years agoNo DC prune in QS (#2185)
VoyagerOne [Sun, 9 Jun 2019 22:26:47 +0000]
No DC prune in QS (#2185)

Don't prune discover checks in qSearch

STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 23176 W: 5320 L: 5039 D: 12817
http://tests.stockfishchess.org/tests/view/5cfbc9350ebc5925cf094ab3

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 128428 W: 22222 L: 21679 D: 84527
http://tests.stockfishchess.org/tests/view/5cfbf0b70ebc5925cf094ebc

Bench: 3883245

6 years agoAssorted trivial cleanups 5/2019
Marco Costalba [Thu, 2 May 2019 17:36:25 +0000]
Assorted trivial cleanups 5/2019

No functional change.

bench: 4178282

6 years agoRemove depth condition for ttPv (#2166)
Stefan Geschwentner [Sun, 9 Jun 2019 12:34:51 +0000]
Remove depth condition for ttPv (#2166)

Currently PV nodes with a depth <= 4 were ignored for ttPv. Now remove this constraint and use all PV nodes.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 52209 W: 11755 L: 11694 D: 28760
http://tests.stockfishchess.org/tests/view/5cebc2d30ebc5925cf07b93a

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20874 W: 3689 L: 3568 D: 13617
http://tests.stockfishchess.org/tests/view/5cec01fc0ebc5925cf07c62d

6 years agoSimplify passed pawns. (#2159)
protonspring [Sun, 9 Jun 2019 12:33:34 +0000]
Simplify passed pawns. (#2159)

This is a functional simplification.

If all of the stoppers are levers, a simple pawn push passes.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 41768 W: 9360 L: 9278 D: 23130
http://tests.stockfishchess.org/tests/view/5ce82ed60ebc5925cf073a79

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 40463 W: 6964 L: 6875 D: 26624
http://tests.stockfishchess.org/tests/view/5ce87d0b0ebc5925cf07472b

6 years agoRemove a few file_of's (simplify adjacent_files_bb) #2171
protonspring [Sun, 9 Jun 2019 12:31:16 +0000]
Remove a few file_of's (simplify adjacent_files_bb) #2171

This is a non-functional simplification that removes two file_of(s).

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 22030 W: 5106 L: 4984 D: 11940
http://tests.stockfishchess.org/tests/view/5cf028de0ebc5925cf0839e7

6 years agoSimplify WeakUnopposedPawn #2181
protonspring [Sun, 9 Jun 2019 12:28:42 +0000]
Simplify WeakUnopposedPawn #2181

This is a functional simplification.

Moves WeakUnopposedPawn to pawns.cpp and remove piece dependency.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 8699 W: 2000 L: 1853 D: 4846
http://tests.stockfishchess.org/tests/view/5cf7721b0ebc5925cf08ee79

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 46605 W: 7969 L: 7890 D: 30746
http://tests.stockfishchess.org/tests/view/5cf7d5f70ebc5925cf08fa96

6 years agoSEE Pruning Tweak (#2183)
VoyagerOne [Sun, 9 Jun 2019 12:27:50 +0000]
SEE Pruning Tweak (#2183)

Don't SEE prune any check extensions

STC (yellow):
LLR: -2.96 (-2.94,2.94) [0.50,4.50]
Total: 129934 W: 29390 L: 28905 D: 71639
http://tests.stockfishchess.org/tests/view/5cf6b1a70ebc5925cf08dedb

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 102115 W: 17692 L: 17224 D: 67199
http://tests.stockfishchess.org/tests/view/5cf830710ebc5925cf090331

6 years agoAdvanced pawn pushes tweak (#2175)
Michael Chaly [Sun, 9 Jun 2019 12:26:53 +0000]
Advanced pawn pushes tweak (#2175)

passed STC
http://tests.stockfishchess.org/tests/view/5cf586ee0ebc5925cf08c0ed
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 29496 W: 6718 L: 6406 D: 16372

passed LTC
http://tests.stockfishchess.org/tests/view/5cf59b630ebc5925cf08c343
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 40778 W: 7057 L: 6765 D: 26956

original idea from early 2018 by @jerrydonaldwatson
Code slightly rewritten to be shorter and more logical, no functinal changes
compared to passed patch.

6 years agoSimplify Outposts #2176
protonspring [Mon, 3 Jun 2019 13:16:33 +0000]
Simplify Outposts #2176

This is a functional simplification. This is NOT the exact version that was tested. Beyond the testing, an assignment was removed and a piece changes for consistency.

Instead of rewarding ANY square past an opponent pawn as an "outpost," only use squares that are protected by our pawn. I believe this is more consistent with what the chess world calls an "outpost."

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23540 W: 5387 L: 5269 D: 12884
http://tests.stockfishchess.org/tests/view/5cf51e6d0ebc5925cf08b823

LTC
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 53085 W: 9271 L: 9204 D: 34610
http://tests.stockfishchess.org/tests/view/5cf5279e0ebc5925cf08b992

bench 3424592

6 years agoSimplify k-value for passers. Bench: 3854907 (#2182)
31m059 [Sun, 9 Jun 2019 12:19:07 +0000]
Simplify k-value for passers. Bench: 3854907 (#2182)

Stockfish evaluates passed pawns in part based on a variable k, which shapes the passed pawn bonus based on the number of squares between the current square and promotion square that are attacked by enemy pieces, and the number defended by friendly ones. Prior to this commit, we gave a large bonus when all squares between the pawn and the promotion square were defended, and if they were not, a somewhat smaller bonus if at least the pawn's next square was. However, this distinction does not appear to provide any Elo at STC or LTC.

Where do we go from here? Many promising Elo-gaining patches were attempted in the past few months to refine passed pawn calculation, by altering the definitions of unsafe and defended squares. Stockfish uses these definitions to choose the value of k, so those tests interact with this PR. Therefore, it may be worthwhile to retest previously promising but not-quite-passing tests in the vicinity of this patch.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 42344 W: 9455 L: 9374 D: 23515
http://tests.stockfishchess.org/tests/view/5cf83ede0ebc5925cf0904fb

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 69548 W: 11855 L: 11813 D: 45880
http://tests.stockfishchess.org/tests/view/5cf8698f0ebc5925cf0908c8

Bench: 3854907

6 years agoScale lazy threshold according to material. (#2170)
protonspring [Fri, 31 May 2019 12:35:39 +0000]
Scale lazy threshold according to material. (#2170)

STC
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 58543 W: 13238 L: 12782 D: 32523
http://tests.stockfishchess.org/tests/view/5cef3efa0ebc5925cf081f07

LTC
LLR: 3.70 (-2.94,2.94) [0.00,3.50]
Total: 82232 W: 14281 L: 13825 D: 54126
http://tests.stockfishchess.org/tests/view/5cef595d0ebc5925cf082441

bench 3807737

6 years agoSimplify semiopen_file (#2165)
protonspring [Wed, 29 May 2019 08:00:32 +0000]
Simplify semiopen_file (#2165)

This is a non-functional simplification. Since our file_bb handles either Files or Squares, using Square here removes some code. Not likely any performance difference despite the test.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 6081 W: 1444 L: 1291 D: 3346
http://tests.stockfishchess.org/tests/view/5ceb3e2e0ebc5925cf07ab03

Non functional change.

6 years agoTweak connected bonus for drop variants
Fabian Fichter [Fri, 24 May 2019 17:40:26 +0000]
Tweak connected bonus for drop variants

crazyhouse STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 5584 W: 2806 L: 2626 D: 152
http://35.161.250.236:6543/tests/view/5ce82ccd6e23db34f4206b26

crazyhouse LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2588 W: 1324 L: 1187 D: 77
http://35.161.250.236:6543/tests/view/5ceac7766e23db34f4206b3d

6 years agoTweak connected bonus for horde chess
Fabian Fichter [Fri, 24 May 2019 17:55:16 +0000]
Tweak connected bonus for horde chess

horde STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 443 W: 273 L: 165 D: 5
http://35.161.250.236:6543/tests/view/5ce8fc696e23db34f4206b38

horde LTC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 394 W: 250 L: 142 D: 2
http://35.161.250.236:6543/tests/view/5ce914f66e23db34f4206b3b

6 years agoRemove one division. (#2158)
Joost VandeVondele [Sat, 25 May 2019 07:43:52 +0000]
Remove one division. (#2158)

Can be included in the earlier calculation, with a small rounding difference.

passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 17912 W: 4044 L: 3915 D: 9953
http://tests.stockfishchess.org/tests/view/5ce711f90ebc5925cf070d0e

passed LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 56061 W: 9579 L: 9516 D: 36966
http://tests.stockfishchess.org/tests/view/5ce716820ebc5925cf070e37

Bench: 3817662

6 years agoFix #21 bitboard operations for MSVC
Fabian Fichter [Mon, 6 May 2019 18:24:37 +0000]
Fix #21 bitboard operations for MSVC

No functional change for other compilers.

6 years agoReduce memory consumption of continuation history
Fabian Fichter [Sun, 5 May 2019 16:12:04 +0000]
Reduce memory consumption of continuation history

No functional change for standard chess.

6 years agoLess LMR for losing chess variants
Fabian Fichter [Sat, 18 May 2019 08:04:38 +0000]
Less LMR for losing chess variants

giveaway STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 555 W: 269 L: 176 D: 110
http://35.161.250.236:6543/tests/view/5cdfbcee6e23db34f4206af7

giveaway LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1321 W: 557 L: 456 D: 308
http://35.161.250.236:6543/tests/view/5cdfd1a26e23db34f4206afc

losers STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 929 W: 484 L: 375 D: 70
http://35.161.250.236:6543/tests/view/5cdfbd0f6e23db34f4206afa

losers LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1153 W: 573 L: 463 D: 117
http://35.161.250.236:6543/tests/view/5cdfd1b06e23db34f4206afe

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 17 May 2019 12:59:32 +0000]
Merge official-stockfish/master

bench: 3293925

6 years agoFix passed pawn evaluation
Fabian Fichter [Fri, 17 May 2019 13:21:47 +0000]
Fix passed pawn evaluation

No functional change for variants with promotion rank equal to 8.

6 years agoFix CTF bonus for large-board version
Fabian Fichter [Thu, 16 May 2019 19:09:25 +0000]
Fix CTF bonus for large-board version

racingkings STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 179 W: 120 L: 32 D: 27
http://35.161.250.236:6543/tests/view/5cddb8176e23db34f4206acd

racingkings LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 242 W: 149 L: 58 D: 35
http://35.161.250.236:6543/tests/view/5cddb83b6e23db34f4206ad0

6 years agoAllow RQ through pieces. Bench: 3415326 (#2153)
31m059 [Fri, 17 May 2019 11:38:23 +0000]
Allow RQ through pieces. Bench: 3415326 (#2153)

We evaluate defended and unsafe squares for a passed pawn push based on friendly and enemy rooks and queens on the passed pawn's file. Prior to this patch, we further required that these rooks and queens be able to directly attack the passed pawn. However, this restriction appears unnecessary and worth almost exactly 0 Elo at LTC.

The simplified code allows rooks and queens to attack/defend the passed pawn through other pieces of either color.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 29019 W: 6488 L: 6381 D: 16150
http://tests.stockfishchess.org/tests/view/5cdcf7270ebc5925cf05d30c

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 54224 W: 9200 L: 9133 D: 35891
http://tests.stockfishchess.org/tests/view/5cddc6210ebc5925cf05eca3

Bench: 3415326

6 years agoRemove unused code (#2150)
svivanov72 [Thu, 16 May 2019 12:14:11 +0000]
Remove unused code (#2150)

Remove an unused operator in has_game_cycle (thanks @vondele)
and modify its comment to explain other code.

No functional change.

6 years agoScore and Select Best Thread in same loop (#2125)
protonspring [Thu, 16 May 2019 12:13:16 +0000]
Score and Select Best Thread in same loop (#2125)

This is a non-functional simplification that combines vote counting and thread selecting in the same loop.

It is possible that the best thread would be updated more frequently than master, but I'm not sure it matters here. Perhaps "mostVotes" is a better name than "bestVote?"

STC (stopped early).
LLR: 0.70 (-2.94,2.94) [-3.00,1.00]
Total: 10714 W: 2329 L: 2311 D: 6074
http://tests.stockfishchess.org/tests/view/5ccc71470ebc5925cf03d244

No functional change.

6 years agoConsolidate some code in set_state. (#2151)
protonspring [Thu, 16 May 2019 12:11:00 +0000]
Consolidate some code in set_state. (#2151)

Non functional change.

6 years agoSupport capablanca random chess
Fabian Fichter [Tue, 14 May 2019 20:55:33 +0000]
Support capablanca random chess

https://en.wikipedia.org/wiki/Capablanca_Random_Chess

6 years agoTweak fairy piece values
Fabian Fichter [Mon, 13 May 2019 16:26:23 +0000]
Tweak fairy piece values

capablanca STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 344 W: 187 L: 96 D: 61
http://35.161.250.236:6543/tests/view/5cd99b016e23db34f4206ab0

capablanca LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 345 W: 192 L: 99 D: 54
http://35.161.250.236:6543/tests/view/5cd9ab846e23db34f4206abd

courier STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 162 W: 92 L: 18 D: 52
http://35.161.250.236:6543/tests/view/5cd99b206e23db34f4206ab3

courier LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 144 W: 80 L: 11 D: 53
http://35.161.250.236:6543/tests/view/5cd9ac0b6e23db34f4206abf

6 years agoUpdate failedHighCnt rule #2063
xoto10 [Sun, 31 Mar 2019 15:33:32 +0000]
Update failedHighCnt rule #2063

Treat all threads the same as main thread and increment
failedHighCnt on fail highs. This makes the search try
again at lower depth.

@vondele suggested also changing the reset of failedHighCnt
when there is a fail low. Tests including this passed so the
branch has been updated to include both changes. failedHighCnt
is now handled exactly the same in helper threads and the main
thread. Thanks vondele :-)

STC @ 5+0.05 th 4 :
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 7769 W: 1704 L: 1557 D: 4508
http://tests.stockfishchess.org/tests/view/5c9f19520ebc5925cfffd2a1

LTC @ 20+0.2 th 8 :
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 37888 W: 5983 L: 5889 D: 26016
http://tests.stockfishchess.org/tests/view/5c9f57d10ebc5925cfffd696

Bench 3824325

6 years agoRevert "Make rootDepth local to search. (#2077)"
Marco Costalba [Wed, 15 May 2019 08:50:27 +0000]
Revert "Make rootDepth local to search. (#2077)"

This reverts commit 44c320a572188b5875291103edb344c584b91d19.

Fix a compile error.

Bench: 3824325

6 years agoRemove per thread instances of Endgames. (#2056)
mstembera [Wed, 15 May 2019 08:41:58 +0000]
Remove per thread instances of Endgames. (#2056)

Similar to PSQT we only need one instance of the Endgames resource. The current per thread copies are identical and read only(after initialization) so from a design point of view it doesn't make sense to have them.

Tested for no slowdown.
http://tests.stockfishchess.org/tests/view/5c94377a0ebc5925cfff43ca
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 17320 W: 3487 L: 3359 D: 10474

No functional change.

6 years agoMake rootDepth local to search. (#2077)
Joost VandeVondele [Wed, 15 May 2019 08:35:58 +0000]
Make rootDepth local to search. (#2077)

passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 61869 W: 13668 L: 13626 D: 34575
http://tests.stockfishchess.org/tests/view/5ca660eb0ebc5925cf004f0c

No functional change.

6 years agoSimplify connected #2114
protonspring [Tue, 23 Apr 2019 18:26:58 +0000]
Simplify connected #2114

This is a functional simplification that simplifies
some of the math for connected pawns. The bench is
different because I moved a /2 from opposed into
the connected array.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 37954 W: 8504 L: 8415 D: 21035
http://tests.stockfishchess.org/tests/view/5cbf599a0ebc5925cf028156

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 27780 W: 4682 L: 4572 D: 18526
http://tests.stockfishchess.org/tests/view/5cbf6a5e0ebc5925cf0284b8

Bench 3824325

6 years agoSimplify reduction formula #2122
Moez Jellouli [Wed, 15 May 2019 08:26:32 +0000]
Simplify reduction formula #2122

Simplify reduction formula

No functional change.

6 years agoSimplify Thread Voting Scheme #2129
protonspring [Wed, 15 May 2019 08:24:00 +0000]
Simplify Thread Voting Scheme #2129

This is a functional simplification of the math in the voting scheme.

It took a bit longer to pass LTC 8 threads, so perhaps more testing is needed at longer times and/or more threads.

STC 4 threads
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 22315 W: 4852 L: 4732 D: 12731
http://tests.stockfishchess.org/tests/view/5ccc86280ebc5925cf03d439

STC 8 threads
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 42427 W: 8451 L: 8369 D: 25607
http://tests.stockfishchess.org/tests/view/5cccb67c0ebc5925cf03da90

LTC 4 Threads
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23513 W: 4208 L: 4092 D: 15213
http://tests.stockfishchess.org/tests/view/5ccce94d0ebc5925cf03e1ec

LTC 8 Threads
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 70098 W: 11442 L: 11399 D: 47257
http://tests.stockfishchess.org/tests/view/5ccd22aa0ebc5925cf03e463

No functional change (in single thread)

6 years agoPrecompute repetition info (#2132)
svivanov72 [Wed, 15 May 2019 08:22:21 +0000]
Precompute repetition info (#2132)

Store repetition info in StateInfo instead of recomputing it in
three different places. This saves some work in has_game_cycle()
where this info is needed for positions before the root.

Tested for non-regression at STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 34104 W: 7586 L: 7489 D: 19029
http://tests.stockfishchess.org/tests/view/5cd0676e0ebc5925cf044b56

No functional change.

6 years agoRemove pawn count in space() calculation #2139
xoto10 [Sun, 5 May 2019 13:22:40 +0000]
Remove pawn count in space() calculation #2139

Simplification. Various attempts to optimise the pawn
count bonus showed little effect, so remove pawn count
altogether and compensate by subtracting 1 instead of 4.

STC 10+0.1 th 1:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 152244 W: 33709 L: 33847 D: 84688
http://tests.stockfishchess.org/tests/view/5cceed330ebc5925cf04170e

LTC 60+0.6 th 1:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 24100 W: 4079 L: 3964 D: 16057
http://tests.stockfishchess.org/tests/view/5cd5b6b80ebc5925cf04e889

Bench: 3648841

6 years agoAdd eg component to evaluate_shelter() #2137
xoto10 [Sun, 12 May 2019 21:20:51 +0000]
Add eg component to evaluate_shelter() #2137

Add an endgame component to the blockedstorm penalty
so that the penalty applies more uniformly through the game.

STC 10+0.1 th 1 :
LLR: -2.95 (-2.94,2.94) [0.50,4.50]
Total: 94063 W: 21426 L: 21118 D: 51519
http://tests.stockfishchess.org/tests/view/5cd4605c0ebc5925cf04bf43

LTC 60+0.6 th 1 :
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 188232 W: 32808 L: 32090 D: 123334
http://tests.stockfishchess.org/tests/view/5cd47d0a0ebc5925cf04c4fd

Refactored code with higher constant values gave a more convincing LTC result:
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 30050 W: 5330 L: 5066 D: 19654
http://tests.stockfishchess.org/tests/view/5cd6a0000ebc5925cf050653

Bench: 3687700

6 years agoAllow for higher depths. (#2147)
Joost VandeVondele [Wed, 15 May 2019 07:52:27 +0000]
Allow for higher depths. (#2147)

High rootDepths, selDepths and generally searches are increasingly
common with long time control games, analysis, and improving hardware.
In this case, depths of MAX_DEPTH/MAX_PLY (128) can be reached,
and the search tree is truncated.

In principle MAX_PLY can be easily increased, except for a technicality
of storing depths in a signed 8 bit int in the TT. This patch increases
MAX_PLY by storing the depth in an unsigned 8 bit, after shifting by the
most negative depth stored in TT (DEPTH_NONE).

No regression at STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 42235 W: 9565 L: 9484 D: 23186
http://tests.stockfishchess.org/tests/view/5cdb35360ebc5925cf0595e1

Verified to reach high depths on
k1b5/1p1p4/pP1Pp3/K2pPp2/1P1p1P2/3P1P2/5P2/8 w - -
info depth 142 seldepth 154 multipv 1 score cp 537 nodes 26740713110 ...

No bench change.

6 years agoDecrease reduction in case we had singular extension. #2146
Michael Chaly [Wed, 15 May 2019 07:49:29 +0000]
Decrease reduction in case we had singular extension. #2146

Passed STC http://tests.stockfishchess.org/tests/view/5cda71790ebc5925cf057a84
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 73454 W: 16482 L: 15954 D: 41018

Passed LTC http://tests.stockfishchess.org/tests/view/5cdab17b0ebc5925cf05822f
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 56696 W: 9877 L: 9538 D: 37281

Original idea by @locutus2

bench 3378510

6 years agoUpdate readme
Fabian Fichter [Mon, 13 May 2019 21:31:49 +0000]
Update readme

6 years agoRemove PvNode template from reduction
Miguel Lahoz [Tue, 7 May 2019 15:55:56 +0000]
Remove PvNode template from reduction

This functional simplification removes the PvNode reduction and adjusts
the ttPv lmr condition accordingly. Their definitions only differ by the
inclusions of ttPv. Aside from this, shallow move pruning definition
will be the only other functional difference, but this does not seem to
matter too much.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 58908 W: 12980 L: 12932 D: 32996
http://tests.stockfishchess.org/tests/view/5cd1aaaa0ebc5925cf046c6a

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20351 W: 3521 L: 3399 D: 13431
http://tests.stockfishchess.org/tests/view/5cd23fa70ebc5925cf047cd2

Bench: 3687854

6 years agoFix cycle detection in presence of repetitions
Sergei Ivanov [Sun, 14 Apr 2019 12:50:37 +0000]
Fix cycle detection in presence of repetitions

In master search() may incorrectly return a draw score in the following
corner case: there was a 2-fold repetition during the game, and the
current position can be reached by a move from a repeated one. This case
is treated as an upcoming 3-fold repetition, which it is not.

Here is a testcase demonstrating the issue (note that the moves
after FEN are required). The input:

  position fen 8/8/8/8/8/8/p7/2k4K b - - 0 1 moves c1b1 h1g1 b1c1 g1h1 c1b1 h1g1 b1a1 g1h1
  go movetime 1000

produces the output:

  [...]
  info depth 127 seldepth 2 multipv 1 score cp 0 [...]
  bestmove a1b1

saying that the game will be drawn by repetion. However the other possible
move for black, Kb2, avoids repetitions and wins. The patch fixes this behavior.
In particular it finds mate in 10 in the above position.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 10604 W: 2390 L: 2247 D: 5967
http://tests.stockfishchess.org/tests/view/5cb373e00ebc5925cf0167bf

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 19620 W: 3308 L: 3185 D: 13127
http://tests.stockfishchess.org/tests/view/5cb3822f0ebc5925cf016b2d

Bench is not changed since it does not test positions with history of moves.

Bench: 3184182

6 years agoLess LMR at root
Stefan Geschwentner [Wed, 8 May 2019 19:40:46 +0000]
Less LMR at root

Do no LMR for the first four moves if at root node.

STC:
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 19686 W: 4524 L: 4261 D: 10901
http://tests.stockfishchess.org/tests/view/5cd3577b0ebc5925cf04a089

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 88335 W: 15193 L: 14766 D: 58376
http://tests.stockfishchess.org/tests/view/5cd35e600ebc5925cf04a1c3

Bench: 3184182

6 years agoLMR for captures not cracking alpha
Stefan Geschwentner [Sun, 5 May 2019 13:58:52 +0000]
LMR for captures not cracking alpha

Enable LMR for a capture/promotion move which does not seem
to have a good chance to fail high according to static eval
and value of captured piece.

STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 40477 W: 9158 L: 8792 D: 22527
http://tests.stockfishchess.org/tests/view/5cceedc60ebc5925cf04174f

LTC:
LLR: 2.94 (-2.94,2.94) [0.00,3.50]
Total: 21926 W: 3873 L: 3634 D: 14419
http://tests.stockfishchess.org/tests/view/5ccf04310ebc5925cf041ab0

Bench: 3644175

6 years agoMerge branch 'master' of https://github.com/official-stockfish/Stockfish
Fabian Fichter [Sat, 4 May 2019 13:36:04 +0000]
Merge branch 'master' of https://github.com/official-stockfish/Stockfish

bench: 3414828

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 4 May 2019 13:33:28 +0000]
Merge official-stockfish/master

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 4 May 2019 13:16:15 +0000]
Merge official-stockfish/master

bench: 3246425

6 years agoStat Score reset at rootNode - Bench: 3393330 (#2124)
VoyagerOne [Sat, 4 May 2019 11:41:53 +0000]
Stat Score reset at rootNode - Bench: 3393330 (#2124)

At rootNode reset great great grandchildren stat score i.e (ss + 4)->statScore = 0

STC: (yellow)
LLR: -2.96 (-2.94,2.94) [0.50,4.50]
Total: 256079 W: 57423 L: 56315 D: 142341
http://tests.stockfishchess.org/tests/view/5ccb0c420ebc5925cf03a6a5

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 61550 W: 10611 L: 10260 D: 40679
http://tests.stockfishchess.org/tests/view/5ccbf9d00ebc5925cf03c487

Bench: 3393330

6 years agoSupport Chancellor chess
Fabian Fichter [Sat, 4 May 2019 08:32:48 +0000]
Support Chancellor chess

https://en.wikipedia.org/wiki/Chancellor_Chess

6 years agoAssorted trivial cleanups 4/2019
Marco Costalba [Sun, 31 Mar 2019 10:02:19 +0000]
Assorted trivial cleanups 4/2019

No functional change.

6 years agoSimplified shuffle extension version (#2121)
Joost VandeVondele [Thu, 2 May 2019 17:22:29 +0000]
Simplified shuffle extension version (#2121)

only the extension part of the shuffle patch is sufficient to
pass [0,3.5] bounds at VLTC as shown by two more tests.

http://tests.stockfishchess.org/tests/view/5cc168bc0ebc5925cf02bda8
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 120684 W: 17875 L: 17400 D: 85409

http://tests.stockfishchess.org/tests/view/5cc14d510ebc5925cf02bcb5
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 68415 W: 10250 L: 9905 D: 48260

this patch proposes to simplify back to this basic and easier to
understand version. In case there is a need to run a [-3, 1] VLTC on
this one, it can be done, but it is resource intensive, and not needed
IMO.

Bench: 3388643

6 years agoSupport non-GCC and 32bit for large-board version
Fabian Fichter [Tue, 29 Jan 2019 22:14:58 +0000]
Support non-GCC and 32bit for large-board version

6 years agoFix check extension for drop variants
Fabian Fichter [Tue, 30 Apr 2019 20:59:38 +0000]
Fix check extension for drop variants

6 years agoFix pretty printing of bitboards for debugging
Fabian Fichter [Tue, 30 Apr 2019 20:13:32 +0000]
Fix pretty printing of bitboards for debugging

No functional change.

6 years agoMerge branch 'master' of https://github.com/official-stockfish/Stockfish
Fabian Fichter [Sun, 28 Apr 2019 15:55:21 +0000]
Merge branch 'master' of https://github.com/official-stockfish/Stockfish

bench: 3246425

6 years agoAllow for address sanitizer. (#2119)
Joost VandeVondele [Sat, 27 Apr 2019 18:47:06 +0000]
Allow for address sanitizer. (#2119)

Properly allow for sanitize=address (-fsanitize=address) as an argument to the Makefile.

No functional change

6 years agoFix bench number of previous patch
Marco Costalba [Sat, 27 Apr 2019 09:37:06 +0000]
Fix bench number of previous patch

bench: 3388643

6 years agoInclude bishop protection in king Danger evaluation. #2118
Michael Chaly [Sat, 27 Apr 2019 09:31:55 +0000]
Include bishop protection in king Danger evaluation. #2118

Same idea as fisherman's knight protection.

passed STC
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 17133 W: 3952 L: 3701 D: 9480
http://tests.stockfishchess.org/tests/view/5cc3550b0ebc5925cf02dada

passed LTC
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 37316 W: 6470 L: 6188 D: 24658
http://tests.stockfishchess.org/tests/view/5cc3721d0ebc5925cf02dc90

Looking at this 2 ideas being recent clean elo gainers I have a feeling that we can add also rook and queen protection bonuses or overall move this stuff in pieces loop in the same way as we do pieces attacking bonuses on their kingring... :) Thx fisherman for original idea.

Bench 3429173

6 years agoShuffle detection #2108
MJZ1977 [Wed, 10 Apr 2019 10:56:05 +0000]
Shuffle detection #2108

Bench: 3402947

6 years agoMerge branch 'master' of https://github.com/official-stockfish/Stockfish
Fabian Fichter [Thu, 25 Apr 2019 20:16:19 +0000]
Merge branch 'master' of https://github.com/official-stockfish/Stockfish

No functional change.

6 years agoTweak SEE pruning margin for drop variants
Fabian Fichter [Wed, 24 Apr 2019 19:26:27 +0000]
Tweak SEE pruning margin for drop variants

crazyhouse STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2927 W: 1494 L: 1352 D: 81
http://35.161.250.236:6543/tests/view/5cbed6646e23db76ed252774

crazyhouse LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1666 W: 869 L: 745 D: 52
http://35.161.250.236:6543/tests/view/5cbf83926e23db76ed252782

6 years agoRemove useless initializations (#2115)
Joost VandeVondele [Wed, 24 Apr 2019 17:51:57 +0000]
Remove useless initializations (#2115)

Removes two unneeded inits, they are always set before their use later on.

No functional change.

6 years agoRemove DistanceRing #2107
protonspring [Wed, 17 Apr 2019 18:38:38 +0000]
Remove DistanceRing #2107

Remove the DistanceRing array. This reduces the
memory footprint by about 4kb.

http://tests.stockfishchess.org/tests/view/5cba35350ebc5925cf020d7f
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 101421 W: 22491 L: 22528 D: 56402

No functional change.

6 years agoMerge branch 'master' of https://github.com/official-stockfish/Stockfish
Fabian Fichter [Fri, 19 Apr 2019 18:12:59 +0000]
Merge branch 'master' of https://github.com/official-stockfish/Stockfish

No functional change.

bench: 3359419

6 years agoTweak threat evaluation for losing chess variants
Fabian Fichter [Fri, 19 Apr 2019 17:28:46 +0000]
Tweak threat evaluation for losing chess variants

giveaway STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 5279 W: 2193 L: 2034 D: 1052
http://35.161.250.236:6543/tests/view/5cb197406e23db76ed2526e8

giveaway LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 23616 W: 9228 L: 8824 D: 5564
http://35.161.250.236:6543/tests/view/5cb2c5fe6e23db76ed252702

losers STC (failed)
LLR: -2.97 (-2.94,2.94) [-10.00,5.00]
Total: 7179 W: 3195 L: 3309 D: 675
http://35.161.250.236:6543/tests/view/5cb197556e23db76ed2526eb

losers LTC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 2363 W: 1066 L: 1021 D: 276
http://35.161.250.236:6543/tests/view/5cb2c60b6e23db76ed252704

6 years agoRemove capping in reduction (#2110)
Joost VandeVondele [Fri, 19 Apr 2019 15:33:26 +0000]
Remove capping in reduction (#2110)

Saves two std::min.

Bench is unchanged to high depth, but in principle this is a functional change so tested both STC and LTC.

passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 78193 W: 17220 L: 17210 D: 43763
http://tests.stockfishchess.org/tests/view/5cb789540ebc5925cf01b90b

passed LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 93846 W: 15964 L: 15962 D: 61920
http://tests.stockfishchess.org/tests/view/5cb8066d0ebc5925cf01c72b

Bench: 3402947