fairystockfish.git
7 years agoRevert Pull Request #1771, see issue #1785 (#1786)
Günther Demetz [Tue, 23 Oct 2018 16:04:30 +0000]
Revert Pull Request #1771, see issue #1785 (#1786)

no functional change

bench: 4274207

7 years agoSmall simplification in castling rights
mstembera [Sun, 14 Oct 2018 19:50:31 +0000]
Small simplification in castling rights

There is no need for a special struct with a static member
to generate castling rights.

No functional change.

7 years agoAvoid pawn hash collissions with shogi pawns
Fabian Fichter [Sat, 20 Oct 2018 14:17:44 +0000]
Avoid pawn hash collissions with shogi pawns

shogi
ELO: 16.52 +-33.3 (95%) LOS: 83.5%
Total: 400 W: 200 L: 181 D: 19

euroshogi
ELO: 16.52 +-32.5 (95%) LOS: 84.1%
Total: 400 W: 191 L: 172 D: 37

minishogi
ELO: -13.90 +-26.2 (95%) LOS: 14.8%
Total: 400 W: 110 L: 126 D: 164

No functional change for non-shogi variants.

7 years agoTweak capture the flag bonus
Fabian Fichter [Sat, 20 Oct 2018 12:36:20 +0000]
Tweak capture the flag bonus

king of the hill STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 2713 W: 1223 L: 1095 D: 395
http://35.161.250.236:6543/tests/view/5bc9a43a6e23db7639060c0f

racing kings STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 1961 W: 955 L: 833 D: 173
http://35.161.250.236:6543/tests/view/5bc9a44b6e23db7639060c12

7 years agoSmoothen PSQTs for large boards
Fabian Fichter [Thu, 18 Oct 2018 21:49:33 +0000]
Smoothen PSQTs for large boards

shogi
ELO: 36.62 +-47.5 (95%) LOS: 93.7%
Total: 200 W: 106 L: 85 D: 9

No functional change for board sizes <= 8x8.

7 years agoSimplify check extensions
ElbertoOne [Tue, 2 Oct 2018 07:07:29 +0000]
Simplify check extensions

Remove the !moveCountPruning condition for check extensions, which seems not necessary.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 22238 W: 4835 L: 4715 D: 12688
http://tests.stockfishchess.org/tests/view/5bb3241a0ebc592439f6d2ac

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 36593 W: 5898 L: 5802 D: 24893
http://tests.stockfishchess.org/tests/view/5bb34c220ebc592439f6d5dc

Bench: 4274207

7 years agoRandomize draw eval
Joost VandeVondele [Sun, 14 Oct 2018 18:33:24 +0000]
Randomize draw eval

The patch adds a small random component (+-1) to VALUE_DRAW for the evaluation
of draw positions (mostly 3folds). This random component is not static, but
potentially different for each visit of the node (hence derived from the node
counter). The effect is that in positions with many 3fold draw lines, different
lines are followed at each iteration. This keeps the search much more dynamic,
as opposed to being locked to one particular 3fold.

An example of a position where master suffers from 3fold-blindness and this patch
solves quickly is the famous TCEC game 53:

FEN: 3r2k1/pr6/1p3q1p/5R2/3P3p/8/5RP1/3Q2K1 b - - 0 51

master doesn't see that this is a lost position (draw eval up to depth 50) as
Qf6-e6 d4-d5 (found by patch at depth 23) leads to a loss.

The 3fold-blindness is more important at longer TC, the patch was yellow STC and
LTC, but passed VLTC:

STC
LLR: -2.95 (-2.94,2.94) [0.00,5.00]
Total: 46328 W: 10048 L: 9953 D: 26327
http://tests.stockfishchess.org/tests/view/5b9c0ca20ebc592cf275f7c7

LTC
LLR: -2.95 (-2.94,2.94) [0.00,5.00]
Total: 54663 W: 8938 L: 8846 D: 36879
http://tests.stockfishchess.org/tests/view/5b9ca1610ebc592cf27601d3

VLTC
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 31789 W: 4512 L: 4284 D: 22993
http://tests.stockfishchess.org/tests/view/5b9d1a670ebc592cf276076d

Credit to @crossbr for pointing to this problem repeatedly, and giving the hint
that many draw lines are typical in those situations.

Bench: 4756639

7 years agoCorrectly track down pv even in fail-high case
Guenther Demetz [Mon, 17 Sep 2018 06:42:58 +0000]
Correctly track down pv even in fail-high case

Currently we update (track up) the pv even in the fail high case.
However most times in such cases the pv in the ply below remains unset
because there we have value == alpha and so finally we see truncated
pv's (=just one move) in fail high cases.
Of course tracking down these pv's (+sending them to the gui) comes at a
certian cost, but no-regression tests passed:

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 16300 W: 3556 L: 3424 D: 9320
http://tests.stockfishchess.org/tests/view/5b9b73500ebc592cf275ea92

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 202411 W: 32734 L: 32897 D: 136780
http://tests.stockfishchess.org/tests/view/5b9baed10ebc592cf275ef6d

N.B.: Digging also into qsearch was tried in another version but seemed
not to pass the tests. This means that we don't always will get a pv
until the very tips.

No functional change

7 years agoSimplify evaluation of blockers_for_king
Miguel Lahoz [Thu, 20 Sep 2018 07:12:12 +0000]
Simplify evaluation of blockers_for_king

Currently, we have two evaluation terms which account for pinned pieces.
One is for all pinned pieces in kingDanger computation and another for
just pinned pawns in ThreatByRank. We can increase the relevant bonus
for kingDanger calculation and do away with the ThreatByRank, which
seems to just add more complexity.

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 113353 W: 24299 L: 24356 D: 64698
http://tests.stockfishchess.org/tests/view/5ba348c20ebc592cf2766e61

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 96458 W: 15514 L: 15511 D: 65433
http://tests.stockfishchess.org/tests/view/5ba398830ebc592cf2767563

At 100k games, I thought it struggles a bit, but some related [0,4]
tests attempting individual tweaks seem to fail:

I tried directly tweaking ThreatByRank:
http://tests.stockfishchess.org/tests/view/5ba3c6300ebc592cf276791c
http://tests.stockfishchess.org/tests/view/5ba3c6190ebc592cf2767917

@Vizveznedec was also recently trying to tweak the same coeffecients
for kingDanger calculation:
http://tests.stockfishchess.org/tests/view/5ba2c7320ebc592cf27664b2
http://tests.stockfishchess.org/tests/view/5ba2c8220ebc592cf27664b8
http://tests.stockfishchess.org/tests/view/5ba2c7880ebc592cf27664b4
http://tests.stockfishchess.org/tests/view/5ba2c7ce0ebc592cf27664b6

Bench: 4648095

7 years agosmall ttCapture simplification.
Joost VandeVondele [Tue, 2 Oct 2018 14:34:40 +0000]
small ttCapture simplification.

ttCapture can be assigned to only once outside of the main loop. The patch seems
functional at higher depths (seems possible in the case of non-legal TTmoves that
are captures).

passed STC
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 23189 W: 5098 L: 4980 D: 13111
http://tests.stockfishchess.org/tests/view/5bb3822c0ebc592439f6d966

passed LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 10336 W: 1665 L: 1529 D: 7142
http://tests.stockfishchess.org/tests/view/5bb39a190ebc592439f6db8a

unchanged bench: 4312846

7 years agoCombo
31m059 [Mon, 8 Oct 2018 18:43:45 +0000]
Combo

This PR is a combination of two unrelated [0, 4] patches that appeared promising
but not quite strong enough to pass on their own. The combination initially failed
STC with a positive score after a long run, and the subsequent speculative LTC test
passed.

* tweak_threatOnQueen4 :

Increase the middlegame components of ThreatByMinor[QUEEN]
and ThreatByRook[QUEEN] by 15 each. Bryan's (@crossbr) analysis of CCC Bonus Game 10
inspired several tests on penalizing a queen with limited safe mobility. While
attempting to implement this idea, I noticed that when I did not include the queen's
current square in the calculations, the Elo gains seemed to vanish--and only then did
I have the idea to revisit ThreatByMinor[QUEEN] and ThreatByRook[QUEEN], adding a
corresponding value to each. Without Bryan's work, this test would never have been
submitted. I would also like to recognize the efforts and contributions of @SFisGOD,
who also vigorously worked on this idea.

* Use pure static eval for null move pruning :

This idea was directly re-purposed from a promising test by Jerry Donald Watson
(@jerrydonaldwatson) in August. It was also independently developed and tested by
Stefan Geschwentner (@locutus2) previously.
Thank you all!

STC (failed yellow):
LLR: -2.96 (-2.94,2.94) [0.00,4.00]
Total: 83913 W: 17986 L: 17825 D: 48102
http://tests.stockfishchess.org/tests/view/5bbc59300ebc592439f76aa5

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 137198 W: 22351 L: 21772 D: 93075
http://tests.stockfishchess.org/tests/view/5bbce35f0ebc592439f77639

Bench: 4312846

7 years agoAdd variants with large boards to readme
Fabian Fichter [Sat, 13 Oct 2018 10:48:01 +0000]
Add variants with large boards to readme

7 years agoSupport Courier chess
Fabian Fichter [Sat, 6 Oct 2018 17:34:25 +0000]
Support Courier chess

Introduce piece type wazir to support courier chess.

bench: 4648488

7 years agoSupport Jeson Mor
Fabian Fichter [Sat, 6 Oct 2018 16:43:11 +0000]
Support Jeson Mor

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

Positions are considered to be winning if a player has the move
and one of his knights is on e5.

No functional change for other variants.

7 years agoSupport Janus and Embassy chess
Fabian Fichter [Sat, 6 Oct 2018 15:48:45 +0000]
Support Janus and Embassy chess

No functional change for other variants.

7 years agoSupport capablanca chess (#6)
Fabian Fichter [Sat, 29 Sep 2018 21:27:55 +0000]
Support capablanca chess (#6)

Generalize castling and add archbishop to support capablanca chess.

bench: 4636755

7 years agoAdd support for large-board variants (#6)
Fabian Fichter [Thu, 27 Sep 2018 20:18:34 +0000]
Add support for large-board variants (#6)

Add compile-time option for enabling a 12x10 board representation with
128 bit bitboards to enable support for chess variants with large boards.
Support shogi as first variant with board size >8x8.

Open issues for large board version:
- Evaluation needs to be consolidated (esp. PSQT)
- Endgame evaluation is disabled and requires to be fixed
  before reenabling it.
- Memory consumption of history tables needs to be reduced.

No functional change for normal version.

7 years agoAvoid overflow in bit-shift operation
Fabian Fichter [Sun, 7 Oct 2018 13:59:18 +0000]
Avoid overflow in bit-shift operation

Fixes error in Travis build.

7 years agoSimplify move encoding
Fabian Fichter [Sun, 30 Sep 2018 09:19:42 +0000]
Simplify move encoding

Using 32 bits for move encoding, the encoding of promotions
can be simplified, which results in a 5-10% speed-up.

Tested in combination with previous commit.

STC
ELO: 21.39 +-10.0 (95%) LOS: 100.0%
Total: 2000 W: 491 L: 368 D: 1141
http://35.161.250.236:6543/tests/view/5bb096486e23db0fbab0ddf5

LTC
ELO: 14.95 +-9.3 (95%) LOS: 99.9%
Total: 2000 W: 420 L: 334 D: 1246
http://35.161.250.236:6543/tests/view/5bb112c56e23db0fbab0de0a

No functional change.

7 years agoReserve 32 bit for moves in TT entries
Fabian Fichter [Sat, 29 Sep 2018 12:36:53 +0000]
Reserve 32 bit for moves in TT entries

Increases size of TT entries by 20%.

STC
ELO: 1.22 +-10.0 (95%) LOS: 59.4%
Total: 2000 W: 439 L: 432 D: 1129
http://35.161.250.236:6543/tests/view/5baf7ef76e23db0fbab0ddee

LTC
ELO: -6.43 +-9.5 (95%) LOS: 9.2%
Total: 2000 W: 371 L: 408 D: 1221
http://35.161.250.236:6543/tests/view/5baffcbf6e23db0fbab0ddf2

bench: 4985837

7 years agoReenable appveyor builds
Fabian Fichter [Sat, 6 Oct 2018 14:36:55 +0000]
Reenable appveyor builds

7 years agoDisable appveyor for now
Fabian Fichter [Fri, 5 Oct 2018 08:27:30 +0000]
Disable appveyor for now

7 years agoSkip razoring for antichess variants
Fabian Fichter [Sat, 29 Sep 2018 22:33:18 +0000]
Skip razoring for antichess variants

STC giveaway
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 6849 W: 2738 L: 2561 D: 1550
http://35.161.250.236:6543/tests/view/5b9bedb66e23db0fbab0dd7a

STC losers
LLR: -2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1882 W: 805 L: 881 D: 196
http://35.161.250.236:6543/tests/view/5babd6496e23db0fbab0dddf

LTC losers
LLR: 2.98 (-2.94,2.94) [-10.00,5.00]
Total: 1095 W: 510 L: 456 D: 129
http://35.161.250.236:6543/tests/view/5bad0b6f6e23db0fbab0dde2

7 years agoUpdate readme
Fabian Fichter [Fri, 28 Sep 2018 08:54:08 +0000]
Update readme

7 years agoFix two typos in comments
Eduardo Caceres [Fri, 21 Sep 2018 21:18:46 +0000]
Fix two typos in comments

Note by snicolet: I use this non-functional change patch
as a pretext to correct the wrong bench number I introduced
in the message of the previous commit.

Bench: 4059356

7 years agoRemove essentially unused code
Joost VandeVondele [Thu, 20 Sep 2018 12:50:39 +0000]
Remove essentially unused code

this was added recently as part of a larger commit, but only changes eval of positions at MAX_PLY depth a little. Can be safely removed:

passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 7424 W: 1640 L: 1492 D: 4292
http://tests.stockfishchess.org/html/live_elo.html?5ba3bcbe0ebc592cf27677ff

passed LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 73554 W: 12028 L: 11990 D: 49536
http://tests.stockfishchess.org/html/live_elo.html?5ba397ee0ebc592cf2767556

unchanged Bench: 4248710

7 years agoTwo simplifications in passed pawns evaluation
protonspring [Fri, 14 Sep 2018 15:04:11 +0000]
Two simplifications in passed pawns evaluation

These two simplifications appear to be affecting and/or offsetting each other.
Neither can be removed independently, but in combination they pass -3,1.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 36391 W: 7888 L: 7795 D: 20708
http://tests.stockfishchess.org/tests/view/5b9bce410ebc592cf275f1b2

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 19513 W: 3237 L: 3114 D: 13162
http://tests.stockfishchess.org/tests/view/5b9c0edf0ebc592cf275f80e

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

bench 4059356

7 years agoPawn PSQT Tuned
Rocky640 [Sun, 23 Sep 2018 20:57:57 +0000]
Pawn PSQT Tuned

Tested against master "Tweak opposite color bishops endgame scaling"
using values from a 100K SPSA with ck=10

Passed STC
http://tests.stockfishchess.org/tests/view/5ba7fe7a0ebc592cf276b971
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 27717 W: 6052 L: 5782 D: 15883

Passed LTC
http://tests.stockfishchess.org/tests/view/5ba815790ebc592cf276bb6b
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 17486 W: 2919 L: 2712 D: 11855

bench: 4441247

7 years agoRemove unneeded branch
Joost VandeVondele [Sun, 24 Jun 2018 16:14:48 +0000]
Remove unneeded branch

Storing unconditionally the current generation and bound is equivalent to master.
Part of the condition was added as a speed optimization in #429.
Here the branch is fully eliminated.

passed STC single-threaded:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 73515 W: 16378 L: 16359 D: 40778
http://tests.stockfishchess.org/tests/view/5b2fc38c0ebc5902b2e57fd5

passed STC multi-threaded:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 63725 W: 12916 L: 12874 D: 37935
http://tests.stockfishchess.org/tests/view/5b307b8f0ebc5902b2e5895f

The multithreaded test was run after a plausible suggestion by @mstembera that the effect of this could be larger with many cores. The result seems to indicate this doesn't really matter on the 8core architecture abundantly available on fishtest.

No functional change

7 years agoSkip razoring for capture the flag variants
Fabian Fichter [Fri, 14 Sep 2018 17:18:21 +0000]
Skip razoring for capture the flag variants

STC king of the hill
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 4999 W: 2157 L: 1999 D: 843
http://35.161.250.236:6543/tests/view/5b9bede96e23db0fbab0dd7d

STC racing kings
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 6888 W: 3098 L: 2909 D: 881
http://35.161.250.236:6543/tests/view/5b9bee026e23db0fbab0dd81

7 years agoSkip shallow depth pruning when there are forced captures
ianfab [Tue, 7 Aug 2018 21:38:19 +0000]
Skip shallow depth pruning when there are forced captures

STC losers
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 3558 W: 1779 L: 1629 D: 150
http://35.161.250.236:6543/tests/view/5b6a11c66e23db0fbab0dc43

STC giveaway
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 16582 W: 8319 L: 7979 D: 284
http://35.161.250.236:6543/tests/view/5b6a11a86e23db0fbab0dc40

7 years agoDisable endgame evaluation for shatranj
Fabian Fichter [Sun, 23 Sep 2018 09:55:20 +0000]
Disable endgame evaluation for shatranj

STC shatranj
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 229 W: 76 L: 14 D: 139
http://35.161.250.236:6543/tests/view/5ba763b06e23db0fbab0ddc7

7 years agoSkip SEE pruning of captures for antichess variants
Fabian Fichter [Sat, 22 Sep 2018 12:01:17 +0000]
Skip SEE pruning of captures for antichess variants

STC giveaway
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 291 W: 147 L: 64 D: 80
http://35.161.250.236:6543/tests/view/5ba630ff6e23db0fbab0ddc1

STC losers
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 661 W: 331 L: 232 D: 98
http://35.161.250.236:6543/tests/view/5ba631176e23db0fbab0ddc4

7 years agoTweak threat evaluation for antichess variants
Fabian Fichter [Thu, 20 Sep 2018 20:08:15 +0000]
Tweak threat evaluation for antichess variants

STC giveaway
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 462 W: 226 L: 136 D: 100
http://35.161.250.236:6543/tests/view/5ba3fe7a6e23db0fbab0ddaa

STC losers
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 334 W: 195 L: 99 D: 40
http://35.161.250.236:6543/tests/view/5ba3fe8b6e23db0fbab0ddad

7 years agoSkip SEE pruning of quiet moves for antichess variants
Fabian Fichter [Thu, 20 Sep 2018 19:42:11 +0000]
Skip SEE pruning of quiet moves for antichess variants

STC giveaway
LLR: 2.94 (-2.94,2.94) [0.00,10.00]
Total: 108 W: 86 L: 7 D: 15
http://35.161.250.236:6543/tests/view/5ba3f8816e23db0fbab0dda0

STC losers
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 285 W: 180 L: 82 D: 23
http://35.161.250.236:6543/tests/view/5ba3fc4f6e23db0fbab0dda8

7 years agoSkip futility pruning for extinction variants
Fabian Fichter [Fri, 14 Sep 2018 17:26:33 +0000]
Skip futility pruning for extinction variants

STC extinction
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 419 W: 251 L: 147 D: 21
http://35.161.250.236:6543/tests/view/5b9bef726e23db0fbab0dd88

7 years agoTweak shelter strength for drop variants
Fabian Fichter [Sat, 1 Sep 2018 09:22:40 +0000]
Tweak shelter strength for drop variants

STC crazyhouse
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 7305 W: 3696 L: 3490 D: 119
http://35.161.250.236:6543/tests/view/5b8a5c546e23db0fbab0dd0f

7 years agoFix #7: Checkmate evaluation for shatar and shogi
Fabian Fichter [Sun, 16 Sep 2018 21:52:52 +0000]
Fix #7: Checkmate evaluation for shatar and shogi

Evaluate illegal checkmates as losing.

7 years agoAdd king attack weights for fairy pieces
Fabian Fichter [Sun, 16 Sep 2018 16:28:17 +0000]
Add king attack weights for fairy pieces

minishogi
ELO: 40.13 +-45.2 (95%) LOS: 96.1%
Total: 200 W: 98 L: 75 D: 27

euroshogi
ELO: 13.90 +-47.7 (95%) LOS: 71.7%
Total: 200 W: 101 L: 93 D: 6

makruk
ELO: -3.47 +-25.9 (95%) LOS: 39.6%
Total: 200 W: 28 L: 30 D: 142

shatranj
ELO: 12.17 +-28.3 (95%) LOS: 80.1%
Total: 200 W: 38 L: 31 D: 131

7 years agoConsider shogi pawns in shelter evaluation
Fabian Fichter [Sun, 16 Sep 2018 16:26:44 +0000]
Consider shogi pawns in shelter evaluation

euroshogi
ELO: 41.89 +-47.2 (95%) LOS: 96.1%
Total: 200 W: 106 L: 82 D: 12

minishogi
ELO: 6.95 +-43.8 (95%) LOS: 62.3%
Total: 200 W: 84 L: 80 D: 36

7 years agoGuard against overflow in piece types
Fabian Fichter [Sun, 16 Sep 2018 14:21:24 +0000]
Guard against overflow in piece types

No functional change.

7 years agoLess early pruning for nCheck variants
Fabian Fichter [Sun, 2 Sep 2018 14:55:12 +0000]
Less early pruning for nCheck variants

STC 3check
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 4562 W: 2177 L: 2017 D: 368
http://35.161.250.236:6543/tests/view/5b8bfa486e23db0fbab0dd37

7 years agoAdd tic-tac-toe
Fabian Fichter [Sat, 15 Sep 2018 14:19:47 +0000]
Add tic-tac-toe

7 years agoNo initiative bonus for extinction variants
Fabian Fichter [Sat, 8 Sep 2018 13:01:43 +0000]
No initiative bonus for extinction variants

STC giveaway
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1451 W: 646 L: 539 D: 266
http://35.161.250.236:6543/tests/view/5b8bfc716e23db0fbab0dd3a

STC extinction
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 2590 W: 1273 L: 1140 D: 177
http://35.161.250.236:6543/tests/view/5b93c8af6e23db0fbab0dd66

7 years agoBonus for pieces in hand
ianfab [Sat, 25 Aug 2018 17:32:26 +0000]
Bonus for pieces in hand

STC crazyhouse
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 5728 W: 2892 L: 2709 D: 127
http://35.161.250.236:6543/tests/view/5b8192f96e23db0fbab0dcd9

7 years agoSupport connect4
Fabian Fichter [Mon, 10 Sep 2018 20:54:18 +0000]
Support connect4

bench: 4832716

7 years agoTweak opposite colord bishops endgame scaling.
Vizvezdenec [Mon, 10 Sep 2018 10:02:43 +0000]
Tweak opposite colord bishops endgame scaling.

Make scale factor dependant on asymmetry of pawn structure.

STC http://tests.stockfishchess.org/tests/view/5b92a2a80ebc592cf2753dd4
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 31490 W: 6870 L: 6587 D: 18033

LTC http://tests.stockfishchess.org/tests/view/5b92f8170ebc592cf2754438
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 54928 W: 8988 L: 8653 D: 37287

This patch shows that SF can use some more complicated endgame heuristics to evaluate endgames better from the distance.

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

Bench: 4248710

7 years agoSkip king safety evaluation if checking is illegal
Fabian Fichter [Sun, 2 Sep 2018 15:10:00 +0000]
Skip king safety evaluation if checking is illegal

STC racingkings
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 120 W: 106 L: 10 D: 4
http://35.161.250.236:6543/tests/view/5b8bfdd66e23db0fbab0dd3f

7 years agoIncrease king danger for drop variants
Fabian Fichter [Sat, 1 Sep 2018 09:24:37 +0000]
Increase king danger for drop variants

STC crazyhouse
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 1516 W: 805 L: 682 D: 29
http://35.161.250.236:6543/tests/view/5b8a5c6f6e23db0fbab0dd11

7 years agoParameter tweaks in PSQT and NMP
ElbertoOne [Mon, 3 Sep 2018 10:15:31 +0000]
Parameter tweaks in PSQT and NMP

This patch is a combinaison of two parameters tweaks patches which
have failed as strong yellows at LTC recently, by Alain Savard (Rocky640)
and Fabian Fichter (ianfab):
  http://tests.stockfishchess.org/tests/view/5b8a71e60ebc592cf2749b1d
  http://tests.stockfishchess.org/tests/view/5b81ce3b0ebc5902bdbb6585

Passed STC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 57200 W: 12392 L: 12008 D: 32800
http://tests.stockfishchess.org/tests/view/5b8d0a5a0ebc592cf274c48f

And LTC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 37215 W: 6233 L: 5962 D: 25020
http://tests.stockfishchess.org/tests/view/5b8d56090ebc592cf274cb53

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

Bench: 4136116

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

How to continue from there?

The null move reduction formula in line 769 of search.cpp is quite convoluted
and full of mysterious magic constants at the moment, it would certainly be
nice to simplify it and/or gain more Elo from it:

```
Depth R = (  (823 + 67 * depth / ONE_PLY) / 256
           + std::min(int(eval - beta) / 200, 3)) * ONE_PLY;
```

7 years agoUpdate list of authors
Stéphane Nicolet [Mon, 3 Sep 2018 10:46:05 +0000]
Update list of authors

And also fix some spaces and formatting oddities in the code.

No functional change

7 years agoTweak LMR pruning for mandatory captures
Fabian Fichter [Sat, 1 Sep 2018 09:21:05 +0000]
Tweak LMR pruning for mandatory captures

STC giveaway
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 799 W: 359 L: 264 D: 176
http://35.161.250.236:6543/tests/view/5b8a5c376e23db0fbab0dd0d

7 years agoTweak piece values for variants without checks
Fabian Fichter [Sat, 1 Sep 2018 09:25:45 +0000]
Tweak piece values for variants without checks

STC racingkings
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 349 W: 211 L: 111 D: 27
http://35.161.250.236:6543/tests/view/5b8a5c926e23db0fbab0dd13

7 years agoIncrease close enemies penalty
ianfab [Sat, 25 Aug 2018 17:37:58 +0000]
Increase close enemies penalty

For drop and nCheck variants, increase close enemies penalty.

STC 3check
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1504 W: 762 L: 644 D: 98
http://35.161.250.236:6543/tests/view/5b8194426e23db0fbab0dce0

STC crazyhouse
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3254 W: 1665 L: 1518 D: 71
http://35.161.250.236:6543/tests/view/5b81942c6e23db0fbab0dcdd

7 years agoIncrease mobility bonus
ianfab [Sat, 25 Aug 2018 17:42:43 +0000]
Increase mobility bonus

Double mobility bonus for drop and antichess variants.

STC giveaway
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 1946 W: 816 L: 705 D: 425
http://35.161.250.236:6543/tests/view/5b81957f6e23db0fbab0dce8

STC crazyhouse
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 3138 W: 1617 L: 1471 D: 50
http://35.161.250.236:6543/tests/view/5b8195546e23db0fbab0dce2

7 years agoSymmetrize evaluation for smaller board sizes
Fabian Fichter [Sun, 2 Sep 2018 13:10:24 +0000]
Symmetrize evaluation for smaller board sizes

Piece-square tables remain asymmetrical.

7 years agoTweak tempo value for drop variants
Fabian Fichter [Sat, 1 Sep 2018 09:26:59 +0000]
Tweak tempo value for drop variants

STC crazyhouse
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 773 W: 436 L: 324 D: 13
http://35.161.250.236:6543/tests/view/5b8a5cb16e23db0fbab0dd15

7 years agoRe-introduce "keep pawns on both flanks"
Stéphane Nicolet [Sat, 1 Sep 2018 08:39:29 +0000]
Re-introduce "keep pawns on both flanks"

Re-introduce the "keep pawns on both flanks" idea.

STC yellow:
LLR: -2.95 (-2.94,2.94) [0.00,5.00]
Total: 93279 W: 20175 L: 19853 D: 53251
http://tests.stockfishchess.org/tests/view/5b8a00370ebc592cf274916a

LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 11440 W: 1960 L: 1792 D: 7688
http://tests.stockfishchess.org/tests/view/5b8a329f0ebc592cf2749615

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

Bench: 4609645

7 years agoLong Diagonal Tweaks
Rocky640 [Fri, 31 Aug 2018 13:30:16 +0000]
Long Diagonal Tweaks

a) Reduce PSQT values along the long diagonals on non-central squares
and increase the LongDiagonal bonus accordingly. The effect is to penalise
bishops on the long diagonal which can not "see" the 2 central squares.
The "good" bishops still have more or less the same bonus as current master.

b) For a bishop on a central square, because of the "| s" term in the code,
the LongDiagonalBonus was always given. So while being there, remove the "| s"
and compensate the central Bishop PSQT accordingly.

Passed STC
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 44498 W: 9658 L: 9323 D: 25517
http://tests.stockfishchess.org/tests/view/5b8992770ebc592cf2748942

Passed LTC
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 63092 W: 10324 L: 9975 D: 42793
http://tests.stockfishchess.org/tests/view/5b89a17a0ebc592cf2748b59

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

bench: 4693901

7 years agoRemove PawnsOnBothFlanks
protonspring [Wed, 29 Aug 2018 00:48:45 +0000]
Remove PawnsOnBothFlanks

It looks like PawnsOnBothFlanks can be removed from initiative().
A barrage of tests seem to confirm that the adjustment to -110
does not gain elo to offset any potential loss by removing
PawnsOnBothFlanks.

STC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 22014 W: 4760 L: 4639 D: 12615
http://tests.stockfishchess.org/tests/view/5b7f50cc0ebc5902bdbb3a3e

LTC
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 40561 W: 6667 L: 6577 D: 27317
http://tests.stockfishchess.org/tests/view/5b801f9f0ebc5902bdbb4467

The barrage of 0,4 tests on the -136 value are in my ps_tunetests branch.
http://tests.stockfishchess.org/tests/user/protonspring

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

Bench: 4413173

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

How to continue from there?

The fact that endgames with all the pawns on only one flank are
drawish is a well-known chess idea, so it seems quite strange that
this can be removed so easily without losing Elo.

In the past there had been attempts to improve on PawnsOnBothFlanks
with similar concepts (for instance using the pawn span value), but
the tests were at best neutral. Maybe Stockfish is now mature enough
that these refined ideas would work to replace PawnsOnBothFlanks?

7 years agoFix bug with "excludedMove" for probcut
MJZ1977 [Wed, 29 Aug 2018 00:27:47 +0000]
Fix bug with "excludedMove" for probcut

Bugfix: "excludedMove" has to be skipped in the probcut loop too.
If it is not skipped, the probcut can exit quickly with a wrong return
value corresponding to the excluded move. See the following forum
thread for a discussion:
https://groups.google.com/forum/?fromgroups=#!topic/fishcooking/GGithf_VwSU

STC :
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 17130 W: 3747 L: 3617 D: 9766
http://tests.stockfishchess.org/tests/view/5b8460c40ebc5902bdbb999a

LTC :
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 12387 W: 2064 L: 1930 D: 8393
http://tests.stockfishchess.org/tests/view/5b8466f90ebc5902bdbb9a21

To go further : it can be perhaps useful to tune the singular extension
search parameters.

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

Bench: 4308541

7 years agoShrink the hash table of tablebases back to 4096 entries
Steinar H. Gunderson [Wed, 29 Aug 2018 00:00:14 +0000]
Shrink the hash table of tablebases back to 4096 entries

There is no need to make this as large as 65536 just for the sake of the
single 7-man tablebase that happens to have the key 0xf9247fff. Idea for the
fix by Ronald de Man, who suggested simply to allow more buckets past the end.

We also implement Robin Hood hashing for the hash table, which takes the worst
-case search for full 7-man tablebases down from 68 to 11 probes (Also takes
the average probe length from 2.06 to 2.05). For a table with 8K entries, the
corresponding numbers would be worst-case from 9 to 4, with average from 1.30
to 1.29.

https://github.com/official-stockfish/Stockfish/pull/1747

No functional change

7 years agoRefactor pure static eval code
Ondrej Mosnacek [Tue, 28 Aug 2018 23:22:22 +0000]
Refactor pure static eval code

This commit tries to make the new pure static eval code more readable by
splitting up the nested assignments into separate lines and making a few
more cosmetic tweaks.

No functional change.

7 years agomake DistanceRing more consistent
protonspring [Mon, 20 Aug 2018 16:29:46 +0000]
make DistanceRing more consistent

This is a non-functional change. By pre-incrementing minKingPawnDistance
instead of post-incrementing, we can remove this -1.

This also makes DistanceRing more consistent with the rest of stockfish
since it now holds an actual "distance" instead of a less natural distance-1.

In current master, PseudoAttacks[KING][ksq] == DistanceRingBB[ksq][0]
With this patch, it will be PseudoAttacks[KING][ksq] == DistanceRingBB[ksq][1]
ie squares at distance 1 from the king. This is more natural use of distance.

The current array size DistanceRingBB[SQUARE_NB][8] is still OK with the new
definition, because maximum distance between two squares on a chess board is
seven (for example Kh1 and a8).

No functional change.

7 years agoTweak stat bonus formula
Vizvezdenec [Tue, 28 Aug 2018 22:50:55 +0000]
Tweak stat bonus formula

Tweak stat bonus formula on top of latest elo gain by @snicolet

STC
http://tests.stockfishchess.org/tests/view/5b830a810ebc5902bdbb7e9c
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 27797 W: 6113 L: 5842 D: 15842

LTC
http://tests.stockfishchess.org/tests/view/5b831f2c0ebc5902bdbb8038
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 13655 W: 2294 L: 2099 D: 9262

I think that more elo can be found in tweaks of this parameters so I plan
to further try some "hand-tuning", including increasing/decreasing ratio of
two constants and making bonus assimetric to 0. Thx to @AndyGrant for helping
with github and @jerrydonaldwatson for original idea.

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

Bench: 4172767

7 years agoDon't modify Eval with search stats at ttHits
VoyagerOne [Wed, 22 Aug 2018 19:51:20 +0000]
Don't modify Eval with search stats at ttHits

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 28344 W: 6148 L: 6040 D: 16156
http://tests.stockfishchess.org/tests/view/5b7d6b4e0ebc5902bdbb1914

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 41084 W: 6769 L: 6680 D: 27635
http://tests.stockfishchess.org/tests/view/5b7d7f5b0ebc5902bdbb1b85

Bench: 4457440

7 years agoSpeed up attackers_to
Fabian Fichter [Tue, 28 Aug 2018 18:19:27 +0000]
Speed up attackers_to

Loop only over relevant piece types for a speed-up with no functional change.

7 years agoConsider pieces in hand in king danger
ianfab [Sat, 25 Aug 2018 17:27:42 +0000]
Consider pieces in hand in king danger

STC crazyhouse
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 583 W: 340 L: 231 D: 12
http://35.161.250.236:6543/tests/view/5b8191f06e23db0fbab0dcd6

7 years agoRemove lazy evaluation
ianfab [Thu, 23 Aug 2018 20:26:20 +0000]
Remove lazy evaluation

STC racing kings
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 160 W: 117 L: 26 D: 17
http://35.161.250.236:6543/tests/view/5b7f9fca6e23db0fbab0dcc3

STC crazyhouse
ELO: 17.91 +-15.1 (95%) LOS: 99.0%
Total: 2000 W: 1037 L: 934 D: 29
http://35.161.250.236:6543/tests/view/5b7f18a36e23db0fbab0dcb9

STC chess
ELO: -2.61 +-10.0 (95%) LOS: 30.5%
Total: 2000 W: 426 L: 441 D: 1133
http://35.161.250.236:6543/tests/view/5b805f6b6e23db0fbab0dcca

bench: 5056893

7 years agoTweak probcut margin for nCheck chess
Fabian Fichter [Mon, 27 Aug 2018 18:51:33 +0000]
Tweak probcut margin for nCheck chess

STC 3check
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 5912 W: 2839 L: 2658 D: 415
http://35.161.250.236:6543/tests/view/5b71df4f6e23db0fbab0dca6

7 years agoMore robust shogi move parsing
ianfab [Wed, 22 Aug 2018 19:58:45 +0000]
More robust shogi move parsing

Allow optional equals sign at end of move string.

7 years agoStore only unchanged static evaluations in TT
Stefan Geschwentner [Mon, 20 Aug 2018 10:06:52 +0000]
Store only unchanged static evaluations in TT

A recent commit introduced a decrease of the static evaluation of
an inner node dependent on the previous stat score, which finally
was also stored in the transposition table. Now only the unchanged
static evaluation are stored there.

Remark:
For the case that a static evaluation can be retrieved from the
transposition table the value is now used unchanged. Another test
which also applies the modification in this case failed:
http://tests.stockfishchess.org/tests/view/5b7af6df0ebc5902bdbae2f6

STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 6707 W: 1547 L: 1383 D: 3777
http://tests.stockfishchess.org/tests/view/5b7a92df0ebc5902bdbadcf3

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 36203 W: 6046 L: 5781 D: 24376
http://tests.stockfishchess.org/tests/view/5b7abaa10ebc5902bdbadfa9

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

Bench: 4457440

7 years agoUse an affine formula to mix stats and eval
Stéphane Nicolet [Fri, 17 Aug 2018 23:23:36 +0000]
Use an affine formula to mix stats and eval

Follow-up for the previous patch: we use an affine formula to mix stats
and evaluation in search. The idea is to give a bonus if the previous
move of the opponent was historically bad, and a malus if the previous
move of the opponent was historically good.

More precisely, if x is the stat score of the previous move by the opponent,
we implement the following formulas to tweak the evaluation at an internal
node of the tree for our pruning decisions at this node:

if x = 0, use v' = eval(P)
if x > 0, use v' = eval(P) - 5 - x/1024
if x < 0, use v' = eval(P) + 5 - x/1024

For reference, the previous master had this simpler rule:

if x > 0, use v' = eval(P) - 10
if x <= 0, use v' = eval(P)

STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 29322 W: 6359 L: 6088 D: 16875
http://tests.stockfishchess.org/tests/view/5b76a5980ebc5902bdba957f

LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 30893 W: 5154 L: 4910 D: 20829
http://tests.stockfishchess.org/tests/view/5b76ca6d0ebc5902bdba9914

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

Bench: 4592766

7 years agoUpdate readme with new variants
Fabian Fichter [Fri, 17 Aug 2018 20:34:05 +0000]
Update readme with new variants

7 years agoSupport codrus chess
ianfab [Fri, 17 Aug 2018 19:24:03 +0000]
Support codrus chess

Variant of antichess with forced captures; losing the king wins.

http://www.chessvariants.com/diffobjective.dir/giveaway.html
http://www.binnewirtz.com/Schlagschach1.htm

7 years agoSupport breakthrough
ianfab [Fri, 17 Aug 2018 18:31:23 +0000]
Support breakthrough

https://en.wikipedia.org/wiki/Breakthrough_(board_game)

bench: 5016237

7 years agoInsert missing value for clobber pieces
ianfab [Fri, 17 Aug 2018 18:06:40 +0000]
Insert missing value for clobber pieces

7 years agoMix search stats with evaluation
VoyagerOne [Thu, 16 Aug 2018 21:58:48 +0000]
Mix search stats with evaluation

Mix search stats with evaluation: if the opponent's move has a good historyStat,
then decrease the evaluation of the internal node a bit for the pruning decisions
during search.

STC;
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 72083 W: 15683 L: 15203 D: 41197
http://tests.stockfishchess.org/tests/view/5b74c3ea0ebc5902bdba7d41

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 29104 W: 4867 L: 4630 D: 19607
http://tests.stockfishchess.org/tests/view/5b7565000ebc5902bdba851b

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

Bench: 4514101

-----------

How to continue from there?

• the use of the previous stat score can probably be simplified in lines 587 and 716
• we could try to use a continuous bonus based on the previous stat score, instead
  of just a fixed offset of -10 when the opponent previous move was good.

----------

Comments by Stefan Geschwentner:

Interesting idea. Because only the eval in search is tweak this should only
influence the eval and static eval used at inner nodes, and not on the return
search value (which comes in the end from quiescence search), except through
saving in TT followed by a TT cutoff.

So essentialy this effects diverse pruning/reduction parts -- eval and static
eval  are lowered for good opponent moves:

• tt cutoff (ttValue)
• improving (static eval)
• more razoring (eval)
• less futility pruning (eval)
• less null move pruning (eval + static eval) (but with little more depth)
• more probcut (static eval)
• more move futility pruning (static eval)

7 years agoSimplify king file dependancy in evaluate_shelter()
protonspring [Fri, 17 Aug 2018 08:19:32 +0000]
Simplify king file dependancy in evaluate_shelter()

Remove the special value we used for the file of the king in the
evaluate_shelter() function, and compensate by tweaking some of
the ShelterStrength[] array values.

STC
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 17069 W: 3782 L: 3652 D: 9635
http://tests.stockfishchess.org/tests/view/5b75eb0d0ebc5902bdba8f3d

LTC
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 42639 W: 6973 L: 6887 D: 28779
http://tests.stockfishchess.org/tests/view/5b75fd7f0ebc5902bdba906b

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

Bench: 4639508

7 years agoSupport clobber
ianfab [Thu, 16 Aug 2018 20:55:26 +0000]
Support clobber

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

bench: 4737198

7 years agoSupport horde chess
ianfab [Tue, 14 Aug 2018 20:31:48 +0000]
Support horde chess

- Add horde chess.
- Increase piece list size.
- Add configuration option for pawn double steps from first rank.

No functional change for existing variants.

7 years agoTweak probcut margin for extinction variants
ianfab [Mon, 13 Aug 2018 19:41:05 +0000]
Tweak probcut margin for extinction variants

extinction STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 411 W: 238 L: 138 D: 35
http://35.161.250.236:6543/tests/view/5b71df356e23db0fbab0dca3

7 years agoTweak bonus for racing kings
ianfab [Mon, 13 Aug 2018 19:28:44 +0000]
Tweak bonus for racing kings

racing kings STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 469 W: 262 L: 162 D: 45
http://35.161.250.236:6543/tests/view/5b71dcbb6e23db0fbab0dca0

7 years agoDouble weight of capture history
Stéphane Nicolet [Tue, 14 Aug 2018 07:24:26 +0000]
Double weight of capture history

We double in this patch the weight of the capture history table in the
local scoring of captures for move ordering.

The capture history table is indexed by the triplet (capturing piece,
capture square, captured piece) and gets information like "it seems to
have been historically good in that part of the search tree to capture
a pawn with a rook on g3, even if it seems to lose material", and affect
the normaly pure « Most Valuable Victim » ordering of captures.

Finished yellow at STC after 228842 games (posting a +1.36 Elo gain):
LLR: -2.95 (-2.94,2.94) [0.00,4.00]
Total: 228842 W: 50894 L: 50152 D: 127796
http://tests.stockfishchess.org/tests/view/5b714bb00ebc5902bdba332d

Passed LTC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 43251 W: 7425 L: 7131 D: 28695
http://tests.stockfishchess.org/tests/view/5b71c7d40ebc5902bdba3e51

Thanks to user Vizvezdenec for running the LTC test.

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

Bench: 4272361

7 years agoRemove pawncount array in imbalance
Alain SAVARD [Tue, 14 Aug 2018 06:31:56 +0000]
Remove pawncount array in imbalance

This is a natural follow up to last commit where values on the
QuadraticOurs diagonal and some piece value deltas were changed.
@Stefano80 tried to simplify the newly introduced pawncount array
using QuadraticOurs[1][1] =52 and a -30 adjustment on pawn values

His STC [-3,1] was green
http://tests.stockfishchess.org/tests/view/5b707f5b0ebc5902bdba2745
but not his LTC[-3,1]
http://tests.stockfishchess.org/tests/view/5b7095700ebc5902bdba2a49

So I started a 80000 30+0.3 SPSA on the QuadraticOurs diagonal and
on the piece values using @Stefano80 start values.

SPSA gave the new values QuadraticOurs[1][1] =38 and a -33 on pawn
values (the other changes on QuadraticOurs were kept, but were not
ignificant according to this test
http://tests.stockfishchess.org/tests/view/5b710ccb0ebc5902bdba2f27)

STC
http://tests.stockfishchess.org/tests/view/5b710b220ebc5902bdba2f19
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 50902 W: 11214 L: 11150 D: 28538

LTC
http://tests.stockfishchess.org/tests/view/5b7124ef0ebc5902bdba3106
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 34271 W: 5852 L: 5753 D: 22666

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

bench: 4738555

7 years agoNon-linear bonus for pawn count
GuardianRM [Sun, 12 Aug 2018 16:40:03 +0000]
Non-linear bonus for pawn count

This patch introduces a non-linear bonus for pawns, along with some
(linear) corrections for the other pieces types.

The original values were obtained by a massive non-linear tuning of both
pawns and other pieces by GuardianRM, while Alain Savard and Chris Cain
later simplified the patch by observing that, apart from the pawn case, the
tuned corrections were in fact almost affine and could be incorporated in
our current code base via the piece values in types.h (offset) and the diagonal
of the quadratic matrix (slope). See discussion in PR#1725 :
https://github.com/official-stockfish/Stockfish/pull/1725

STC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 42948 W: 9662 L: 9317 D: 23969
http://tests.stockfishchess.org/tests/view/5b6ff6e60ebc5902bdba1d87

LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 19683 W: 3409 L: 3206 D: 13068
http://tests.stockfishchess.org/tests/view/5b702dbd0ebc5902bdba216b

How to continue from there?
- Maybe the non-linearity for the pawn value could be somewhat tempered
  again and a simpler linear correction for pawns would work?

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

Bench: 4681496

7 years agoFix #5: Set attack bitboards for all piece types
ianfab [Sun, 12 Aug 2018 09:49:53 +0000]
Fix #5: Set attack bitboards for all piece types

This fixes issues with uninitialized attack tables.
Bench results are deterministic now also for variants
that are missing some of the standard chess piece types.

No functional change for standard chess.

7 years agoReference wiki in readme
Fabian Fichter [Sun, 12 Aug 2018 08:44:59 +0000]
Reference wiki in readme

7 years agoCombo of several promising parameter tweaks
Stefano Cardanobile [Sun, 12 Aug 2018 08:02:51 +0000]
Combo of several promising parameter tweaks

Combo of several tuning patches which finished yellow at LTC.

[STC](http://tests.stockfishchess.org/tests/view/5b6ead340ebc5902bdba14ce)
LR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 10668 W: 2445 L: 2239 D: 5984
Elo: 6.25 [1.76,10.69] (95%)

[LTC](http://tests.stockfishchess.org/tests/view/5b6eb50e0ebc5902bdba151f)
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 23761 W: 4155 L: 3923 D: 15683
Elo: 3.02 [0.29,5.67] (95%)

Original patches:
- [Piece values](http://tests.stockfishchess.org/tests/view/5b6d2cc00ebc5902bdba02d5) by Stefano Cardanobile
- [Stat bonus](http://tests.stockfishchess.org/tests/view/5b6adbc90ebc5902bdb9da73) by Stefan Geschwentner
- [Rook on pawn](http://tests.stockfishchess.org/tests/view/5b62a95b0ebc5902bdb961c0) by Mark Tenzer
- [Hanging bonus](http://tests.stockfishchess.org/tests/view/5b5d2fa00ebc5902bdb90855) by Ivan Ilvec
- [ss tweak](http://tests.stockfishchess.org/tests/view/5b58b7240ebc5902bdb89025) by miguel-l

Bench: 4694813

7 years agoUse negative piece values for antichess-like variants
ianfab [Fri, 10 Aug 2018 22:32:14 +0000]
Use negative piece values for antichess-like variants

giveaway STC
LLR: 7.17 (-2.94,2.94) [0.00,10.00]
Total: 234 W: 231 L: 2 D: 1
http://35.161.250.236:6543/tests/view/5b6e12d56e23db0fbab0dc73

losers STC
LLR: 0.00 (-2.94,2.94) [0.00,10.00]
Total: 1342 W: 1071 L: 271 D: 0
http://35.161.250.236:6543/tests/view/5b6e12f06e23db0fbab0dc76

7 years agoThreat evaluation for variants with mandatory captures
ianfab [Thu, 9 Aug 2018 20:14:38 +0000]
Threat evaluation for variants with mandatory captures

giveaway STC
LLR: 2.96 (-2.94,2.94) [0.00,10.00]
Total: 704 W: 401 L: 290 D: 13
http://35.161.250.236:6543/tests/view/5b6ca2256e23db0fbab0dc69

losers STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 288 W: 187 L: 86 D: 15
http://35.161.250.236:6543/tests/view/5b6ca24c6e23db0fbab0dc6c

7 years agoSimple razoring: depth 1 only, no distinction between PV / NonPV
Jerry Donald Watson [Sun, 12 Aug 2018 07:47:30 +0000]
Simple razoring: depth 1 only, no distinction between PV / NonPV

We simplify the razoring logic by applying it to all nodes at depth 1 only.
An added advantage is that only one razor margin is needed now, and we treat
PV and Non-PV nodes in the same manner.

How to continue?
- There may be some conditions in which depth 2 razoring is beneficial.
- We can see whether the razor margin can be tuned, perhaps even with a
  different value for PV nodes.
- Perhaps we can unify the treatment of PV and Non-PV nodes in other parts
  of the search as well.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 5474 W: 1281 L: 1127 D: 3066
http://tests.stockfishchess.org/tests/view/5b6de3b20ebc5902bdba0d1e

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 62670 W: 10749 L: 10697 D: 41224
http://tests.stockfishchess.org/tests/view/5b6dee340ebc5902bdba0eb0

In addition, we ran a fixed LTC test against a similar patch which also
passed SPRT [-3, 1]:

ELO: 0.23 +-2.1 (95%) LOS: 58.6%
Total: 36412 W: 6168 L: 6144 D: 24100
http://tests.stockfishchess.org/tests/view/5b6e83940ebc5902bdba1485

We are opting for this patch as the more logical and simple of the two,
and it appears to be no less strong. Thanks in particular to @DU-jdto
for input into this patch.

Bench: 4476945

7 years agoFix Zobrist initialization for pawns in hand
ianfab [Sat, 11 Aug 2018 20:05:48 +0000]
Fix Zobrist initialization for pawns in hand

No functional change for variants without drops.

7 years agoAdd benchmark support for variants
ianfab [Sat, 11 Aug 2018 19:26:25 +0000]
Add benchmark support for variants

Use e.g. "bench crazyhouse" to run bench test for variants.

7 years agoAdd support for USI protocol
ianfab [Sat, 11 Aug 2018 13:36:00 +0000]
Add support for USI protocol

Specification: http://hgm.nubati.net/usi.html

- Switch protocol when receiving uci/usi command,
  or when option "Protocol" is changed.
- Support parsing of SFEN, but internally use FEN.
- Use shogi coordinates (e.g., 3e3d) for all moves,
  and notation with "*" for piece drops.
- Specify mate distance in ply instead of fullmoves.
- Todo: Adapt option names to be compliant with USI
  - No whitespaces.
  - Standard options should be prefixed by "USI_".

7 years agoPrettify debug output for non-standard board sizes
ianfab [Sat, 11 Aug 2018 13:54:48 +0000]
Prettify debug output for non-standard board sizes

7 years agoRemove Condition For Passed Pawns
Miguel Lahoz [Thu, 9 Aug 2018 14:04:36 +0000]
Remove Condition For Passed Pawns

Currently, we do not consider pawns passed if there is another pawn of
the same color in front of them. It appears that this condition is not
necessary. The idea is that the doubled pawns are likely to be weak and
one of them will be likely captured anyway. On the other hand, if we do
somehow manage to promote a pawn, then the pawn behind it becomes passed
as well. In any case, the end result is we end up with an extra
potentially passed pawn. The current evaluation for passed pawns already
handles this case by also scaling down this effect.

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 28291 W: 6287 L: 6178 D: 15826
http://tests.stockfishchess.org/tests/view/5b6c4b960ebc5902bdb9f256

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 30717 W: 5256 L: 5151 D: 20310
http://tests.stockfishchess.org/tests/view/5b6c82980ebc5902bdb9f863

Bench: 4938285

7 years agoLMR simplification
Stefan Geschwentner [Wed, 8 Aug 2018 07:45:58 +0000]
LMR simplification

Unify the "quiet" and "non-quiet" reduction rules for use at any kind of moves.
The idea behind it was that both rules reduce at similiar cases in master:
one directly for late previous moves and the other indirectly by using a
bad stat score which is used for most move sorting and so approximates the
late move condition.

For captures/promotions the old rule was triggered in 25% but the new
rule only for 3% of all cases (so now more reductions are done, whereas
for quiet moves reductions keep the same level).

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 162327 W: 35976 L: 36134 D: 90217
http://tests.stockfishchess.org/tests/view/5b6a9a430ebc5902bdb9d5c1

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 29570 W: 5083 L: 4976 D: 19511
http://tests.stockfishchess.org/tests/view/5b6bc5d00ebc5902bdb9e9d6

Bench: 4526980

7 years agoUpdate name and author
ianfab [Wed, 8 Aug 2018 20:37:31 +0000]
Update name and author

7 years agoExtend mandatory captures that are only moves
ianfab [Tue, 7 Aug 2018 21:32:13 +0000]
Extend mandatory captures that are only moves

STC
LLR: 2.95 (-2.94,2.94) [0.00,10.00]
Total: 485 W: 290 L: 183 D: 12

LTC
LLR: 2.97 (-2.94,2.94) [0.00,10.00]
Total: 890 W: 483 L: 371 D: 36