]>
git.sesse.net Git - stockfish/log
Marco Costalba [Thu, 8 Jan 2009 14:46:57 +0000 (15:46 +0100)]
Start to space inflate endgame.cpp
Still a lot to do, it's a big file!
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 7 Jan 2009 14:37:28 +0000 (15:37 +0100)]
Rewrite evaluate_common() as a template
Seems to speed up this very hot path and code is
cleaner too.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 7 Jan 2009 13:28:04 +0000 (14:28 +0100)]
Big trailing whitespace cleanup part 2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 7 Jan 2009 13:26:58 +0000 (14:26 +0100)]
Big trailing whitespace cleanup part 1
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 7 Jan 2009 13:17:50 +0000 (14:17 +0100)]
Another micro-optmization in valuate_passed_pawns()
very small gain, but still a gain at the cost of
an extra indentation level.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 6 Jan 2009 15:10:22 +0000 (16:10 +0100)]
Fix a small bug in rook pawn evaluation
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 6 Jan 2009 15:06:08 +0000 (16:06 +0100)]
evaluate_passed_pawns() micro-optmization
No functional change, only a bit faster.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 6 Jan 2009 14:59:08 +0000 (15:59 +0100)]
Final space inflate of evaluatio.cpp
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 6 Jan 2009 14:49:33 +0000 (15:49 +0100)]
Space inflate evaluate_passed_pawns()
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 5 Jan 2009 14:14:16 +0000 (15:14 +0100)]
Piece mobility: filter out squares protected by pawns
Do not consider squares protected by enemy pawns
in mobility evaluation.
This reduces the mobility value by about 15%
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 5 Jan 2009 11:41:27 +0000 (12:41 +0100)]
Take in account odd depths in razoring formula
This is somewhat taken from Stockfish 1.2 Default,
only the razoring thresold are updated, not the
razoring depth.
At the end razoring is a bit more aggressive. Results
seems slightly positive.
After 999 games +239 =536 -224 Elo +5
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 30 Dec 2008 11:54:21 +0000 (12:54 +0100)]
Fix dbg_mean_of() to enable statistics when called
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 30 Dec 2008 11:42:23 +0000 (12:42 +0100)]
Restore development versioning and LSN filtering
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 29 Dec 2008 11:24:34 +0000 (12:24 +0100)]
Stockfish 1.2 optimistic
Optimistic razoring settings. It is stronger with
most engines but weaker with someones.
The default is instead more solid and uniform with all
the opponents.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 29 Dec 2008 11:06:21 +0000 (12:06 +0100)]
Stockfish 1.2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 29 Dec 2008 10:57:07 +0000 (11:57 +0100)]
Micro optimization in extension()
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 29 Dec 2008 10:36:11 +0000 (11:36 +0100)]
Remove a gcc warning on an unused variable
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 28 Dec 2008 18:38:44 +0000 (19:38 +0100)]
Properly handle odd depths in razor formula
A little bit more aggressive, but should be more
in line with the depths logic.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 28 Dec 2008 11:55:33 +0000 (12:55 +0100)]
Safer razoring formula
Add also the possibility to razor at ply one.
It is disable dby default but it seems stronger
against Stockfish itself. It is still not clear if
is stronger against other engines. By now leave
disabled.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 28 Dec 2008 11:37:13 +0000 (12:37 +0100)]
Don't silently accept an option name mismatch
With this we could have found earlier the futility
name option bug!
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 25 Dec 2008 19:08:45 +0000 (20:08 +0100)]
Tweak again futility margings
Lower margins near the leafs, higher at high depth.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 25 Dec 2008 18:41:24 +0000 (19:41 +0100)]
Expose new futility margin interface to UCI
Now futility margin it's actually a scale factor
to apply to the base ones.
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 25 Dec 2008 11:05:45 +0000 (12:05 +0100)]
Tweak futility margins
Less prune at the bottom and at the middle, a bit more
at the top.
After 747 games: +215 =345 -187 +13 elo
Also introduced a vector of margins, now that start to be a lot
it is a more flexible solution.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 24 Dec 2008 10:27:07 +0000 (11:27 +0100)]
Try razoring only for depth > OnePly
Because razoring verification after qsearch() cuts more
then 40% of candidates, do not waste a costly qsearch for
nodes at depth one that will be probably discarded anyway
by futility.
Also tight razoring conditions to keep dangerous false
negatives below 0,05%. Still not clear if it is enough.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 24 Dec 2008 08:34:09 +0000 (09:34 +0100)]
Futility pruning till ply 6 included
Seems good:
After 796 games: +211 = 393 -192 +8 elo
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 22 Dec 2008 09:18:36 +0000 (10:18 +0100)]
Fix a comment
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 23 Dec 2008 11:01:48 +0000 (12:01 +0100)]
Merge futility pruning from Glaurung 2.2
It seems much more powerful then previous one.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 22 Dec 2008 11:10:15 +0000 (12:10 +0100)]
Passed pawns: consider enemy rooks or queens from behind
Merged from Glaurung 2.2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 22 Dec 2008 11:07:00 +0000 (12:07 +0100)]
King safety: retire rook contact check
Merged from Glaurung 2.2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 22 Dec 2008 10:44:00 +0000 (11:44 +0100)]
Set the 'Problem' variable only at ply == 1
Bug fix merged from Glaurung 2.2 for search_pv()
Added the same fix also to sp_search_pv() where
was missing.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 19:10:20 +0000 (20:10 +0100)]
Retire EvaluatePawnStorms and UseEasyMove constants
Merged from Glaurung 2.2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 16:02:34 +0000 (17:02 +0100)]
Merge cosmetics from Glaurung 2.2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 15:26:36 +0000 (16:26 +0100)]
Merge space weigth evaluation fromGlaurung 2.2
Is a new evaluation rule that gives bonus in midgame
to the side that has more space behind pawns for its
minor pieces.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 14:38:10 +0000 (15:38 +0100)]
Merged two new endgames from Glaurung 2.2
It is two bishop against a knight and two minor
pieces against one minor piece.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 07:29:46 +0000 (08:29 +0100)]
SEE: add support for enpassant moves
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 19 Dec 2008 09:47:40 +0000 (10:47 +0100)]
Call poll() before to check for stopped search
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 21 Dec 2008 09:42:39 +0000 (10:42 +0100)]
Less aggressive razoring
Use a margin to compare with beta so that positions
that after the verifying qsearch have gained a lot of points
are not discarded just becasue not above beta.
Also remove the second condition on depth <= OnePly, it
was too risky and added only a 2% more of pruned nodes.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 18 Dec 2008 21:01:56 +0000 (22:01 +0100)]
Revert: "Do not razor when in check"
It is slightly weaker after 500 games. Keep the
check on mate values.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 17 Dec 2008 18:36:51 +0000 (19:36 +0100)]
Trigger of PawnEndgameExtension if capture is not a pawn
Instead of a rook.
This gives an unexpected graeat increase!
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 16 Dec 2008 16:09:19 +0000 (17:09 +0100)]
search_pv: an enpassant move is a capture
Fix the logic in search_pv and sp_search_pv
An additional issue to consider is that a castle move
is not a capture but destination square is not empty.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 16 Dec 2008 15:30:31 +0000 (16:30 +0100)]
qsearch: take in account enpassant in futility formula
Should not change anything at ELO level but it is
the correct thing to do.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 16 Dec 2008 11:55:44 +0000 (12:55 +0100)]
qsearch: do not call evaluate when in check
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Dec 2008 21:23:03 +0000 (22:23 +0100)]
Restore development versioning and LSN filtering
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Dec 2008 15:47:30 +0000 (16:47 +0100)]
Do not razor while in check or value is mate
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Dec 2008 10:50:01 +0000 (11:50 +0100)]
Do not null search when beta is a mate value
Also do not return unproven mates in null search.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Dec 2008 09:43:18 +0000 (10:43 +0100)]
Better document null move dynamic reduction
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 15 Dec 2008 21:13:42 +0000 (22:13 +0100)]
Introduce beta counters to order moves at ply one
Instead of number of searched nodes use the number of
opponent beta-cutoff occurred under the move subtree.
After 570 games 1+0 we have: +150 =288 -132 (+11 ELO)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 14 Dec 2008 16:26:05 +0000 (17:26 +0100)]
Debugging: move debug function definitions in misc.cpp
Also activate writing on log file.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 14 Dec 2008 13:57:17 +0000 (14:57 +0100)]
Debugging: print to file
Print debug info on log file, not only on std::cout
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 12 Dec 2008 21:27:43 +0000 (22:27 +0100)]
Fix two bugs in ok_to_prune() (2)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 11 Dec 2008 15:58:28 +0000 (16:58 +0100)]
Disable "Null driven IID" by default
Testing is not clear. Probably we need to test
at deeper depths to have some clear results.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 11 Dec 2008 15:27:27 +0000 (16:27 +0100)]
Null move only for depth > OnePly
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 10 Dec 2008 20:43:09 +0000 (21:43 +0100)]
Null driven IID: remove IIDMargin from see() condition
This seems to cut searched nodes also more.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 10 Dec 2008 17:46:12 +0000 (18:46 +0100)]
Fix inflate pawns.cpp fallout
Catched counting the nodes searched at
fixed depth. A quick and reliable cross check,
expecially in inflate only patches.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 9 Dec 2008 16:39:40 +0000 (17:39 +0100)]
Add behind_bb() helper to simplify code logic
No functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 9 Dec 2008 15:46:10 +0000 (16:46 +0100)]
Space inflate pawns.cpp
Hopefully no functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 9 Dec 2008 10:20:47 +0000 (11:20 +0100)]
Add a see() function that take only destination square
In this case firstlocates the least valuable attacker, if any,
then proceed as usual.
This will be used by next patch.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 8 Dec 2008 11:03:46 +0000 (12:03 +0100)]
Stockfish 1.1a
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 8 Dec 2008 09:57:40 +0000 (10:57 +0100)]
Add "Null driven IID" UCI option (default true)
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 8 Dec 2008 09:46:52 +0000 (10:46 +0100)]
Null move driven internal iterative deepening
When a null move fails low due to a capture, try
to detect if without the capture we are above beta,
in this case there is a good possibility this is
a cut-node and the capture is just a null move
artifact due to side to move change. So if we still
don't have a TT move it's a good time to start an IID.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 6 Dec 2008 16:18:59 +0000 (17:18 +0100)]
Stockfish 1.1
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 6 Dec 2008 11:22:56 +0000 (12:22 +0100)]
Revert see() shortcut for LxH and equal captures
It happens that more then 70% of cases are HxL, where
we call see() anyway. The mesured saving of calling
see is about 0,5% of total time, but considering the
added burden in score_captures() the saving is only
0,35% locally and due to more difficult inlining of
the function it ends up that we have no advantage at all,
possibly a small slow down!
So revert.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 6 Dec 2008 11:01:16 +0000 (12:01 +0100)]
Fix two gcc warnings in san.cpp
One good, the other silly.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 6 Dec 2008 10:56:34 +0000 (11:56 +0100)]
Fix an Intel warning in san.cpp
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 5 Dec 2008 11:00:30 +0000 (12:00 +0100)]
MovePicker: avoid calling see() for LxH and equal captures
No functional change but should speed-up the captures scoring.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 6 Dec 2008 10:31:14 +0000 (11:31 +0100)]
Null capture pruning
Null move can fail low because of a capture artifact due
to the side to move change. Try to detect this condition
and fail high instead.
This pruning is very powerful, around 7% of nodes, but is
still experimental so is disabled by default.
Set UseNullCapturePruning to true to enable.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 5 Dec 2008 11:38:20 +0000 (12:38 +0100)]
Position::move_is_capture() does not handle MOVE_NONE
Actually square 0 can be dirty, so that move_is_capture(0)
can return any random values.
Add an assert to be sure it is caught.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 5 Dec 2008 08:50:18 +0000 (09:50 +0100)]
Allow to call Position::print() from MovePicker
Fix a recursion issue that gives a stack overflow.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 1 Dec 2008 16:46:12 +0000 (17:46 +0100)]
san.cpp: rewrite broken move_from_san
Use a state machine to parse the input. Fixed
the many broken cases.
Tested on more then 15 milions nodes.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 1 Dec 2008 13:34:31 +0000 (14:34 +0100)]
san.cpp cleanup
Hopefully no functional change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Thu, 27 Nov 2008 06:42:57 +0000 (07:42 +0100)]
Revert opponent time advantage logic
Strength increase was due to an hidden bug introduced
by the patch, namely the time per move to /30 instead
of /40 (see previous patch).
After testing this feature do not add any substantial
increase so is removed.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 30 Nov 2008 20:16:47 +0000 (21:16 +0100)]
Revert sigmoid interpolator
After deep test (1000 games) it seems do not improve anything,
actually seems slightly weaker.
So remove it for now.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 30 Nov 2008 00:25:16 +0000 (01:25 +0100)]
san.cpp pass position as constant reference
Make a copy of the position when needed instead
of passing as a reference. It is cleaner and
let us to simplify also Position::print()
A small space inflate while there.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 29 Nov 2008 23:38:33 +0000 (00:38 +0100)]
piece_type_to_char() default argument in declaration
Default argument should be in declaration where it
is visible through header include, not in definition.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Wed, 26 Nov 2008 10:22:30 +0000 (11:22 +0100)]
Revert threat move ordering
Does not seem to improve anything.
Anyhow idea is nice, maybe we still have to find
correct recipe.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 25 Nov 2008 14:31:55 +0000 (15:31 +0100)]
Tweak allocated time per move
It seems better to give more time in middle game then
at the end.
Also Toga uses the same limit.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 25 Nov 2008 13:49:38 +0000 (14:49 +0100)]
Rewrok the extendeable patch
Cleanup and document.
The real functional change is that not mate threat
moves are never pruned, as could happen before.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 25 Nov 2008 10:10:02 +0000 (11:10 +0100)]
MovePicker: take advantage of threat move for ordering
If the null move was refuted by a capture then give a
bonus if we move away the captured piece.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 24 Nov 2008 16:50:54 +0000 (17:50 +0100)]
Use extendable instead of depth extension
We can have depth(0) also in problematic cases
according to how extensions are tweaked by the user.
In any case we don't want to prune these moves.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 24 Nov 2008 11:13:08 +0000 (12:13 +0100)]
Generate moves for powerful pieces first
This seems to reduce searched nodes by a
surprising 2.5%
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 24 Nov 2008 19:43:11 +0000 (20:43 +0100)]
Benchmark: print nodes searched at the end of testing
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 22 Nov 2008 14:59:26 +0000 (15:59 +0100)]
Easy debug macro enabling
Now you don't need to toggle show_debug_xxxx anymore
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 22 Nov 2008 10:56:14 +0000 (11:56 +0100)]
Introduce node limited benchmarking
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 22 Nov 2008 10:02:05 +0000 (11:02 +0100)]
Introduce depth limited benchmarking
Also print some more info.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Mon, 17 Nov 2008 21:33:43 +0000 (22:33 +0100)]
Remove an include in movepick.h
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
Marco Costalba [Mon, 17 Nov 2008 21:30:19 +0000 (22:30 +0100)]
Fix a silly bug that disabled second killer
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
Marco Costalba [Sun, 16 Nov 2008 22:33:06 +0000 (23:33 +0100)]
qsearch: restore pruning of pv nodes with negative SEE
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Signed-off-by: unknown <Marco@.(none)>
Marco Costalba [Sun, 16 Nov 2008 11:46:12 +0000 (12:46 +0100)]
Fix Intel warnings and init_search_stack argument
Should be a reference not a copy!
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sun, 16 Nov 2008 10:16:07 +0000 (11:16 +0100)]
Set killer slots number to 2
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 23:47:55 +0000 (00:47 +0100)]
MovePicker: fix a nasty bug in EvalInfo optimization
EvalInfo has missing attack info when a specialized
endgame function is used.
We missed this case and were using an empty attack bitboard
instead so that no captures were generated for endgames.
After testing the EvalInfo optimization gave worst results,
so after a (long) debug session this nasty bug was found.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 17:23:56 +0000 (18:23 +0100)]
Add and use update_killers()
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 17:10:34 +0000 (18:10 +0100)]
Add and use move_is_killer() helper
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 16:56:22 +0000 (17:56 +0100)]
Convert killers to a vector
Add infrastructure to threat killer moves as a vector,
this will allow us to easily parametrize the number of
killer moves, instead of hardcode this value to two as is now.
This patch just add the infrastructure, no functional
change.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Tue, 11 Nov 2008 20:42:36 +0000 (21:42 +0100)]
qsearch: do not prune pv nodes with negative SEE
Also small micro-optimization, take a line out of
the moves loop.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 22:01:32 +0000 (23:01 +0100)]
Disable per-square MVV/LVA for now
Needs more testing.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 12:00:56 +0000 (13:00 +0100)]
MovePicker: use EvalInfo to skip generating captures
When we know already no captures are possible in a given
position.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 07:27:52 +0000 (08:27 +0100)]
Position::to_fen(): fix a bug in side to move representation
Was introduced almost two months ago in patch:
"Space inflate Position::to_fen()"
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Sat, 15 Nov 2008 07:14:28 +0000 (08:14 +0100)]
Print the move in addition to position
Teach Position::print() to optionally print a
given move in san notation in addition to
the ASCII representation of the board.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 14 Nov 2008 21:21:35 +0000 (22:21 +0100)]
Enable per-square MVV/LVA
Signed-off-by: Marco Costalba <mcostalba@gmail.com>
Marco Costalba [Fri, 14 Nov 2008 21:06:19 +0000 (22:06 +0100)]
MovePicker:find bad captures during scoring
Instead of pospone until picking. No functional
change and probably no performance change but it is
needed for following patch.
Signed-off-by: Marco Costalba <mcostalba@gmail.com>