Skip to content

Commit 1817411

Browse files
committed
Improvde MultiPV - no functional change official-stockfish#2163
2 parents 725185c + 62e6caf commit 1817411

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

src/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ RELEASE = no
4646
RELVERSION =
4747

4848
### Uncomment the line below for Honey, comment out for Stockfish
49-
### VERSION=sullivan
49+
VERSION=sullivan
5050

5151
### Uncomment for use with Raspberry Pi - a slower NPS UCI option setting used in Play
5252
### by Elo and personalities

src/search.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,8 +541,11 @@ ss->pv = pv;
541541
#endif
542542

543543
beta = VALUE_INFINITE;
544-
544+
#ifdef Sullivan //Improve multiPV mode #2163 by Joerg Oster
545+
multiPV = Options["MultiPV"];
546+
#else
545547
size_t multiPV = Options["MultiPV"];
548+
#endif
546549
Skill skill(Options["Skill Level"]);
547550

548551
#ifdef Sullivan //zugzwangMates by Gunther Dementz
@@ -1415,6 +1418,14 @@ namespace {
14151418
sync_cout << "info depth " << depth / ONE_PLY
14161419
<< " currmove " << UCI::move(move, pos.is_chess960())
14171420
<< " currmovenumber " << moveCount + thisThread->pvIdx << sync_endl;
1421+
#ifdef Sullivan // Improve multiPV mode #2163 by Joerg Oster
1422+
// In MultiPV mode also skip moves which will be searched later as PV moves
1423+
// this section updated by mstembera
1424+
if ( rootNode
1425+
&& std::find(thisThread->rootMoves.begin() + thisThread->pvIdx, thisThread->rootMoves.begin() + thisThread->pvLast, move)
1426+
== thisThread->rootMoves.begin() + thisThread->pvLast)
1427+
continue;
1428+
#endif
14181429
if (PvNode)
14191430
(ss+1)->pv = nullptr;
14201431

src/thread.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,13 @@ class Thread {
6262

6363
Pawns::Table pawnsTable;
6464
Material::Table materialTable;
65-
size_t pvIdx, pvLast;
6665

67-
#ifdef Sullivan // Gunther Demetz zugzwangSolver
68-
int selDepth, nmpMinPly, zugzwangMates;
66+
#ifdef Sullivan
67+
size_t pvIdx, multiPV, pvLast; // Improve multiPV mode by joergoster
68+
int selDepth, nmpMinPly, zugzwangMates; // Gunther Demetz zugzwangSolver
6969
int64_t visits, allScores; // Moez Jellouli -> Save_probcut #e05dc73
7070
#else
71+
size_t pvIdx, pvLast;
7172
int selDepth, nmpMinPly;
7273
#endif
7374

0 commit comments

Comments
 (0)