fairystockfish.git
6 years agoIncrease stack size for MSVC (fixes #8)
Fabian Fichter [Sat, 30 Mar 2019 16:47:04 +0000]
Increase stack size for MSVC (fixes #8)

Default stack size of 1 MB is insufficient for debug builds,
so increase it to 2 MB (same value as for OS X).

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 30 Mar 2019 15:12:56 +0000]
Merge official-stockfish/master

bench: 3356469

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 30 Mar 2019 15:10:23 +0000]
Merge official-stockfish/master

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 30 Mar 2019 13:51:07 +0000]
Merge official-stockfish/master

bench: 3539234

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 30 Mar 2019 13:32:34 +0000]
Merge official-stockfish/master

No functional change.

6 years agoTweak quadratic bonus for antichess
Fabian Fichter [Sat, 30 Mar 2019 12:46:12 +0000]
Tweak quadratic bonus for antichess

giveaway STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 3128 W: 1311 L: 1182 D: 635
http://35.161.250.236:6543/tests/view/5c9d2d226e23db76ed25265a

giveaway LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 2882 W: 1168 L: 1045 D: 669
http://35.161.250.236:6543/tests/view/5c9dd5136e23db76ed25265f

6 years agoSimplify pawn asymmetry (remove use of semiopen files). (#2054)
protonspring [Sun, 24 Mar 2019 16:41:25 +0000]
Simplify pawn asymmetry (remove use of semiopen files). (#2054)

This is a functional simplification.

To me, the exclusive OR of semiopenFiles here is quite convoluted. Looks like it can be removed.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 43885 W: 9731 L: 9653 D: 24501
http://tests.stockfishchess.org/tests/view/5c9041680ebc5925cfff10ea

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 68437 W: 11577 L: 11533 D: 45327
http://tests.stockfishchess.org/tests/view/5c9101740ebc5925cfff1cbf

bench 3575627

6 years agoRemove unneeded condition. (#2057)
Joost VandeVondele [Sun, 24 Mar 2019 16:40:29 +0000]
Remove unneeded condition. (#2057)

This is covered by the line just before. If we would like to protect
against the piece value of e.g. a N == B, this could be done by an
assert, no need to do this at runtime.

No functional change.

6 years agoSimplify Passed Pawns (#2058)
protonspring [Sun, 24 Mar 2019 16:37:38 +0000]
Simplify Passed Pawns (#2058)

This is a non-functional simplification/speedup.

The truth-table for popcount(support) >= popcount(lever) - 1 is:
------------------lever
------------------0-------1---------2
support--0------X-------X---------0
-----------1------X-------X---------X
-----------2------X-------X---------X

Thus, it is functionally equivalent to just do: support || !more_than_one(lever) which removes the expensive popcounts and the -1.

Result of 20 runs:
base (...h_master.exe) = 1451680 +/- 8202
test (./stockfish ) = 1454781 +/- 8604
diff = +3101 +/- 931

STC
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 35424 W: 7768 L: 7674 D: 19982
Http://tests.stockfishchess.org/tests/view/5c970f170ebc5925cfff5e28

No functional change.

6 years agoAvoid timeouts in travis builds
Fabian Fichter [Sat, 23 Mar 2019 15:48:59 +0000]
Avoid timeouts in travis builds

6 years agoInclude large-board version in CI
Fabian Fichter [Sat, 23 Mar 2019 15:18:41 +0000]
Include large-board version in CI

6 years agoFix upstream merge for large-board version
Fabian Fichter [Sat, 23 Mar 2019 15:02:38 +0000]
Fix upstream merge for large-board version

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 22 Mar 2019 20:35:36 +0000]
Merge official-stockfish/master

bench: 3456069

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 22 Mar 2019 20:05:35 +0000]
Merge official-stockfish/master

bench: 3933394

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 22 Mar 2019 19:48:52 +0000]
Merge official-stockfish/master

bench: 3653948

6 years agoTweak nCheck bonus
Fabian Fichter [Fri, 22 Mar 2019 18:23:43 +0000]
Tweak nCheck bonus

3check STC
LLR: -2.97 (-2.94,2.94) [0.00,10.00]
Total: 14209 W: 6657 L: 6550 D: 1002
http://35.161.250.236:6543/tests/view/5c8956106e23db76ed2525e2

3check LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 5693 W: 2683 L: 2507 D: 503
http://35.161.250.236:6543/tests/view/5c92acec6e23db76ed252639

6 years agoRemove !extension check #2045
xoto10 [Sun, 10 Mar 2019 21:57:48 +0000]
Remove !extension check #2045

While looking at pruning using see_ge() (which is very valuable)
it became apparent that the !extension test is not adding any
value - simplify it away.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 56843 W: 12621 L: 12569 D: 31653
http://tests.stockfishchess.org/tests/view/5c8588cb0ebc5925cffe77f4

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 78622 W: 13223 L: 13195 D: 52204
http://tests.stockfishchess.org/tests/view/5c8611cc0ebc5925cffe7f86

Further work could be to optimize the remaining see_ge() test. The idea of less pruning at higher depths is valuable, but perhaps the test (-PawnValueEg * depth) can be improved.

Bench: 3188688

6 years agoSkip skipping thread scheme (#1972)
CoffeeOne [Wed, 20 Mar 2019 13:50:41 +0000]
Skip skipping thread scheme (#1972)

Several simplification tests (all with the bounds [-3,1]) were run:
5+0.05 8 threads, failed very quickly:
http://tests.stockfishchess.org/tests/view/5c439a020ebc5902bb5d3970

20+0.2 8 threads, also failed, but needed a lot more games:
http://tests.stockfishchess.org/tests/view/5c44b1b70ebc5902bb5d4e34

60+0.6 8 threads passed:
http://tests.stockfishchess.org/tests/view/5c48bfe40ebc5902bca15325

60+0.6 4 threads passed:
http://tests.stockfishchess.org/tests/view/5c4b71a00ebc593af5d49904

No functional change.

6 years agoRe-enable appveyor debug builds
Fabian Fichter [Fri, 15 Mar 2019 13:55:05 +0000]
Re-enable appveyor debug builds

No functional change.

6 years agoTweak extinction bonus
Fabian Fichter [Fri, 15 Mar 2019 13:07:56 +0000]
Tweak extinction bonus

kinglet STC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 854 W: 438 L: 332 D: 84
http://35.161.250.236:6543/tests/view/5c89565a6e23db76ed2525eb

kinglet LTC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 707 W: 360 L: 259 D: 88
http://35.161.250.236:6543/tests/view/5c8a07376e23db76ed2525f0

extinction STC
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 5185 W: 2409 L: 2382 D: 394
http://35.161.250.236:6543/tests/view/5c89566e6e23db76ed2525ee

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 15 Mar 2019 10:39:42 +0000]
Merge official-stockfish/master

bench: 3633478

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 15 Mar 2019 10:23:51 +0000]
Merge official-stockfish/master

bench: 3423031

6 years agoReenable unoptimized builds for OSX
Fabian Fichter [Thu, 14 Mar 2019 20:26:01 +0000]
Reenable unoptimized builds for OSX

6 years agoIncrease thread stack for OS X (#2035)
Marco Costalba [Tue, 12 Mar 2019 07:35:10 +0000]
Increase thread stack for OS X (#2035)

On OS X threads other than the main thread are created with a reduced stack
size of 512KB by default, this is dangerously low for deep searches, so
adjust it to TH_STACK_SIZE. The implementation calls pthread_create() with
proper stack size parameter.

Verified for no regression at STC enabling the patch on all platforms where
pthread is supported.

LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 50873 W: 9768 L: 9700 D: 31405

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Thu, 14 Mar 2019 21:05:47 +0000]
Merge official-stockfish/master

6 years agoAdjust instrumented testing
Fabian Fichter [Thu, 14 Mar 2019 18:55:42 +0000]
Adjust instrumented testing

Fix timeouts and skip thread-sanitizing for now to fix CI.

No functional change.

6 years agoIncrease thread stack for OS X (#2035)
Marco Costalba [Tue, 12 Mar 2019 07:35:10 +0000]
Increase thread stack for OS X (#2035)

On OS X threads other than the main thread are created with a reduced stack
size of 512KB by default, this is dangerously low for deep searches, so
adjust it to TH_STACK_SIZE. The implementation calls pthread_create() with
proper stack size parameter.

Verified for no regression at STC enabling the patch on all platforms where
pthread is supported.

LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 50873 W: 9768 L: 9700 D: 31405

No functional change.

6 years agoBonus for extinction piece types
Fabian Fichter [Sun, 10 Mar 2019 15:25:37 +0000]
Bonus for extinction piece types

kinglet STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 117 W: 104 L: 9 D: 4
http://35.161.250.236:6543/tests/view/5c84ed3d6e23db76ed2525af

giveaway STC
LLR: 2.94 (-2.94,2.94) [-10.00,5.00]
Total: 2220 W: 948 L: 905 D: 367
http://35.161.250.236:6543/tests/view/5c85020e6e23db76ed2525b2

extinction STC (failed)
LLR: -2.98 (-2.94,2.94) [-10.00,5.00]
Total: 939 W: 400 L: 471 D: 68
http://35.161.250.236:6543/tests/view/5c84ece66e23db76ed2525a8

6 years agoFix tablebase probing
Fabian Fichter [Sat, 9 Mar 2019 10:19:53 +0000]
Fix tablebase probing

Do not rely on assumption that PIECE_TYPE_NB = 8.

6 years agoFix FEN of nCheck variants
Fabian Fichter [Sat, 9 Mar 2019 22:29:05 +0000]
Fix FEN of nCheck variants

3check
LLR: 2.96 (-2.94,2.94) [-10.00,5.00]
Total: 515 W: 268 L: 208 D: 39
http://35.161.250.236:6543/tests/view/5c843ee36e23db76ed252591

3check 2threads
LLR: 2.95 (-2.94,2.94) [-10.00,5.00]
Total: 527 W: 270 L: 211 D: 46
http://35.161.250.236:6543/tests/view/5c84440f6e23db76ed252594

6 years agoRemove popcount16() (#2038)
protonspring [Sun, 10 Mar 2019 09:53:39 +0000]
Remove popcount16() (#2038)

This is a non-functional simplification / code-style change.

This popcount16 method does nothing but initialize the PopCnt16 arrays.

This can be done in a single bitset line, which is less lines and more clear. Performance for this code is moot.

No functional change.

6 years agoSimplify failedLow away #1986
xoto10 [Fri, 1 Feb 2019 20:02:03 +0000]
Simplify failedLow away #1986

FailedLow doesn't seem to add any value so remove it.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 43915 W: 9682 L: 9604 D: 24629
http://tests.stockfishchess.org/tests/view/5c5339770ebc592fc7baef74

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 58515 W: 9670 L: 9609 D: 39236
http://tests.stockfishchess.org/tests/view/5c53cc840ebc592fc7baf6c1

Ideas for further work:

    Tune the values in the revised fallingEval calculation
    Consider adding a term using delta, e.g. c * (delta - 20) as an indicator of eval instability

Bench: 3318033

6 years agoRevert "Allowing singular extension in mate positions"
Marco Costalba [Sat, 9 Mar 2019 12:24:26 +0000]
Revert "Allowing singular extension in mate positions"

It was causing an assert: value > -VALUE_INFINITE
under some conditions.

See https://github.com/official-stockfish/Stockfish/issues/2036

Bench: 3318033

6 years agoMerge official-stockfish/master
Fabian Fichter [Fri, 8 Mar 2019 21:43:44 +0000]
Merge official-stockfish/master

bench: 3428840

6 years agoTweak shatranj piece values
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

6 years agoRemove FutilityMoveCounts array. (#2024)
protonspring [Tue, 5 Mar 2019 19:48:29 +0000]
Remove FutilityMoveCounts array. (#2024)

This is a functional simplification that removes the FutilityMoveCounts array with a simple equation using only ints.

LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 14175 W: 3123 L: 2987 D: 8065

LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 9900 W: 1735 L: 1597 D: 6568

Bench: 3380343

6 years agoShrink Reductions[] array to one dimension
protonspring [Sun, 3 Mar 2019 14:53:36 +0000]
Shrink Reductions[] array to one dimension

This is a non-functional patch which shrinks the reductions array.
This saves about 8Kb of memory.

The only slow part of master's reductions array is the calculation
of the log values, so using a separate array for those values and
calculating the rest real-time appears to be just as fast as master.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 63245 W: 13906 L: 13866 D: 35473
http://tests.stockfishchess.org/tests/view/5c7b571f0ebc5925cffdc104

No funcional change.

6 years agoPawn value tweak
SFisGOD [Tue, 5 Mar 2019 04:34:02 +0000]
Pawn value tweak

STC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 47166 W: 10664 L: 10311 D: 26191
http://tests.stockfishchess.org/tests/view/5c7dfc370ebc5925cffdf830

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 35439 W: 6034 L: 5767 D: 23638
http://tests.stockfishchess.org/tests/view/5c7e41020ebc5925cffdfe9b

Bench: 3470519

6 years agoAssorted trivial cleanups 2/2019
Marco Costalba [Fri, 8 Feb 2019 09:36:03 +0000]
Assorted trivial cleanups 2/2019

No functional change.

6 years agoAdd continuation history 5
Vizvezdenec [Wed, 27 Feb 2019 20:25:12 +0000]
Add continuation history 5

Original patch passed STC:
http://tests.stockfishchess.org/tests/view/5c7439ff0ebc5925cffd3e64
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 26348 W: 5926 L: 5632 D: 14790

and LTC:
http://tests.stockfishchess.org/tests/view/5c745a8b0ebc5925cffd41a8
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 198411 W: 33238 L: 32510 D: 132663

But had undefined behavior.
After fixing (thx to @vondele )

passed LTC:
http://tests.stockfishchess.org/tests/view/5c763c7c0ebc5925cffd5de2
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 112253 W: 18711 L: 18225 D: 75317

bench 3049229

6 years agoImplement sittuyin stalemate rule (#14)
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.

6 years agoFix detection of optional game end
Fabian Fichter [Mon, 4 Mar 2019 19:54:56 +0000]
Fix detection of optional game end

No functional change for variants without counting rules.

6 years agoTweak shogi piece values
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

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 2 Mar 2019 13:49:49 +0000]
Merge official-stockfish/master

bench: 3253645

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 2 Mar 2019 10:07:32 +0000]
Merge official-stockfish/master

bench: 3334755

6 years agoExtend endgame evaluation for fairy pieces
Fabian Fichter [Fri, 1 Mar 2019 22:59:03 +0000]
Extend endgame evaluation for fairy pieces

6 years agoGeneralize passed pawn evaluation
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

6 years agoRemove skipQuiets with mate fix. (#2021)
Joost VandeVondele [Wed, 27 Feb 2019 12:36:48 +0000]
Remove skipQuiets with mate fix. (#2021)

This removes the skipQuiets variable, as was done in an earlier round by
@protonspring, but fixes an oversight which led to wrong mate
announcements. Quiets can only be pruned when there is no mate score, so
set moveCountPruning at the right spot.

tested as a fix at STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 66321 W: 14690 L: 14657 D: 36974
http://tests.stockfishchess.org/tests/view/5c74f3170ebc5925cffd4b3c

and as the full patch at LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 25903 W: 4341 L: 4228 D: 17334
http://tests.stockfishchess.org/tests/view/5c7540030ebc5925cffd506f

Bench: 3292342

6 years agoRevert "Remove skipQuiets variable in search()"
Marco Costalba [Tue, 26 Feb 2019 12:20:48 +0000]
Revert "Remove skipQuiets variable in search()"

This reverts commit 76d2f5b94a0df20d84ccf922bd1c0fcf1c779090.

Due to a bug, see https://github.com/official-stockfish/Stockfish/issues/2019

Bench: 3516616

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 23 Feb 2019 13:50:16 +0000]
Merge official-stockfish/master

bench: 4439882

6 years agoFix PSQT color symmetry for non-standard board sizes
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

6 years agoUpdate readme
Fabian Fichter [Sat, 23 Feb 2019 09:31:40 +0000]
Update readme

6 years agoTweak NMP depth for racing kings
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

6 years agoAdd KNNvKP Endgame Heuristic
Kurtbusch [Fri, 4 Jan 2019 23:27:14 +0000]
Add KNNvKP Endgame Heuristic

This is a somewhat different patch. It fixes blindspots for
 two knights vs pawn endgame.

With local testing starting from random KNNvKP positions where the
pawn has not advanced beyond the 4th rank (thanks @protonspring !)
at 15+0.15 (4 cores), this went +105=868-27 against master. All except
two losses were won in reverse.

The heuristic is simple but effective - the strategy in these endgames
is to push the opposing king to the corner, then move the knight that's
blocking the pawn in for the checkmate while the pawn is free to move
and prevents stalemate. This patch gives SF the little boost it needs
to search the relevant king-cornering mating lines.

See the discussion in pull request 1939 for some more good results for
this test in independant tests:
https://github.com/official-stockfish/Stockfish/pull/1939

Bench: 3310239

6 years agoProbCutCount limit dependancy to cutNode
MJZ1977 [Tue, 19 Feb 2019 16:48:03 +0000]
ProbCutCount limit dependancy to cutNode

Use the ProbCutCount limit `2 + 2 * cutNode` instead of constant 3.

STC
LLR: -2.95 (-2.94,2.94) [0.50,4.50]
Total: 61812 W: 13599 L: 13459 D: 34754
http://tests.stockfishchess.org/tests/view/5c6d19240ebc5925cffca07a

LTC
LLR: 2.96 (-2.94,2.94) [0.00,3.50]
Total: 27549 W: 4614 L: 4363 D: 18572
http://tests.stockfishchess.org/tests/view/5c6d45c10ebc5925cffca7a6

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

Bench: 3368889

6 years agoRemove PvNode dimension from Reductions array
protonspring [Wed, 13 Feb 2019 21:58:43 +0000]
Remove PvNode dimension from Reductions array

This is a functional simplification: if we simply subtract one to Reductions[]
when PvNode is set, we can remove this dimension of the multidimensional array.
I think this saves about 8K of memory.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 10118 W: 2282 L: 2138 D: 5698
http://tests.stockfishchess.org/tests/view/5c6332b60ebc5925cffbdfed

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 70765 W: 11617 L: 11575 D: 47573
http://tests.stockfishchess.org/tests/view/5c63379e0ebc5925cffbe0de

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

Bench 3261078

6 years agoRemove skipQuiets variable in search()
protonspring [Thu, 14 Feb 2019 21:23:24 +0000]
Remove skipQuiets variable in search()

This is a functional simplification. The moveCountPruning variable and the
skipQuiets variable are similar enough in function that they can be combined.
This removes the skipQuiets variable in search.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 23278 W: 5210 L: 5091 D: 12977
http://tests.stockfishchess.org/tests/view/5c65dc490ebc5925cffc12e9

LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 77107 W: 12792 L: 12761 D: 51554
http://tests.stockfishchess.org/tests/view/5c65e4360ebc5925cffc1490

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

bench 3640330

6 years agoFix placement chess in large-board version
Fabian Fichter [Wed, 20 Feb 2019 21:50:33 +0000]
Fix placement chess in large-board version

6 years agoSupport microshogi
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.

6 years agoTweak piece values for drop games
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

6 years agoSimplify evaluation of passed shogi pawns
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

6 years agoTweak king danger for fairy pieces
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

6 years agoFix threat evaluation for shogi pawns
Fabian Fichter [Sun, 10 Feb 2019 10:11:49 +0000]
Fix threat evaluation for shogi pawns

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:52:13 +0000]
Merge official-stockfish/master

bench: 4592402

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:44:47 +0000]
Merge official-stockfish/master

bench: 4915605

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:39:54 +0000]
Merge official-stockfish/master

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:26:41 +0000]
Merge official-stockfish/master

bench: 4691733

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 23:22:15 +0000]
Merge official-stockfish/master

6 years agoImprove generalization of castling
Fabian Fichter [Sat, 9 Feb 2019 22:23:57 +0000]
Improve generalization of castling

No functional change.

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 17:28:16 +0000]
Merge official-stockfish/master

bench: 5031310

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 17:13:35 +0000]
Merge official-stockfish/master

bench: 4633927

6 years agoMerge official-stockfish/master
Fabian Fichter [Sat, 9 Feb 2019 16:58:41 +0000]
Merge official-stockfish/master

6 years agoSimplify connection bonus
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

6 years agoDecrease king evaluation divisor for shogi variants
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

6 years agoSkip king protector bonus when there is no king
Fabian Fichter [Fri, 8 Feb 2019 18:07:49 +0000]
Skip king protector bonus when there is no king

6 years agoChange outposts to single value #1946
protonspring [Sun, 13 Jan 2019 02:30:56 +0000]
Change outposts to single value #1946

This is a functional simplification of the Outposts array
moving it to a single value. This is a duplicate PR because
I couldn't figure out how to fix the original one.

The idea is from @31m059 with formatting recommendations by @snicolet.

See #1940 for additional information.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 23933 W: 5279 L: 5162 D: 13492
http://tests.stockfishchess.org/tests/view/5c3575800ebc596a450c5ecb

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 41718 W: 6919 L: 6831 D: 27968
http://tests.stockfishchess.org/tests/view/5c358c440ebc596a450c6117

bench 3783543

6 years agoAssorted trivial cleanups 1/2019
Marco Costalba [Tue, 1 Jan 2019 13:13:08 +0000]
Assorted trivial cleanups 1/2019

To address #1862

No functional change.

6 years agoLog message of: Less king danger...
Marco Costalba [Fri, 8 Feb 2019 09:17:18 +0000]
Log message of: Less king danger...

The commit:

Less king danger if we have a knight near by to defend it

went in withouth proper commit message, here below we add it:

STC: LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 113106 W: 25087 L: 24367 D: 63652
http://tests.stockfishchess.org/tests/view/5c5517540ebc592fc7bb0eb4

LTC: LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 96669 W: 16318 L: 15872 D: 64479
http://tests.stockfishchess.org/tests/view/5c55352b0ebc592fc7bb11c8

bench: 3653942

6 years agoRemove Some Bitboard Arrays (#1963)
protonspring [Fri, 8 Feb 2019 08:54:38 +0000]
Remove Some Bitboard Arrays (#1963)

This is non-functional. These 5 arrays are simple enough to calculate real-time and maintaining an array for them does not help. Decreases the memory footprint.

This seems a tiny bit slower on my machine, but passed STC well enough. Could someone verify speed?

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 44745 W: 9780 L: 9704 D: 25261
http://tests.stockfishchess.org/tests/view/5c47aa2d0ebc5902bca13fc4

The slowdown is minimal even in 32 bit case (thanks to @mstembera for testing):

Compiled using make build ARCH=x86-32 CXX=i686-w64-mingw32-c++ and benched
This patch only:

```
Results for 40 tests for each version:

            Base      Test      Diff
    Mean    1455204   1450033   5171
    StDev   49452     34533     59621

p-value: 0.465
speedup: -0.004
```

No functional change.

6 years agoRewrite evaluation of shogi pawns
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.

6 years agoFix msb calculation for large-board version
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.

6 years agoMerge official-stockfish/master
Fabian Fichter [Wed, 6 Feb 2019 21:58:26 +0000]
Merge official-stockfish/master

bench: 4766195

6 years agoDecrease king danger for drop variants
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

6 years agoEndgame evaluation for fairy pieces
Fabian Fichter [Mon, 4 Feb 2019 21:40:57 +0000]
Endgame evaluation for fairy pieces

No functional change for standard chess.

6 years agoTweak mobility bonus for fairy pieces
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

6 years agoLess king danger if we have a knight near by to defend it. (#1987)
mstembera [Sun, 3 Feb 2019 13:16:34 +0000]
Less king danger if we have a knight near by to defend it. (#1987)

bench: 3653942

6 years agoSpeed-up pseudo-legal move validation of drops
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.

6 years agoExtend discovered checks regardless of SEE
Miguel Lahoz [Tue, 29 Jan 2019 14:26:03 +0000]
Extend discovered checks regardless of SEE

A simple idea, but it makes sense: in current master the search is extended
for checks that are considered somewhat safe, and for for this we use the
static exchange evaluation which only considers the `to_sq` of a move.
This is not reliable for discovered checks, where another piece is giving
the check and is arguably a more dangerous type of check. Thus, if the check
is a discovered check, the result of SEE is not relevant and can be ignored.

STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 29370 W: 6583 L: 6274 D: 16513
http://tests.stockfishchess.org/tests/view/5c5062950ebc593af5d4d9b5

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 227341 W: 37972 L: 37165 D: 152204
http://tests.stockfishchess.org/tests/view/5c5094fb0ebc593af5d4dc2c

Bench: 3611854

6 years agoTweak tropism weight in king danger
Stéphane Nicolet [Fri, 1 Feb 2019 12:09:17 +0000]
Tweak tropism weight in king danger

There was a simplification attempt last week for the tropism
term in king danger, which passed STC but failed LTC. This
was an indirect sign that maybe the tropism factor was sightly
untuned in current master, so we tried to change it from 1/4
to 5/16.

STC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 28098 W: 6264 L: 5990 D: 15844
http://tests.stockfishchess.org/tests/view/5c518db60ebc593af5d4e306

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 103709 W: 17387 L: 16923 D: 69399
http://tests.stockfishchess.org/tests/view/5c52a5510ebc592fc7baea8b

Bench: 4016000

6 years agoMore precise checks evaluation in king danger
Vizvezdenec [Fri, 1 Feb 2019 06:21:23 +0000]
More precise checks evaluation in king danger

Remove overlapping safe checks from kingdanger:
- rook and queen checks from the same square: rook check is preferred
- bishop and queen checks form the same square: queen check is preferred

Increase bishop and rook check values as a compensation.

STC
LLR: 2.95 (-2.94,2.94) [0.50,4.50]
Total: 27480 W: 6111 L: 5813 D: 15556
http://tests.stockfishchess.org/tests/view/5c521d050ebc593af5d4e66a

LTC
LLR: 2.95 (-2.94,2.94) [0.00,3.50]
Total: 78500 W: 13145 L: 12752 D: 52603
http://tests.stockfishchess.org/tests/view/5c52b9460ebc592fc7baecc5

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

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

I have quite a few ideas of how to improve this patch.

- actually rethinking it now it will maybe be useful to discount
  queen/bishop checks if there is only one square that they can
  give check from and it's "occupied" by more valuable check. Right
  now count of this squares does not really matter.

- maybe some small extra bonus can be given for overlapping checks.

- some ideas about using popcount() on safechecks can be retried.

- tune this safecheck values since they were more or less randomly handcrafted in this patch.

Bench: 3216489

6 years agoSpeed up slider blockers calculation
Fabian Fichter [Thu, 31 Jan 2019 22:15:54 +0000]
Speed up slider blockers calculation

Improves speed by >10%.

No functional change.

6 years agoSmall speed-up in check detection
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.

6 years agoSimplify Stat Score bonus
protonspring [Thu, 31 Jan 2019 14:18:33 +0000]
Simplify Stat Score bonus

This is a functional simplification of this statScore bonus.
There seems to be little risk of regression with this one.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 26829 W: 5892 L: 5781 D: 15156
http://tests.stockfishchess.org/tests/view/5c5086bb0ebc593af5d4db75

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 28232 W: 4684 L: 4575 D: 18973
http://tests.stockfishchess.org/tests/view/5c50d7690ebc593af5d4dec9

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

Bench: 4001014

6 years agoDon't update pvHit after IID
DU-jdto [Wed, 23 Jan 2019 04:19:10 +0000]
Don't update pvHit after IID

This patch removes line 875 of search.cpp, which was updating pvHit after IID.
Bench testing at depth 22 shows that line 875 of search.cpp never changes the
value of pvHit at NonPV nodes, while at PV nodes it often changes the value
from true to false (and never the reverse). This is because the definition of
pvHit at line 642 is :

```
pvHit = (ttHit && tte->pv_hit()) || (PvNode && depth > 4 * ONE_PLY);
```

while the assignment after IID omits the ` (PvNode && depth > 4 * ONE_PLY) `
condition. As such, unlike the other two post-IID tte reads, this line of code
does not make SF's state more consistent, but rather introduces an inconsistency
in the definition of pvHit. Indeed, changing line 875 read

```
pvHit = (ttHit && tte->pv_hit()) || (PvNode && depth > 4 * ONE_PLY);
```

to match line 642 is functionally equivalent to removing the line entirely, as
this patch does.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 62756 W: 13787 L: 13746 D: 35223
http://tests.stockfishchess.org/tests/view/5c446c850ebc5902bb5d4b75

LTC
LLR: 3.19 (-2.94,2.94) [-3.00,1.00]
Total: 61900 W: 10179 L: 10111 D: 41610
http://tests.stockfishchess.org/tests/view/5c45bf610ebc5902bb5d5d62

Bench: 3796134

6 years agoChange pinning logic in Static Exchange Evaluation (SEE)
Miguel Lahoz [Fri, 25 Jan 2019 06:37:03 +0000]
Change pinning logic in Static Exchange Evaluation (SEE)

This changes 2 parts with regards to static exchange evaluation.

Currently, we do not allow pinned pieces to recapture if *all* opponent
pinners are still in their starting squares. This changes that to having
a less strict requirement, checking if *any* pinners are still in their
starting square. This makes our SEE give more respect to the pinning
side with regards to exchanges, which makes sense because it helps our
search explore more tactical options.

Furthermore, we change the logic for saving pinners into our state
variable when computing slider_blockers. We will include double pinners,
where two sliders may be looking at the same blocker, a similar concept
to our mobility calculation for sliders in our evaluation section.
Interestingly, I think SEE is the only place where the pinners bitboard
is actually used, so as far as I know there are no other side effects
to this change.

An example and some insights:

White Bf2, Kg1
Black Qe3, Bc5

The move Qg3 will be given the correct value of 0. (Previously < 0)
The move Qd4 will be incorrectly given a value of 0. (Previously < 0)

It seems the tradeoff in search is worth it. Qd4 will likely be pruned
soon by something like probcut anyway, while Qg3 could help us spot
tactics at an earlier depth.

STC:
LLR: 2.96 (-2.94,2.94) [0.50,4.50]
Total: 62162 W: 13879 L: 13408 D: 34875
http://tests.stockfishchess.org/tests/view/5c4ba1a70ebc593af5d49c55

LTC: (Thanks to @alayant)
LLR: 3.40 (-2.94,2.94) [0.00,3.50]
Total: 140285 W: 23416 L: 22825 D: 94044
http://tests.stockfishchess.org/tests/view/5c4bcfba0ebc593af5d49ea8

Bench: 3937213

6 years agoUse int8_t instead of int for SquareDistance[]
Maciej Żenczykowski [Sat, 26 Jan 2019 17:16:17 +0000]
Use int8_t instead of int for SquareDistance[]

This patch saves (4-1) * 64 * 64 = 12KiB of cache.

STC
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 176120 W: 38944 L: 38087 D: 99089
http://tests.stockfishchess.org/tests/view/5c4c9f840ebc593af5d4a7ce

LTC
As a pure speed up, I've been informed it should not require LTC.

No functional change

6 years agoSupport counting rules
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.

6 years agoDisable futility pruning for racing kings
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

6 years agoTweak king danger for nCheck chess
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

6 years agoSimplify TrappedRook
protonspring [Mon, 21 Jan 2019 18:55:51 +0000]
Simplify TrappedRook

Simplified TrappedRook to a single penalty removing the dependency on mobility.

STC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 106718 W: 23530 L: 23577 D: 59611
http://tests.stockfishchess.org/tests/view/5c43f6bd0ebc5902bb5d4131

LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 54053 W: 8890 L: 8822 D: 36341
http://tests.stockfishchess.org/tests/view/5c44932a0ebc5902bb5d4d59

bench 3665090