mirror of
https://github.com/sockspls/badfish
synced 2025-05-03 01:59:36 +00:00
Remove recaptures stage in qsearch
Simplify an old commit
72760c05c6
.
Search is not stuck on the test position given
r1n1n1b1/1P1P1P1P/1N1N1N2/2RnQrRq/2pKp3/3BNQbQ/k7/4Bq2 w - - 0 1
Passed STC:
https://tests.stockfishchess.org/tests/view/6567050d136acbc573550919
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 236160 W: 59475 L: 59475 D: 117210
Ptnml(0-2): 841, 28266, 59816, 28366, 791
Passed LTC:
https://tests.stockfishchess.org/tests/view/6567d133136acbc573551c78
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 201690 W: 49630 L: 49593 D: 102467
Ptnml(0-2): 128, 23214, 54122, 23255, 126
closes https://github.com/official-stockfish/Stockfish/pull/4896
Bench: 1604361
This commit is contained in:
parent
85403a89ba
commit
15d47a2b38
4 changed files with 6 additions and 12 deletions
|
@ -112,15 +112,13 @@ MovePicker::MovePicker(const Position& p,
|
||||||
const ButterflyHistory* mh,
|
const ButterflyHistory* mh,
|
||||||
const CapturePieceToHistory* cph,
|
const CapturePieceToHistory* cph,
|
||||||
const PieceToHistory** ch,
|
const PieceToHistory** ch,
|
||||||
const PawnHistory* ph,
|
const PawnHistory* ph) :
|
||||||
Square rs) :
|
|
||||||
pos(p),
|
pos(p),
|
||||||
mainHistory(mh),
|
mainHistory(mh),
|
||||||
captureHistory(cph),
|
captureHistory(cph),
|
||||||
continuationHistory(ch),
|
continuationHistory(ch),
|
||||||
pawnHistory(ph),
|
pawnHistory(ph),
|
||||||
ttMove(ttm),
|
ttMove(ttm),
|
||||||
recaptureSquare(rs),
|
|
||||||
depth(d) {
|
depth(d) {
|
||||||
assert(d <= 0);
|
assert(d <= 0);
|
||||||
|
|
||||||
|
@ -340,8 +338,7 @@ top:
|
||||||
return select<Next>([&]() { return pos.see_ge(*cur, threshold); });
|
return select<Next>([&]() { return pos.see_ge(*cur, threshold); });
|
||||||
|
|
||||||
case QCAPTURE :
|
case QCAPTURE :
|
||||||
if (select<Next>(
|
if (select<Next>([]() { return true; }))
|
||||||
[&]() { return depth > DEPTH_QS_RECAPTURES || to_sq(*cur) == recaptureSquare; }))
|
|
||||||
return *(cur - 1);
|
return *(cur - 1);
|
||||||
|
|
||||||
// If we did not find any move and we do not try checks, we have finished
|
// If we did not find any move and we do not try checks, we have finished
|
||||||
|
|
|
@ -152,8 +152,7 @@ class MovePicker {
|
||||||
const ButterflyHistory*,
|
const ButterflyHistory*,
|
||||||
const CapturePieceToHistory*,
|
const CapturePieceToHistory*,
|
||||||
const PieceToHistory**,
|
const PieceToHistory**,
|
||||||
const PawnHistory*,
|
const PawnHistory*);
|
||||||
Square);
|
|
||||||
MovePicker(const Position&, Move, Value, const CapturePieceToHistory*);
|
MovePicker(const Position&, Move, Value, const CapturePieceToHistory*);
|
||||||
Move next_move(bool skipQuiets = false);
|
Move next_move(bool skipQuiets = false);
|
||||||
|
|
||||||
|
@ -173,7 +172,6 @@ class MovePicker {
|
||||||
Move ttMove;
|
Move ttMove;
|
||||||
ExtMove refutations[3], *cur, *endMoves, *endBadCaptures;
|
ExtMove refutations[3], *cur, *endMoves, *endBadCaptures;
|
||||||
int stage;
|
int stage;
|
||||||
Square recaptureSquare;
|
|
||||||
Value threshold;
|
Value threshold;
|
||||||
Depth depth;
|
Depth depth;
|
||||||
ExtMove moves[MAX_MOVES];
|
ExtMove moves[MAX_MOVES];
|
||||||
|
|
|
@ -1487,7 +1487,7 @@ Value qsearch(Position& pos, Stack* ss, Value alpha, Value beta, Depth depth) {
|
||||||
// will be generated.
|
// will be generated.
|
||||||
Square prevSq = is_ok((ss - 1)->currentMove) ? to_sq((ss - 1)->currentMove) : SQ_NONE;
|
Square prevSq = is_ok((ss - 1)->currentMove) ? to_sq((ss - 1)->currentMove) : SQ_NONE;
|
||||||
MovePicker mp(pos, ttMove, depth, &thisThread->mainHistory, &thisThread->captureHistory,
|
MovePicker mp(pos, ttMove, depth, &thisThread->mainHistory, &thisThread->captureHistory,
|
||||||
contHist, &thisThread->pawnHistory, prevSq);
|
contHist, &thisThread->pawnHistory);
|
||||||
|
|
||||||
int quietCheckEvasions = 0;
|
int quietCheckEvasions = 0;
|
||||||
|
|
||||||
|
|
|
@ -205,9 +205,8 @@ constexpr Value PieceValue[PIECE_NB] = {
|
||||||
using Depth = int;
|
using Depth = int;
|
||||||
|
|
||||||
enum : int {
|
enum : int {
|
||||||
DEPTH_QS_CHECKS = 0,
|
DEPTH_QS_CHECKS = 0,
|
||||||
DEPTH_QS_NO_CHECKS = -1,
|
DEPTH_QS_NO_CHECKS = -1,
|
||||||
DEPTH_QS_RECAPTURES = -5,
|
|
||||||
|
|
||||||
DEPTH_NONE = -6,
|
DEPTH_NONE = -6,
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue