mirror of
https://github.com/sockspls/badfish
synced 2025-04-30 00:33:09 +00:00
Sort again root moves after a fail low
Currently we use original sorting after a fail low to research at wider window. This patch instead sorts the moves according to the last available move's scores. Strangely no functional change, but should be. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
a303bde26c
commit
8d1d9f7181
1 changed files with 8 additions and 5 deletions
|
@ -645,7 +645,6 @@ namespace {
|
||||||
while (Iteration < PLY_MAX)
|
while (Iteration < PLY_MAX)
|
||||||
{
|
{
|
||||||
// Initialize iteration
|
// Initialize iteration
|
||||||
rml.sort();
|
|
||||||
Iteration++;
|
Iteration++;
|
||||||
BestMoveChangesByIteration[Iteration] = 0;
|
BestMoveChangesByIteration[Iteration] = 0;
|
||||||
if (Iteration <= 5)
|
if (Iteration <= 5)
|
||||||
|
@ -666,7 +665,7 @@ namespace {
|
||||||
beta = Min(ValueByIteration[Iteration - 1] + AspirationDelta, VALUE_INFINITE);
|
beta = Min(ValueByIteration[Iteration - 1] + AspirationDelta, VALUE_INFINITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search to the current depth
|
// Search to the current depth, rml is updated and sorted
|
||||||
value = root_search(p, ss, rml, alpha, beta);
|
value = root_search(p, ss, rml, alpha, beta);
|
||||||
|
|
||||||
// Write PV to transposition table, in case the relevant entries have
|
// Write PV to transposition table, in case the relevant entries have
|
||||||
|
@ -733,8 +732,6 @@ namespace {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
rml.sort();
|
|
||||||
|
|
||||||
// If we are pondering or in infinite search, we shouldn't print the
|
// If we are pondering or in infinite search, we shouldn't print the
|
||||||
// best move before we are told to do so.
|
// best move before we are told to do so.
|
||||||
if (!AbortSearch && (PonderSearch || InfiniteSearch))
|
if (!AbortSearch && (PonderSearch || InfiniteSearch))
|
||||||
|
@ -808,6 +805,9 @@ namespace {
|
||||||
|
|
||||||
while (1) // Fail low loop
|
while (1) // Fail low loop
|
||||||
{
|
{
|
||||||
|
// Sort the moves before to (re)search
|
||||||
|
rml.sort();
|
||||||
|
|
||||||
// Loop through all the moves in the root move list
|
// Loop through all the moves in the root move list
|
||||||
for (int i = 0; i < rml.move_count() && !AbortSearch; i++)
|
for (int i = 0; i < rml.move_count() && !AbortSearch; i++)
|
||||||
{
|
{
|
||||||
|
@ -925,7 +925,7 @@ namespace {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// Remember beta-cutoff and searched nodes counts for this move. The
|
// Remember beta-cutoff and searched nodes counts for this move. The
|
||||||
// info is used to sort the root moves at the next iteration.
|
// info is used to sort the root moves for the next iteration.
|
||||||
int64_t our, their;
|
int64_t our, their;
|
||||||
TM.get_beta_counters(pos.side_to_move(), our, their);
|
TM.get_beta_counters(pos.side_to_move(), our, their);
|
||||||
rml.set_beta_counters(i, our, their);
|
rml.set_beta_counters(i, our, their);
|
||||||
|
@ -1002,6 +1002,9 @@ namespace {
|
||||||
|
|
||||||
} // Fail low loop
|
} // Fail low loop
|
||||||
|
|
||||||
|
// Sort the moves before to return
|
||||||
|
rml.sort();
|
||||||
|
|
||||||
return alpha;
|
return alpha;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue