1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 00:33:09 +00:00

Revert refinedValue in ProbCut

It seems much worst in number of nodes seacrhed to reach
the depth and anyhow does not give any advantage to the
Onno's oroginal one.

So revert by now and perhaps readd when we find something
clearly better.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2011-06-09 21:57:42 +01:00
parent b414fc0dfd
commit a21a110188
4 changed files with 12 additions and 6 deletions

View file

@ -110,13 +110,13 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const History& h)
go_next_phase();
}
MovePicker::MovePicker(const Position& p, Move ttm, const History& h, int threshold)
MovePicker::MovePicker(const Position& p, Move ttm, const History& h, int parentCapture)
: pos(p), H(h) {
assert (!pos.in_check());
// In ProbCut we consider only captures better than parent's move
captureThreshold = threshold;
captureThreshold = parentCapture;
phasePtr = ProbCutTable;
if ( ttm != MOVE_NONE

View file

@ -42,7 +42,7 @@ class MovePicker {
public:
MovePicker(const Position&, Move, Depth, const History&, SearchStack*, Value);
MovePicker(const Position&, Move, Depth, const History&);
MovePicker(const Position&, Move, const History&, int threshold);
MovePicker(const Position&, Move, const History&, int parentCapture);
Move get_next_move();
private:

View file

@ -213,6 +213,7 @@ public:
// Static exchange evaluation
int see(Move m) const;
int see_sign(Move m) const;
static int see_value(PieceType pt);
// Accessing hash keys
Key get_key() const;
@ -466,6 +467,10 @@ inline bool Position::square_is_weak(Square s, Color c) const {
return !(pieces(PAWN, opposite_color(c)) & attack_span_mask(c, s));
}
inline int Position::see_value(PieceType pt) {
return seeValues[pt];
}
inline Key Position::get_key() const {
return st->key;
}

View file

@ -903,8 +903,9 @@ namespace {
}
// Step 9. ProbCut (is omitted in PV nodes)
// If we have a good capture that raises the score well above beta and a reduced
// search confirms the score then we can (almost) safely prune the previous move.
// If we have a very good capture (i.e. SEE > seeValues[captured_piece_type])
// and a reduced search returns a value much above beta, we can (almost) safely
// prune the previous move.
if ( !PvNode
&& depth >= RazorDepth + ONE_PLY
&& !inCheck
@ -917,7 +918,7 @@ namespace {
assert(rdepth >= ONE_PLY);
MovePicker mp(pos, ttMove, H, Max(rbeta - refinedValue, VALUE_ZERO));
MovePicker mp(pos, ttMove, H, Position::see_value(pos.captured_piece_type()));
pinned = pos.pinned_pieces(pos.side_to_move());
while ((move = mp.get_next_move()) != MOVE_NONE)