]>
git.sesse.net Git - stockfish/log
Reuven Peleg [Mon, 22 Jul 2013 18:05:03 +0000 (21:05 +0300)]
Use arrow operator instead of * and .
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Reuven Peleg [Mon, 22 Jul 2013 10:47:59 +0000 (13:47 +0300)]
Better condition in is_pseudo_legal()
Simplify occupied destination condition.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Jul 2013 09:01:24 +0000 (11:01 +0200)]
Small touches in move generation
No functional change.
Marco Costalba [Sun, 21 Jul 2013 07:54:56 +0000 (09:54 +0200)]
Some renaming in MovePicker
No functional change.
Marco Costalba [Sat, 20 Jul 2013 17:11:03 +0000 (19:11 +0200)]
Rewrite and simplify SEE
This very speed critical code was full of clever (!)
tricks and subtle details.
So I have rewritten it in a more straithforward way
and, as very often happens, result is even faster
than original.
No functional change.
Marco Costalba [Sat, 20 Jul 2013 13:26:52 +0000 (15:26 +0200)]
Revert "Fix critical SEE bug (take 2)"
This reverts commit
3e95800814d
For some reason it fails the short TC test:
LLR: -2.96 (-2.94,2.94)
Total: 20033 W: 4214 L: 4265 D: 11554
bench:
4769737
Marco Costalba [Sat, 20 Jul 2013 13:15:03 +0000 (15:15 +0200)]
Revert "Yet another attempt at signature-build"
Still broken on OS X
No functional change.
Marco Costalba [Sat, 20 Jul 2013 12:24:23 +0000 (14:24 +0200)]
Fix critical SEE bug (take 2)
It is somewhat unbilievable but our SEE is broken !
If the first SEE move is a king capture and square is
defended then SEE continues instead of breaking.
The bug shows only on normal SEE, not see_sign() so
probing with a:
dbg_hit_on_c(slIndex==1, captured == KING);
reports just a tiny:
Total
3465656 Hits 6646 hit rate (%) 0
Bug was there since Retire seeValues[] and move PieceValue[] out of Position of 26/6/2011 (!)
although for some reason didn't show immediately, indeed the
bougous patch was a "No functional change" (!!)
bench:
4699504
Marco Costalba [Sat, 20 Jul 2013 12:20:17 +0000 (14:20 +0200)]
Revert all the SEE stuff
The speed up seems to introduce some
functionality change.
Revert to original master for now.
bench:
4769737
Marco Costalba [Sat, 20 Jul 2013 12:05:04 +0000 (14:05 +0200)]
Yet another attempt at signature-build
This one should work on all flavours of sed
Suggested by by Louis Zulli
No functional change.
Marco Costalba [Sat, 20 Jul 2013 11:03:45 +0000 (13:03 +0200)]
Fix critical SEE bug
It is somewhat unbilievable but our SEE is broken !
If the first SEE move is a king capture and square is
defended then SEE continues instead of breaking.
The bug shows only on normal SEE, not see_sign() so
probing with a:
dbg_hit_on_c(slIndex==1, captured == KING);
reports just a tiny:
Total
3465656 Hits 6646 hit rate (%) 0
Bug was there since
351ef5c85b6d4b9c71e9da of 26/6/2011 (!)
although for some reason didn't show immediately, indeed the
bougous patch was a "No functional change" (!!)
bench:
4793754
Marco Costalba [Sat, 20 Jul 2013 09:44:55 +0000 (11:44 +0200)]
Speedup see()
And rename next_attacker() SEE helper
This very simple patch is able to speed up
bench run of almost 2% !
No functional change.
Marco Costalba [Fri, 19 Jul 2013 15:20:26 +0000 (17:20 +0200)]
Fix signature-build under OSX
On OS X when you use -i an extension for the in-place
substitution a backup files is required.
http://stackoverflow.com/questions/
4247068 /sed-command-failing-on-mac-but-works-on-linux
So rewrite to make sed flushing sign.txt in one go and avoid
using -i option.
Reported by Louis Zulli
No functional change.
Reuven Peleg [Fri, 19 Jul 2013 15:01:07 +0000 (17:01 +0200)]
Microptimize gives_check() for castling case
Without patch we have 333198 nps, with patch 334249.
A very small +0.3%, not a lot manily becuase this is a
side path that is taken very few times.
Anyhow idea is correct becuase first 'quick' condition
has an hit rate of about 95%.
No functional change.
Marco Costalba [Fri, 19 Jul 2013 09:00:31 +0000 (11:00 +0200)]
Small simplification in space eval scoring
No functional change.
Marco Costalba [Fri, 19 Jul 2013 08:27:15 +0000 (10:27 +0200)]
Rename MoveStack to ExtMove
Stack has no meaning here, while ExtMove (extended move),
better clarifies that we have a move + a score.
No functional change.
Marco Costalba [Fri, 19 Jul 2013 07:37:31 +0000 (09:37 +0200)]
Better document what we skip when in check
No functional change.
homoSapiensSapiens [Tue, 16 Jul 2013 15:52:55 +0000 (18:52 +0300)]
Halve king eval margin
But still keep the same original
margin for score.
Passed both short TC test
LR: 2.95 (-2.94,2.94)
Total: 3710 W: 845 L: 726 D: 2139
And long TC
LLR: 2.95 (-2.94,2.94)
Total: 57859 W: 10939 L: 10532 D: 36388
bench:
4769737
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Jul 2013 19:39:06 +0000 (21:39 +0200)]
Drop grep and tr dependency in Makefile
Use only sed to get the bench signature.
No functional change.
Marco Costalba [Mon, 15 Jul 2013 19:09:06 +0000 (21:09 +0200)]
Don't use __builtin_expect
Partially revert previous patch and use
unlikey() just as code annotation.
Actually it is better to rely on a profiler for branch prediction:
http://blog.man7.org/2012/10/how-much-do-builtinexpect-likely-and.html
"In fact, even when only one in ten thousand values is nonzero,
we're still at only roughly the break-even point"
No functional change,
Marco Costalba [Mon, 15 Jul 2013 18:50:24 +0000 (20:50 +0200)]
Better annotate unlikely conditions
And in case of gcc we win also a small
speed optimization due to better branch
prediction.
No functional change.
Reuven Peleg [Mon, 15 Jul 2013 13:14:30 +0000 (16:14 +0300)]
Simplify a condition in refutes()
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 14 Jul 2013 10:23:28 +0000 (12:23 +0200)]
Update 'make help'
No functional change.
Marco Costalba [Sun, 14 Jul 2013 09:57:06 +0000 (11:57 +0200)]
Add signature-profile-build make target
Extend patch
3f64a2af6a7dac4 to profile builds.
here the make command is:
make signature-profile-build ARCH=xxx COMP=xxx
No functional change.
Marco Costalba [Sun, 14 Jul 2013 09:07:24 +0000 (11:07 +0200)]
Retire engine Tag
It is somewhat redundant and could make SF
name too long, so use just Version, in case
of a signature build Version will be set to
'sig-xxx' otherwise, if left empty, we fall
back on usual date stamp.
No functional change.
Marco Costalba [Sun, 14 Jul 2013 07:00:19 +0000 (09:00 +0200)]
Add signature-build make target
When compiling with:
make signature-build ARCH=xxx COMP=xxx
After binary has been roduced, it will be run to
get the signature 'stockfish bench' and this
number will be used as Version, so that it
will be easy to track the original sources
from a binary.
No functinal change.
Marco Costalba [Sat, 13 Jul 2013 21:07:24 +0000 (23:07 +0200)]
Fix build on Intel compiler
Due to a strange issue (bug?) the ternary
operator does not return a BitCountType for
icc, so revert to the expression used
before
bcbc9bfd1f5efeaa3
No functional change.
Marco Costalba [Sat, 13 Jul 2013 15:21:24 +0000 (17:21 +0200)]
Fully qualify memset and memcpy
And other trivial touches.
Ispired by Lucas's DiscoCheck
No functional change.
Tom Vijlbrief [Sat, 13 Jul 2013 09:46:59 +0000 (11:46 +0200)]
Retire enoughMaterial + lower trapped rook threshold
Here speed up is the name of the game.
Speed up is gained:
- Removing the useless enoughMaterial code
- Limiting trapped rook evaluation to where it counts
Tested at long TC:
LLR: 2.97 (-2.94,2.94)
Total: 10061 W: 1948 L: 1790 D: 6323
bench:
4558173
Marco Costalba [Sat, 13 Jul 2013 11:27:22 +0000 (13:27 +0200)]
A useless assignment found by Clang’s static analyzer
Warning is: "Value stored to 'xxx' is never read" and
it is raised in SpNode case.
No functional change.
Marco Costalba [Sat, 13 Jul 2013 11:02:40 +0000 (13:02 +0200)]
Fix build with MSVC 2013
Also add an assert hinted by MSVC code analysis tool.
No functional change.
Marco Costalba [Sat, 13 Jul 2013 05:43:50 +0000 (07:43 +0200)]
Fix printing of PV info: take 2
Now last PV line is printed twice, fix that.
No functional change.
Marco Costalba [Fri, 12 Jul 2013 21:42:42 +0000 (23:42 +0200)]
Fix printing of PV info
It was erroneusly skipped after the
aspiration window rework.
Reported by Eelco.
No functional change.
Marco Costalba [Thu, 11 Jul 2013 14:01:33 +0000 (16:01 +0200)]
Rename some UCI options
Thanks to Don, Miguel, Louis and the other people
of talkchess forum for the suggestion:
http://www.talkchess.com/forum/viewtopic.php?t=48612
Also sync polyglot.ini with current UCI options
No functional change.
Marco Costalba [Thu, 11 Jul 2013 05:22:26 +0000 (07:22 +0200)]
Fix a crash with depth 1 perft
Bug recently introduced in
e215a88cddd16e09
No functional change.
Marco Costalba [Sun, 7 Jul 2013 11:45:46 +0000 (13:45 +0200)]
Don't IID when in check also in PvNodes
This tiny functional change allows to
nicely simplify things.
Performed at 50% in short TC:
LLR: -0.43 (-2.94,2.94)
Total: 46406 W: 9681 L: 9565 D: 27160
And succesfully passed long TC reverse test:
LLR: -2.95 (-2.94,2.94)
Total: 4945 W: 858 L: 937 D: 3150
bench:
4507230
Marco Costalba [Tue, 9 Jul 2013 06:01:51 +0000 (08:01 +0200)]
Revert previous patch
Unfortunatly a reverse test at long TC failed:
master^ vs master
LLR: 1.37 (-2.94,2.94)
Total: 33682 W: 6294 L: 6071 D: 21317
So becuase short TC score is 50% there is a good
possibility patch is not scalable.
So revert it.
bench:
4507288
Marco Costalba [Mon, 8 Jul 2013 05:23:30 +0000 (07:23 +0200)]
Simplify "fail high upon reduction" in null search
Do not use threat move to detect the condition. This
let us to retire the big allows() function.
Test at short TC was within 50% score:
LLR: -2.95 (-2.94,2.94)
Total: 38272 W: 7941 L: 7940 D: 22391
To be verified with reverse long TC
bench:
4191565
Marco Costalba [Sun, 7 Jul 2013 11:27:31 +0000 (13:27 +0200)]
Skip node-level cut-off tests when in check
No functional change.
Marco Costalba [Wed, 3 Jul 2013 16:58:49 +0000 (18:58 +0200)]
Simplify aspiration window code
Here the main difference is that now we center
aspiration window on last returned score. This allows
to simplify handling of mate scores.
We have done a reversed SPRT tests, where we wanted to
verify if master is stronger than this patch.
Long TC: master vs this patch (reverse test)
LLR: -2.95 (-2.94,2.94)
Total: 37992 W: 7012 L: 6920 D: 24060
bench:
4507288
Marco Costalba [Wed, 3 Jul 2013 16:58:23 +0000 (18:58 +0200)]
Workaround github issue
Temporary revert aspiration window patch
so to be visible to everybody: it will be
re-applied with next patch
No functional change (together with next one)
Marco Costalba [Wed, 3 Jul 2013 06:54:44 +0000 (08:54 +0200)]
Simplify aspiration window code
Here the main difference is that now we center
aspiration window on last returned score. This allows
to simplify handling of mate scores.
We have done a reversed SPRT tests, where we wanted to
verify if master is stronger than this patch.
Long TC: master vs this patch (reverse test)
LLR: -2.95 (-2.94,2.94)
Total: 37992 W: 7012 L: 6920 D: 24060
bench:
4507288
Marco Costalba [Wed, 3 Jul 2013 06:21:21 +0000 (08:21 +0200)]
Disable flto when debugging
Link-time optimization does not work well with
generation of debugging information:
http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Reported by Louis Zulli
No functional change.
Marco Costalba [Tue, 2 Jul 2013 18:06:24 +0000 (20:06 +0200)]
Revert "Remove confusing optimization"
This reverts commit
e05c80a08859f6c4f0f599ca0b262ced00ad66fe .
we gain a speed up of 1.5% under gcc !
No functional change.
Marco Costalba [Tue, 2 Jul 2013 05:25:47 +0000 (07:25 +0200)]
Merge branch 'master' into aspiration
bench:
4507288
Marco Costalba [Tue, 2 Jul 2013 05:25:39 +0000 (07:25 +0200)]
Revert "Increase earlier aspiration window size"
This reverts commit
b88bc7b7667fc6ddbfc7412fb2c0bfc13e3bf11c .
Marco Costalba [Tue, 2 Jul 2013 05:24:17 +0000 (07:24 +0200)]
Entering a pawn endgame is no more dangerous
A simplification of the 'dangerous' definition.
Seems neutral at reverse test at long TC
master vs patch
LLR: -2.96 (-2.94,2.94)
Total: 16974 W: 3122 L: 3139 D: 10713
bench:
4689029
Marco Costalba [Mon, 1 Jul 2013 17:29:23 +0000 (19:29 +0200)]
Increase earlier aspiration window size
bench:
4377851
Marco Costalba [Mon, 1 Jul 2013 17:25:23 +0000 (19:25 +0200)]
Merge branch 'master' into aspiration
Marco Costalba [Sun, 30 Jun 2013 11:12:04 +0000 (13:12 +0200)]
Fix a stale comment
No functional change.
Marco Costalba [Sun, 30 Jun 2013 10:30:57 +0000 (12:30 +0200)]
Simplify search results update
Also some rename while there.
No functional change.
Marco Costalba [Sun, 30 Jun 2013 09:35:03 +0000 (11:35 +0200)]
Reorder conditions according to their frequency
This should minimize useless tests.
No functional change.
Marco Costalba [Sun, 30 Jun 2013 09:00:19 +0000 (11:00 +0200)]
Center aspiration window on last returned score
bench:
4428212
Marco Costalba [Sun, 30 Jun 2013 08:32:09 +0000 (10:32 +0200)]
Simplify aspiration window loop
Don't open the window in case we find a mate score: this
will be takes care with next patch.
No functional change.
Marco Costalba [Sat, 29 Jun 2013 08:23:43 +0000 (10:23 +0200)]
Use calloc() in TranspositionTable::set_size()
Function calloc() already initializes memory to
zero, so avoid calling clear() afterwards.
Also some renaming while there (inspired by DiscoCheck).
No functional change.
Marco Costalba [Sun, 23 Jun 2013 11:19:03 +0000 (13:19 +0200)]
Fix some stale comments
No functional change.
Marco Costalba [Sun, 23 Jun 2013 11:08:10 +0000 (13:08 +0200)]
Move SquareDistance[] to bitboard.cpp
No functional change.
Marco Costalba [Sun, 23 Jun 2013 09:15:58 +0000 (11:15 +0200)]
Don't explicitize enum values when not needed
Compiler will chose the correct values in sequential
order for you.
Also move file and rank bitboards definitions to
bitboard.h
No functional change.
Marco Costalba [Sun, 23 Jun 2013 08:16:43 +0000 (10:16 +0200)]
Retire in_front_bb(Color c, Square s) overload
Explciitly call rank_of() in the few places where
it is used.
No functional change.
Marco Costalba [Sun, 23 Jun 2013 08:03:48 +0000 (10:03 +0200)]
Retire ThisAndAdjacentFilesBB[]
It is unused. Also renamed attack_span_mask to
pawn_attack_span
No functional change.
Marco Costalba [Sun, 23 Jun 2013 06:08:16 +0000 (08:08 +0200)]
Simplify hidden_checkers()
De-templetize and pass color as function argument.
No speed change.
No functional change.
Marco Costalba [Sat, 22 Jun 2013 10:45:14 +0000 (12:45 +0200)]
Name functions along corresponding UCI commands
No functional change.
Marco Costalba [Fri, 21 Jun 2013 07:10:03 +0000 (09:10 +0200)]
Micro-optimize perft
Avoid to call perft function when we just need to count
moves, at leaf nodes.
Speed up of almost 2%
No functional change.
Ryan Schmitt [Mon, 17 Jun 2013 16:55:00 +0000 (18:55 +0200)]
Include file attacks in 'major on pawn'
Passed both short TC:
LLR: 2.97 (-2.94,2.94)
Total: 57846 W: 12248 L: 11974 D: 33624
And long one:
LLR: 2.95 (-2.94,2.94)
Total: 9181 W: 1732 L: 1581 D: 5868
bench:
4609948
Reuven Peleg [Mon, 17 Jun 2013 10:49:11 +0000 (13:49 +0300)]
Remove confusing optimization
Here we skip the call to pos.attacks_from<ROOK>(s) in the 98%
of cases, testing the first 2 members first. Unfortunatly
code is a bit triky and not clear. So we give up to the
speed optimization in exchange of more code clarity.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Reuven Peleg [Mon, 17 Jun 2013 08:54:55 +0000 (11:54 +0300)]
Merge some if statements in pos_is_ok()
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 17 Jun 2013 07:30:59 +0000 (09:30 +0200)]
Remove redundant condition in probcut
When !ss->skipNullMove it is assured that excludedMove == MOVE_NONE
No functional change.
Marco Costalba [Sun, 16 Jun 2013 09:59:40 +0000 (11:59 +0200)]
Rename piece_count and piece_list
No functional change.
Marco Costalba [Sun, 16 Jun 2013 08:51:17 +0000 (10:51 +0200)]
Don't calculate pawnsOnSquares twice
And reformat some code while there.
No functional change.
Marco Costalba [Sun, 16 Jun 2013 08:08:44 +0000 (10:08 +0200)]
Use move_pawns() in Pawns::probe
And rename some stuff.
No functional change.
Marco Costalba [Fri, 14 Jun 2013 06:24:37 +0000 (08:24 +0200)]
Revert "Reduce more CUT nodes only if parent node is reduced"
This reverts commit
d54e8a59551a7ebcbf2c2155dce46c7386b1742a .
It was not proved with SPRT this tweak is stronger. So revert it
for now to follow fishtest guidelines.
bench:
5108393
Marco Costalba [Fri, 14 Jun 2013 06:20:13 +0000 (08:20 +0200)]
Fix description of TT entry
It was way outdated and wrong !
No functional change.
Marco Costalba [Thu, 13 Jun 2013 17:53:14 +0000 (19:53 +0200)]
Reduce more CUT nodes only if parent node is reduced
So when we are doing a LMR search at the parent ALL node.
This patch didn't prove stronger at 60" TC
LLR: -2.97 (-2.94,2.94)
Total: 22398 W: 4070 L: 4060 D: 14268
But, first, it scores at 50%, second (and most important for me) the opposite,
i.e. normal reduction when parent node is not reduced, seems very bad:
LLR: -2.95 (-2.94,2.94)
Total: 7036 W: 1446 L: 1534 D: 4056
According to Don, this idea of increased reduction of CUT nodes
works because if parent node is reduced, missing a cut-off due to
reduced depth search (meaning position is somehow tricky) forces
a full depth research at parent node, giving due insight in this
set of sensible positions.
IOW if we expect a node to fail-high at depth n, then we assume it
should fail-high also at depth n-1, if this doesn't happen it means
position is tricky enough to deserve a research at depth n+1.
bench:
4687419
Marco Costalba [Thu, 13 Jun 2013 17:50:32 +0000 (19:50 +0200)]
Reduce more CUT nodes
We got a good result from this tweak, in line with
what was already found by Don Dailey.
At short TC:
LLR: 2.95 (-2.94,2.94)
Total: 13097 W: 2742 L: 2598 D: 7757
At long TC:
LLR: 2.97 (-2.94,2.94)
Total: 7281 W: 1408 L: 1265 D: 4608
bench:
5108393
Marco Costalba [Sun, 9 Jun 2013 07:43:04 +0000 (09:43 +0200)]
Introduce Cut/All node definitions
Follow Don Dailey definition of cut/all node:
"If the previous node was a cut node, we consider this an ALL node.
The only exception is for PV nodes which are a special case of ALL nodes.
In the PVS framework, the first zero width window searched from a PV
node is by our definition a CUT node and if you have to do a re-search
then it is suddenly promoted to a PV nodes (as per PVS search) and only
then can the cut and all nodes swap positions. In other words, these
internal search failures can force the status of every node in the subtree
to swap if it propagates back to the last PV nodes."
http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=519741&t=47577
With this definition we have an hit rate higher than 90% on:
if (!PvNode && depth > 4 * ONE_PLY)
dbg_hit_on_c(cutNode, (bestValue >= beta));
And an hit rate of just 28% on:
if (!PvNode && depth > 4 * ONE_PLY)
dbg_hit_on_c(!cutNode, (bestValue >= beta));
No functional change.
Marco Costalba [Thu, 13 Jun 2013 05:42:43 +0000 (07:42 +0200)]
Don't use std::vector::data()
It is a C++11 only function.
Reported by Eelco.
No functional change.
Marco Costalba [Sun, 9 Jun 2013 21:32:12 +0000 (23:32 +0200)]
Fix again early stop ss pointer
Fix was wrong becuase search starts from ss+1,
code is a bit tricky here, so rewrite in a way
to be more easy to read and understand.
Spotted by Eelco.
No functional change.
Marco Costalba [Sun, 9 Jun 2013 21:24:36 +0000 (23:24 +0200)]
Don't need to expose namespace Zobrist
It can be local to position.cpp
No functional change.
Marco Costalba [Sun, 9 Jun 2013 11:43:30 +0000 (13:43 +0200)]
Zobrist::init() should be Position::init()
No functional change.
Marco Costalba [Sun, 9 Jun 2013 11:05:41 +0000 (13:05 +0200)]
Convert pieceSquareTable to 3 dimensions
No functional change.
Marco Costalba [Sun, 9 Jun 2013 10:56:05 +0000 (12:56 +0200)]
More consistent 'piece' variable naming
No functional change.
Marco Costalba [Sun, 9 Jun 2013 10:43:12 +0000 (12:43 +0200)]
Introduce operator~(Piece c)
Small syntactic sugar to reverse piece color.
No functional change.
Marco Costalba [Sun, 9 Jun 2013 10:24:43 +0000 (12:24 +0200)]
Retire psq_delta()
No functional change.
Marco Costalba [Sun, 9 Jun 2013 09:52:39 +0000 (11:52 +0200)]
Use alpha instead of beta-1
It is more directly related to a fail-low.
No functional change.
Marco Costalba [Sun, 9 Jun 2013 08:58:24 +0000 (10:58 +0200)]
Fix incorrect 'ss' pointer in early stop check
The exclusion search used to verify one move is much
better than other shall be called with 'ss' and not
'ss+1'
No functional change.
Dariusz Orzechowski [Tue, 4 Jun 2013 21:52:00 +0000 (23:52 +0200)]
Fix a typo
No functional change.
Marco Costalba [Sat, 8 Jun 2013 08:35:35 +0000 (10:35 +0200)]
Fix search log when using skills
In case of we pick a sub-optimal move be
sure to print this, and not the best one
on seach log file.
Bug spotted by Guenther Demetz.
No functional change.
Marco Costalba [Sat, 1 Jun 2013 13:45:46 +0000 (15:45 +0200)]
Fix a crash when 'go' multiple times
Search is started after setting a position and
issuing UCI 'go' command. Then if we stop the search
and call 'go' again without setting a new position it
is assumed that the previous setup is preserved, but
this is not the case because what happens is that
SetupStates is reset to NULL, leading to a crash as
soon as RootPos.is_draw() is called because st->previous
is now stale.
UCI protocol is not very clear about requiring that a
position is setup always before launching a search,
so here we easy the life of GUI developers assuming
that the current state is preserved after returning
from a 'stop' command.
Bug reported by Gregor Cramer.
No functional change.
Marco Costalba [Sat, 1 Jun 2013 09:48:38 +0000 (11:48 +0200)]
Assorted renaming in evaluation
And some reshuffle too.
No functional change.
jundery [Thu, 30 May 2013 03:07:24 +0000 (21:07 -0600)]
Passed pawn tuning
A small number of tests with simulated
annealing at 15s indicated these values
may be better
And this is verified at long 60+0.05 TC
LLR: 2.95 (-2.94,2.94)
Total: 40658 W: 7821 L: 7501 D: 25336
bench:
4931544
Marco Costalba [Mon, 27 May 2013 15:42:52 +0000 (17:42 +0200)]
Shrink engine UCI name
Some GUI have problems with long names.
Reported by George Speight.
No functional change.
Marco Costalba [Sat, 25 May 2013 11:14:41 +0000 (13:14 +0200)]
Add Pawn Structure also to polyglot.ini
No functional change.
Marco Costalba [Sat, 25 May 2013 10:18:58 +0000 (12:18 +0200)]
Re-add "Pawn Structure" UCI option
And reshuffle the code to not special case
this parameter.
No functional change.
Marco Costalba [Sat, 25 May 2013 09:57:18 +0000 (11:57 +0200)]
More uniform tracing code
No functional change.
Uri Blass [Tue, 21 May 2013 22:58:52 +0000 (01:58 +0300)]
Bunch of 3 small patches
This patch is the sum of:
- Grainsize of 4 instead of 8
- Removing "depth < DEPTH_ZERO"
- Change DEPTH_QS_RECAPTURES = -5 to -7
All the patches individually failed to pass SPRT but scored
around 50%.
Together they pass easily short TC:
LLR: 2.96 (-2.94,2.94)
Total: 4429 W: 964 L: 844 D: 2621
And with some difficult long TC of 60+0.05:
LLR: 2.95 (-2.94,2.94)
Total: 64133 W: 11968 L: 11532 D: 40633
bench:
4821467
Marco Costalba [Sun, 19 May 2013 20:00:49 +0000 (22:00 +0200)]
Microptimize MoveList loop
Add MOVE_NONE at the tail, this allows to loop
across MoveList checking for *it != MOVE_NONE,
and because *it is used imediately after compiler
is able to reuse it.
With this small patch perft speed increased of 3%
And it is also a semplification !
No functional change.
Marco Costalba [Sat, 18 May 2013 10:49:31 +0000 (12:49 +0200)]
Delay killers[] initialization
Most of the time we cut-off earlier, at captures, so this
results in useless work.
There is a small functionality change becuase 'ss' can change
from MovePicker c'tor to when killers are tried due, for
instance, to singular search.
bench:
4603795
Marco Costalba [Sun, 19 May 2013 19:32:52 +0000 (21:32 +0200)]
Reduce countermoves less in LMR
Passed SPRT for both short TC 15+0.05:
LLR: 2.95 (-2.94,2.94)
Total: 17724 W: 3756 L: 3598 D: 10370
And long TC 60+0.05:
LLR: 2.95 (-2.94,2.94)
Total: 22672 W: 4232 L: 4011 D: 14429
bench:
4418832
Marco Costalba [Sun, 19 May 2013 11:28:25 +0000 (13:28 +0200)]
Mimic an iterator for looping across MoveList
Seems more conventional.
No functional change.
Joona Kiiski [Wed, 15 May 2013 19:31:45 +0000 (20:31 +0100)]
Use two counter moves instead of one
Very good at long 60"+0.05 TC
LLR: 2.95 (-2.94,2.94)
Total: 5954 W: 1151 L: 1016 D: 3787
[edit: slightly changed form original patch to avoid useless loop
across killers when killer is MOVE_NONE]
bench:
4327405