VoyagerOne and Marco Costalba
b915fdc889
Reduction Simplification
...
Simplify reduction formula by removing a parameter.
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 35798 W: 6368 L: 6272 D: 23158
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 125375 W: 15827 L: 15839 D: 93709
Bench: 4735038
2016-11-05 08:17:42 +01:00
VoyagerOne and Marco Costalba
d4abf54247
Top CPU Contributors
...
Give some well needed credit...
No functional change.
2016-11-05 08:12:22 +01:00
VoyagerOne and Marco Costalba
e77f38c431
History Stat Comparison
...
Adjust LMR by comparing history stats
with opponent (prior ply).
STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 27754 W: 5066 L: 4824 D: 17864
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 216596 W: 28157 L: 27343 D: 161096
Bench: 5437729
2016-10-25 06:44:19 +02:00
VoyagerOne and Marco Costalba
e27d3bb884
Use explicit logic for pruning
...
Also a speedup since we don't need to recalculate SEE
for extensions...as it already determined to be positive.
Results for 12 tests for each version:
Base Test Diff
Mean 2132395 2191002 -58607
StDev 128058 85917 134239
p-value: 0.669
speedup: 0.027
Non functional change.
2016-10-18 08:53:51 +02:00
VoyagerOne and Marco Costalba
ab26c61971
Allow inCheck pruning
...
This is a bit tricky because we don't want
to prune the only legal evasions, even if
with negative SEE. So add an assert to avoid
this subtle bug to slip in later.
STC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 14140 W: 2625 L: 2421 D: 9094
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 11558 W: 1555 L: 1379 D: 8624
bench: 5256717
2016-10-03 16:18:53 +02:00
VoyagerOne and Marco Costalba
95ad2b51b7
Tweak SEE margin in pruning conditions
...
Use 35 * depth^2 to calculate see_margin.
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 22636 W: 4212 L: 3990 D: 14434
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 47241 W: 6314 L: 6041 D: 34886
The Movepick SEE is now dead code, retire it.
Bench: 5341477
2016-09-14 15:38:38 +02:00
VoyagerOne and Marco Costalba
2731bbaf6b
Remove condition on killers in history pruning
...
Now allows main killer to be history prune.
STC:
LLR: 2.94 (-2.94,2.94) [-3.00,1.00]
Total: 15852 W: 2910 L: 2781 D: 10161
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 56428 W: 7610 L: 7537 D: 41281
Bench: 8032058
2016-08-30 09:09:55 +02:00
VoyagerOne and Marco Costalba
0b4f6e562b
Refutation penalty on captures
...
Apply refutation penalty for prior PV quiet move on captures
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 8208 W: 1153 L: 1008 D: 6047
http://tests.stockfishchess.org/tests/view/57bc5a9f0ebc59030fbe47b5
Only LTC because a very similar patch already passed STC + LTC
bench: 7038730
2016-08-24 08:26:32 +02:00
VoyagerOne and Marco Costalba
5596492f6e
Simplify IID
...
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 30468 W: 5687 L: 5582 D: 19199
http://tests.stockfishchess.org/tests/view/57b1ddd80ebc591c761f63e2
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 87406 W: 11756 L: 11725 D: 63925
http://tests.stockfishchess.org/tests/view/57b212590ebc591c761f63f9
bench: 6554900
2016-08-19 08:59:18 +02:00
VoyagerOne and Marco Costalba
8493c8c6b8
Do LMR on captures
...
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 5361 W: 1086 L: 936 D: 3339
http://tests.stockfishchess.org/tests/view/57b31b0f0ebc591c761f643d
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 54694 W: 7591 L: 7287 D: 39816
http://tests.stockfishchess.org/tests/view/57b3442b0ebc591c761f6450
bench: 6881120
2016-08-19 08:50:14 +02:00
VoyagerOne and Marco Costalba
7396c08b79
Use predicted depth for history pruning
...
STC: (Yellow)
LLR: -2.96 (-2.94,2.94) [0.00,4.00]
Total: 69115 W: 12880 L: 12797 D: 43438
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,4.00]
Total: 124163 W: 16923 L: 16442 D: 90798
Note: Note based off past experiments / patches... history pruning
is quite TC sensitive. I believe the reason for this TC dependency
is that the CMH/FMH is a very large table that takes time to fill
up with. In addition having more time for will increase the accuracy
of the stats' value.
Bench: 7351698
2016-08-15 14:45:40 +02:00
VoyagerOne and Marco Costalba
b3525fa9ea
Use Color-From-To history stats to help sort moves
...
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 33502 W: 6498 L: 6223 D: 20781
http://tests.stockfishchess.org/tests/view/578abb940ebc5972faa169e2
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 50782 W: 7124 L: 6832 D: 36826
http://tests.stockfishchess.org/tests/view/578b8e5d0ebc5972faa169fd
LTC: (Sanity test against latest master)
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 32759 W: 4600 L: 4370 D: 23789
http://tests.stockfishchess.org/tests/view/5798b7d30ebc591c761f5b72
bench: 6985912
P.S. Thanks @mstembera for rewriting my code to make it smp compatible. A BIG thank you!
2016-08-02 09:17:14 +02:00
VoyagerOne and Marco Costalba
85924db496
Futility tweak
...
Use a different margin for pruning child nodes.
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 16692 W: 3251 L: 3051 D: 10390
http://tests.stockfishchess.org/tests/view/579b95d10ebc591c761f5c03
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 24140 W: 3501 L: 3297 D: 17342
http://tests.stockfishchess.org/tests/view/579bb15d0ebc591c761f5c0b
Bench: 7927017
2016-08-01 21:47:42 +02:00
VoyagerOne and Marco Costalba
c94145b65c
Comment out a redundant condition
...
Take advantage that VALUE_NONE = 32002 to remove
the condition.
Commented out and not removed becuase it is tricky
to rely on the hidden value of VALUE_NONE and code
can break in case we change VALUE_NONE in the future.
No functional change.
2016-06-24 08:26:39 +02:00
VoyagerOne and Marco Costalba
1c0c4db677
Simplify Check Extension
...
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 32704 W: 6146 L: 6045 D: 20513
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 146622 W: 19967 L: 20017 D: 106638
Bench: 8245662
2016-06-18 08:32:25 +02:00
VoyagerOne and Marco Costalba
7d2a79f037
Stat Formula Tweak
...
bonus = d * d + 2 * d - 2
STC:
LLR: 2.94 (-2.94,2.94) [0.00,4.00]
Total: 99444 W: 18274 L: 17778 D: 63392
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 89757 W: 12285 L: 11896 D: 65576
bench: 8276130
2016-06-10 07:27:47 +02:00
VoyagerOne and Marco Costalba
7c5d724724
Tweak check extension condition
...
There are two concepts with this patch:
Limit check extensions by using move count.
The idea is to limit search explosion.
Always extend check if the first move gives check.
The idea is to save expensive SEE calls, since the vast
majority of first move will have SEE value >= 0, also
first move may still be strong even if the SEE is negative.
STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 16503 W: 3068 L: 2873 D: 10562
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 37202 W: 5261 L: 5014 D: 26927
bench: 8543366
2016-06-10 07:15:56 +02:00
VoyagerOne and Marco Costalba
5f096e9bef
Simplify Futility Pruning
...
Don't update bestValue when futility pruning.
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 21933 W: 4031 L: 3912 D: 13990
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 46225 W: 6115 L: 6028 D: 34082
Bench: 8450534
2016-06-03 19:58:42 +02:00
VoyagerOne and Marco Costalba
5486911e01
Simplify History LMR Formula
...
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 41713 W: 7589 L: 7504 D: 26620
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 41353 W: 5484 L: 5391 D: 30478
Bench: 8946983
2016-05-05 08:53:50 +02:00
VoyagerOne and Joona Kiiski
e082112cfe
Use FMHs to assist with LMR formula.
...
STC:
LLR: 2.99 (-2.94,2.94) [0.00,5.00]
Total: 52232 W: 9654 L: 9304 D: 33274
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 115988 W: 15550 L: 15049 D: 85389
Bench: 7890808
Resolves #651
2016-04-24 01:00:58 +01:00
VoyagerOne and Joona Kiiski
60590577f2
A small simplification in movepick.h
...
No functional change
Resolves #597
2016-03-14 20:54:49 -07:00
VoyagerOne and Joona Kiiski
45a309d92e
Simplify Reduction Formula
...
Formula now only contains one coefficient. Making it much easier to tune.
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 187443 W: 34858 L: 35028 D: 117557
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 88329 W: 11982 L: 11953 D: 64394
Bench: 7521394
Resolves #591
2016-02-28 13:31:25 +00:00
VoyagerOne and Joona Kiiski
bfe9044ad9
History Stat Formula Simplification
...
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 67476 W: 12561 L: 12521 D: 42394
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 111923 W: 15147 L: 15149 D: 81627
Bench: 8430465
Resolves #588
2016-02-21 20:12:33 +00:00
VoyagerOne and Joona Kiiski
744ed85a4d
Fix futility pruning bug
...
PredictedDepth can be negative, causing the futility_margin to be negative.
It will be very difficult to tweak moveCount pruning and reduction formula, as they are tuned to prevent this behavior.
No functional change
Resolves #587
2016-02-14 19:48:46 +00:00
VoyagerOne and Joona Kiiski
ed72a1e9ba
Remove killer move conditions from LMR
...
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 8459 W: 1619 L: 1477 D: 5363
LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 32239 W: 4404 L: 4299 D: 23536
Bench: 7597031
Resolves #534
2015-12-20 20:41:17 +00:00
VoyagerOne and Joona Kiiski
07e0741dfb
History Pruning: Don't prune the main killer move.
...
Also increased pruned depth to 4.
STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 23380 W: 4581 L: 4350 D: 14449
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 28934 W: 4329 L: 4105 D: 20500
Bench: 8369743
Resolves #498
2015-11-15 20:40:09 -08:00
VoyagerOne and Joona Kiiski
aa242d2f84
New History Bonus Formula
...
bonus = d^2 + d - 1
Bench: 8639247
Resolves #484
2015-10-31 18:17:00 +00:00
VoyagerOne and Marco Costalba
4eca981e55
History pruning
...
Prune moves with negative History
and CMH scores at low depth.
STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 24182 W: 4672 L: 4439 D: 15071
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 12579 W: 1959 L: 1792 D: 8828
bench: 8907701
2015-10-24 09:30:31 +02:00
VoyagerOne and Gary Linscott
8fd34d7763
Combination of two ideas:
...
Apply bonus for the prior CMH that caused a fail low.
Balance Stats: CMH and History bonuses are updated differently.
This eliminates the "fudge" factor weight when scoring moves. Also
eliminated discontinuity in the gravity history stat formula. (i.e. stat
scores will no longer inverse when depth exceeds 22)
STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 21802 W: 4107 L: 3887 D: 13808
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 46036 W: 7046 L: 6756 D: 32234
Bench: 7677367
2015-10-12 14:00:54 -07:00
VoyagerOne and Gary Linscott
a2410227cc
PV refutation penalty
...
Extra penalty for PV move in previous ply when it gets refuted.
STC:
LLR: 4.49 (-2.94,2.94) [-1.50,4.50]
Total: 41094 W: 7889 L: 7620 D: 25585
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,6.00]
Total: 12304 W: 1967 L: 1811 D: 8526
Bench: 8373608
Resolves #386
2015-07-30 00:51:49 +08:00
VoyagerOne and Joona Kiiski
1d977aa79e
LMR Simplification: Remove countermove condition
...
Removed countermove condition for decreasing reduction.
LTC:
LLR: 3.01 (-2.94,2.94) [-3.00,1.00]
Total: 32410 W: 5092 L: 4986 D: 22332
STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 24450 W: 4632 L: 4517 D: 15301
Bench: 6943812
Resolves #378
2015-07-15 20:21:14 +01:00
VoyagerOne and Joona Kiiski
aa0dc16b75
CMH Fix: Exclude captures for TT move refutation penalty
...
This will make sure we store only quiet moves for TT Penalty.
STC:
LLR: 2.96 (-2.94,2.94) [-1.50,4.50]
Total: 34748 W: 6617 L: 6420 D: 21711
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 19975 W: 3259 L: 3137 D: 13579
Bench: 8063826
Resolves #373
2015-07-04 14:22:41 +01:00
VoyagerOne and Joona Kiiski
7e9f776fca
LMR Tweak: Decrease reduction if cmh>0 && history>0.
...
STC:
LLR: 2.96 (-2.94,2.94) [-1.50,4.50]
Total: 9627 W: 1879 L: 1748 D: 6000
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 21543 W: 3433 L: 3234 D: 14876
Bench: 8646407
Resolves #370 #371
2015-06-27 09:45:59 +01:00
VoyagerOne and Joona Kiiski
b7063ef65b
Change extra ply LMR condition to: cmh <= 0 && hist < 0
...
Extra ply LMR condition is now cmh <= 0 && h < 0
Instead of cmh + h < 0
STC:
LLR: 2.96 (-2.94,2.94) [-1.50,4.50]
Total: 55210 W: 10812 L: 10557 D: 33841
LTC:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 13212 W: 2239 L: 2045 D: 8928
Bench: 8420865
Resolves #339
2015-04-26 20:12:25 +01:00
VoyagerOne and Joona Kiiski
20e92895af
Removed extra condition (history < 0) in LMR to help sync up with move ordering.
...
LMR condition is now cmh+history<0
Instead of history<0 OR cmh+history<0
STC:
LLR: 2.96 (-2.94,2.94) [-3.00, 1.00]
Total: 26446 W: 5092 L: 4980 D: 16374
LTC:
LLR: 2.96 (-2.94,2.94) [-3.00, 1.00]
Total: 14129 W: 2340 L: 2209 D: 9580
Bench: 7815183
Resolves #331
2015-04-12 20:05:59 +01:00
VoyagerOne and Joona Kiiski
ac8e6ff000
Use CounterMoveHistory when calculating LMR for cut nodes
...
If the sum of CounterMoveHistory heuristic and History heuristic is below zero,
then reduce an extra ply in cut nodes
LTC:
LLR: 2.96 (-2.94,2.94) [0.00,6.00]
Total: 6479 W: 1099 L: 967 D: 4413
Bench: 7773299
Resolves #315
2015-03-28 21:15:49 +00:00
VoyagerOne and Joona Kiiski
e51965aa57
Introduce a new counter move history penalty
...
Extra penalty for TT move in previous ply when it gets refuted
STC:
LLR: 2.94 (-2.94,2.94) [-1.50,4.50]
Total: 31303 W: 6216 L: 6025 D: 19062
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 6950 W: 1189 L: 1054 D: 4707
Bench: 8191926
Resolves #309
2015-03-24 23:04:08 +00:00