stockfish
12 years agoMerge space weigth evaluation fromGlaurung 2.2
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>
12 years agoMerged two new endgames from Glaurung 2.2
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>
12 years agoSEE: add support for enpassant moves
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>
12 years agoCall poll() before to check for stopped search
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>
12 years agoLess aggressive razoring
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>
12 years agoRevert: "Do not razor when in check"
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>
12 years agoTrigger of PawnEndgameExtension if capture is not a pawn
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>
12 years agosearch_pv: an enpassant move is a capture
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>
12 years agoqsearch: take in account enpassant in futility formula
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>
12 years agoqsearch: do not call evaluate when in check
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>
12 years agoRestore development versioning and LSN filtering
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>
12 years agoDo not razor while in check or value is mate
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>
12 years agoDo not null search when beta is a mate value
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>
12 years agoBetter document null move dynamic reduction
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>
12 years agoIntroduce beta counters to order moves at ply one
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>
12 years agoDebugging: move debug function definitions in misc.cpp
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>
12 years agoDebugging: print to file
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>
12 years agoFix two bugs in ok_to_prune() (2)
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>
12 years agoDisable "Null driven IID" by default
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>
12 years agoNull move only for depth > OnePly
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>
12 years agoNull driven IID: remove IIDMargin from see() condition
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>
12 years agoFix inflate pawns.cpp fallout
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>
12 years agoAdd behind_bb() helper to simplify code logic
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>
12 years agoSpace inflate pawns.cpp
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>
12 years agoAdd a see() function that take only destination square
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>
12 years agoStockfish 1.1a
Marco Costalba [Mon, 8 Dec 2008 11:03:46 +0000 (12:03 +0100)]
Stockfish 1.1a

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoAdd "Null driven IID" UCI option (default true)
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>
12 years agoNull move driven internal iterative deepening
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>
12 years agoStockfish 1.1
Marco Costalba [Sat, 6 Dec 2008 16:18:59 +0000 (17:18 +0100)]
Stockfish 1.1

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert see() shortcut for LxH and equal captures
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>
12 years agoFix two gcc warnings in san.cpp
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>
12 years agoFix an Intel warning in san.cpp
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>
12 years agoMovePicker: avoid calling see() for LxH and equal captures
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>
12 years agoNull capture pruning
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>
12 years agoPosition::move_is_capture() does not handle MOVE_NONE
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>
12 years agoAllow to call Position::print() from MovePicker
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>
12 years agosan.cpp: rewrite broken move_from_san
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>
12 years agosan.cpp cleanup
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>
12 years agoRevert opponent time advantage logic
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>
12 years agoRevert sigmoid interpolator
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>
12 years agosan.cpp pass position as constant reference
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>
12 years agopiece_type_to_char() default argument in declaration
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>
12 years agoRevert threat move ordering
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>
12 years agoTweak allocated time per move
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>
12 years agoRewrok the extendeable patch
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>
12 years agoMovePicker: take advantage of threat move for ordering
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>
12 years agoUse extendable instead of depth extension
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>
12 years agoGenerate moves for powerful pieces first
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>
12 years agoBenchmark: print nodes searched at the end of testing
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>
12 years agoEasy debug macro enabling
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>
12 years agoIntroduce node limited benchmarking
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>
12 years agoIntroduce depth limited benchmarking
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>
12 years agoRemove an include in movepick.h
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)>
12 years agoFix a silly bug that disabled second killer
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)>
12 years agoqsearch: restore pruning of pv nodes with negative SEE
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)>
12 years agoFix Intel warnings and init_search_stack argument
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>
12 years agoSet killer slots number to 2
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>
12 years agoMovePicker: fix a nasty bug in EvalInfo optimization
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>
12 years agoAdd and use update_killers()
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>
12 years agoAdd and use move_is_killer() helper
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>
12 years agoConvert killers to a vector
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>
12 years agoqsearch: do not prune pv nodes with negative SEE
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>
12 years agoDisable per-square MVV/LVA for now
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>
12 years agoMovePicker: use EvalInfo to skip generating captures
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>
12 years agoPosition::to_fen(): fix a bug in side to move representation
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>
12 years agoPrint the move in addition to position
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>
12 years agoEnable per-square MVV/LVA
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>
12 years agoMovePicker:find bad captures during scoring
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>
12 years agoMovePicker: introduce per square MVV/LVA ordering
Marco Costalba [Fri, 14 Nov 2008 20:49:46 +0000 (21:49 +0100)]
MovePicker: introduce per square MVV/LVA ordering

Just added the infrastructure, no functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix hashfull info
Marco Costalba [Tue, 11 Nov 2008 17:26:15 +0000 (18:26 +0100)]
Fix hashfull info

Do not count has a replacement when a TT entry is
written in an empty slot.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix in ok_to_history(): castle move is not a capture
Marco Costalba [Mon, 10 Nov 2008 18:04:15 +0000 (19:04 +0100)]
Fix in ok_to_history(): castle move is not a capture

It is erroneusly considered a capture because king
moves on the same square of the rook.

Use the correct function Position::move_is_capture()
instead of the open coded (and buggy) one.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSmall tidyup of TranspositionTable::store()
Marco Costalba [Mon, 10 Nov 2008 14:26:57 +0000 (15:26 +0100)]
Small tidyup of TranspositionTable::store()

Hopefully without bugs this time!

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a logic bug in TranspositionTable::store()
Marco Costalba [Mon, 10 Nov 2008 14:15:40 +0000 (15:15 +0100)]
Fix a logic bug in TranspositionTable::store()

Make the logic work as advertised in the function
description.

Still a fallback from TT cleanup.

This should be less serious then the one in retrieve(),
but it's still a bug.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMicro optimization of update_history()
Marco Costalba [Mon, 10 Nov 2008 12:56:49 +0000 (13:56 +0100)]
Micro optimization of update_history()

Remove an useless comparison.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUse cut-off checks in qsearch as killer moves
Marco Costalba [Mon, 10 Nov 2008 10:06:46 +0000 (11:06 +0100)]
Use cut-off checks in qsearch as killer moves

Killers should not be captures, but checks are not
and are produced also in qsearch.

Use this information, will be useful for move ordering.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSmaller null move reduction when depth is high
Marco Costalba [Sun, 9 Nov 2008 12:03:52 +0000 (13:03 +0100)]
Smaller null move reduction when depth is high

Lower probability to miss something important.

It seems to increase strenght. Idea form Cyclone.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoIntroduce LastIterations variable
Marco Costalba [Sat, 8 Nov 2008 08:29:07 +0000 (09:29 +0100)]
Introduce LastIterations variable

Is set during the last iteration.

Sometime also during the second last.

During the last iteration is set in the 95% of cases.

During the second last is set in the 40% of cases.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore development versioning and LSN filtering
Marco Costalba [Tue, 4 Nov 2008 20:13:00 +0000 (21:13 +0100)]
Restore development versioning and LSN filtering

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a missed initialization in get_option_value()
Marco Costalba [Tue, 4 Nov 2008 19:59:11 +0000 (20:59 +0100)]
Fix a missed initialization in get_option_value()

Spotted and reported by Dann Corbit.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStockfish 1.01
Marco Costalba [Mon, 3 Nov 2008 21:25:28 +0000 (22:25 +0100)]
Stockfish 1.01

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix compile under Ubuntu 64bit
Marco Costalba [Mon, 3 Nov 2008 21:05:41 +0000 (22:05 +0100)]
Fix compile under Ubuntu 64bit

Some missing includes.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a serious bug in TranspositionTable::retrieve()
Marco Costalba [Mon, 3 Nov 2008 18:59:58 +0000 (19:59 +0100)]
Fix a serious bug in TranspositionTable::retrieve()

Reported by Tord Romstad.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore development versioning
Marco Costalba [Mon, 3 Nov 2008 18:55:59 +0000 (19:55 +0100)]
Restore development versioning

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRestore LSN filtering
Marco Costalba [Sun, 2 Nov 2008 17:32:56 +0000 (18:32 +0100)]
Restore LSN filtering

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert movepick optimizations before to release
Marco Costalba [Sun, 2 Nov 2008 14:58:10 +0000 (15:58 +0100)]
Revert movepick optimizations before to release

More testing is needed and better do not risk
just before release.

Reverted:

Disable LSN filtering as defualt for release
Use MVV/LVA in score_evasions()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoStockfish 1.0
Marco Costalba [Sun, 2 Nov 2008 14:35:32 +0000 (15:35 +0100)]
Stockfish 1.0

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoDisable LSN filtering as defualt for release
Marco Costalba [Sun, 2 Nov 2008 14:35:02 +0000 (15:35 +0100)]
Disable LSN filtering as defualt for release

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUse MVV/LVA in score_evasions()
Marco Costalba [Sun, 2 Nov 2008 07:47:27 +0000 (08:47 +0100)]
Use MVV/LVA in score_evasions()

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoDelay SEE for scoring captures
Marco Costalba [Sat, 1 Nov 2008 17:28:49 +0000 (18:28 +0100)]
Delay SEE for scoring captures

Do not calculate SEE on all the moves in MovePicker::score_captures()
but delay until pick_move_from_list() when only the best ones are
double checked against their see value.

If a beta cut-off occurs then we avoid calculating SEE on all
the moves, but just the picked ones.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agosearch: micro optimization
Marco Costalba [Sat, 1 Nov 2008 18:44:17 +0000 (19:44 +0100)]
search: micro optimization

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFix a couple of gcc warnings in position.cpp
Marco Costalba [Sat, 1 Nov 2008 11:52:40 +0000 (12:52 +0100)]
Fix a couple of gcc warnings in position.cpp

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoUpdate README to Stockfish
Marco Costalba [Sat, 1 Nov 2008 12:56:01 +0000 (13:56 +0100)]
Update README to Stockfish

Remove Glaurung references.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoFinal touches to material.cpp
Marco Costalba [Sat, 1 Nov 2008 10:38:30 +0000 (11:38 +0100)]
Final touches to material.cpp

No functional changes, altough a bit of code reshuffle.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMaterial: lockless per-thread maps
Marco Costalba [Fri, 31 Oct 2008 16:42:25 +0000 (17:42 +0100)]
Material: lockless per-thread maps

Adds a good bunch of code but should be faster
and scalable because is lockless.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert "MovePicker::score_captures() order with SEE when pv"
Marco Costalba [Thu, 30 Oct 2008 14:28:25 +0000 (15:28 +0100)]
Revert "MovePicker::score_captures() order with SEE when pv"

Does not seem to increase the strenght.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoSpace inflate move.cpp
Marco Costalba [Thu, 30 Oct 2008 14:21:53 +0000 (15:21 +0100)]
Space inflate move.cpp

Also a little cleanup.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRevert "Relax time constraints"
Marco Costalba [Thu, 30 Oct 2008 10:38:06 +0000 (11:38 +0100)]
Revert "Relax time constraints"

Does not seem to give an improvment, acutually it seems
a totally neutral change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoPartially space inflate search.cpp
Marco Costalba [Thu, 30 Oct 2008 10:35:44 +0000 (11:35 +0100)]
Partially space inflate search.cpp

Space inflate main remaining functions in search.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoRelax time constraints
Marco Costalba [Wed, 29 Oct 2008 16:00:51 +0000 (17:00 +0100)]
Relax time constraints

Allow a seacrh to take a bit more time if needed.

This reduces the chanches of wast all the search time
for the last iteration and also allow to start the last
iteration when we have less time remaining.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
12 years agoMaterial: micro optimize map reading
Marco Costalba [Wed, 29 Oct 2008 06:52:20 +0000 (07:52 +0100)]
Material: micro optimize map reading

Do only one map walk per read instead of two.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>