From 3e55e41e1ccca4d49456fe3c0fe38353752354d5 Mon Sep 17 00:00:00 2001 From: crybot Date: Wed, 28 Jun 2017 19:02:49 +0200 Subject: [PATCH] Implemented PVS at root nodes, using previous' iteration move as first move --- NapoleonPP | Bin 204648 -> 209112 bytes search.cpp | 82 +++++++++++++++++++++++++++++++---------- search.h | 6 ++- searchinfo.cpp | 6 +++ searchinfo.h | 1 + transpositiontable.cpp | 1 + uci.cpp | 10 +++++ uci.h | 8 ++-- 8 files changed, 91 insertions(+), 23 deletions(-) diff --git a/NapoleonPP b/NapoleonPP index 12e20d272a105730bc42962ecaf572d94a7da3c4..9489a557f502ae934e966fef1bacea082e672000 100755 GIT binary patch delta 85195 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 delta 83323 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 Search::PonderHit(false); std::atomic Search::StopSignal(true); std::atomic Search::quit(false); int Search::GameTime[2]; @@ -34,6 +36,12 @@ namespace Napoleon int Search::cores; const int Search::default_cores = 1; + int Search::predictTime(Color color) + { + int gameTime = GameTime[color]; + return gameTime / 30 - (gameTime / (60 * 1000)); + } + // direct interface to the client. // it sends the move to the uci gui Move Search::StartThinking(SearchType type, Board& board, bool verbose, bool san) @@ -44,10 +52,12 @@ namespace Napoleon sendOutput = verbose; StopSignal = false; + pondering = false; searchInfo.SetDepthLimit(depth_limit); - if (type == SearchType::Infinite) + if (type == SearchType::Infinite || type == SearchType::Ponder) { + if (type == SearchType::Ponder) pondering = true; searchInfo.NewSearch(); // default time = Time::Infinite } else @@ -71,10 +81,23 @@ namespace Napoleon if (sendOutput) { + Move ponder = getPonderMove(board, move); if (san) - Uci::SendCommand(move.ToSan(board)); + { + if (ponder.IsNull()) + Uci::SendCommand(move.ToSan(board)); + else + Uci::SendCommand(move.ToSan(board), ponder.ToSan(board)); + } else - Uci::SendCommand(move.ToAlgebraic()); + { + if (ponder.IsNull()) + Uci::SendCommand(move.ToAlgebraic()); + else + Uci::SendCommand(move.ToAlgebraic(), ponder.ToAlgebraic()); + + } + } searchInfo.StopSearch(); @@ -166,10 +189,16 @@ namespace Napoleon score = searchRoot(searchInfo.MaxDepth(), -Constants::Infinity, Constants::Infinity, move, board); searchInfo.IncrementDepth(); - while ((searchInfo.MaxDepth() < 100 && !searchInfo.TimeOver())) + while ((searchInfo.MaxDepth() < 100 && !searchInfo.TimeOver()) || pondering) { if (StopSignal) break; + if(PonderHit) + { + searchInfo.SetGameTime(predictTime(board.SideToMove())); + PonderHit = false; + pondering = false; + } searchInfo.MaxPly = 0; searchInfo.ResetNodes(); @@ -181,13 +210,10 @@ namespace Napoleon temp = searchRoot(searchInfo.MaxDepth(), score - AspirationValue, score + AspirationValue, move, board); if (temp <= score - AspirationValue) - { temp = searchRoot(searchInfo.MaxDepth(), -Constants::Infinity, score + AspirationValue, move, board); - } - else if (temp >= score + AspirationValue) - { + + if (temp >= score + AspirationValue) temp = searchRoot(searchInfo.MaxDepth(), score - AspirationValue, Constants::Infinity, move, board); - } score = temp; @@ -218,6 +244,7 @@ namespace Napoleon } moves.Sort(); + moves.hashMove = moveToMake; int i = 0; for (auto move = moves.First(); !move.IsNull(); move = moves.Next(), i++) @@ -229,7 +256,12 @@ namespace Napoleon if (i == 0) // leftmost node score = -Search::search(depth - 1, -beta, -alpha, 1, board, false); // pv node else - score = -Search::search(depth - 1, -beta, -alpha, 1, board, true); // cut node + { + score = -search(depth - 1, -alpha - 1, -alpha, 1, board, true); + + if (score > alpha) + score = -search(depth - 1, -beta, -alpha, 1, board, false); + } board.UndoMove(move); if (score > alpha) @@ -395,15 +427,16 @@ namespace Napoleon MoveSelector moves(board, searchInfo); - if (moves.count == 1) // forced move extension - { - assert(false); - extension = true; - ++depth; - } - MoveGenerator::GetPseudoLegalMoves(moves.moves, moves.count, attackers, board); // get captures and non-captures + /* + if (moves.count == 1) // forced move extension + { + extension = true; + ++depth; + } + */ + moves.Sort(ply); moves.hashMove = best; @@ -519,13 +552,13 @@ namespace Napoleon { R = 1; - if (eval + board.MaterialBalance(Utils::Piece::GetOpposite(board.SideToMove())) + newDepth * 250 <= alpha) + if (moveNumber > 9) { R = 2; } } - newDepth = depth - R; + newDepth = std::max(1, depth - R); score = -search(newDepth - 1, -alpha - 1, -alpha, ply + 1, board, !cut_node); @@ -703,4 +736,15 @@ namespace Napoleon return info.str(); } + + Move Search::getPonderMove(Board& board, const Move toMake) + { + Move move = Constants::NullMove; + board.MakeMove(toMake); + move = Table.GetPv(board.zobrist); + board.UndoMove(toMake); + + return move; + } + } diff --git a/search.h b/search.h index e133941..a01330d 100755 --- a/search.h +++ b/search.h @@ -15,7 +15,7 @@ namespace Napoleon { enum class SearchType { - Infinite, TimePerGame, TimePerMove + Infinite, TimePerGame, TimePerMove, Ponder }; enum class NodeType @@ -28,6 +28,8 @@ namespace Napoleon namespace Search { extern const int AspirationValue; + extern bool pondering; + extern std::atomic PonderHit; extern std::atomic StopSignal; extern int MoveTime; extern int GameTime[2]; // by color @@ -46,9 +48,11 @@ namespace Napoleon void KillThreads(); void signalThreads(int, int, int, const Board&, bool); void parallelSearch(); + int predictTime(Color); std::string GetInfo(Board&, Move, int, int, int); std::string GetPv(Board&, Move, int); + Move getPonderMove(Board&, const Move); Move StartThinking(SearchType, Board&, bool=true, bool=false); void StopThinking(); diff --git a/searchinfo.cpp b/searchinfo.cpp index ef991c5..e39a4c4 100755 --- a/searchinfo.cpp +++ b/searchinfo.cpp @@ -49,5 +49,11 @@ namespace Napoleon nodes = 0; } + void SearchInfo::SetGameTime(int time) + { + allocatedTime = time; + timer.Restart(); + } + } diff --git a/searchinfo.h b/searchinfo.h index f9b0bcf..65b5be0 100755 --- a/searchinfo.h +++ b/searchinfo.h @@ -27,6 +27,7 @@ namespace Napoleon void SetKillers(Move, int); void SetHistory(Move, Color, int); void SetDepthLimit(int); + void SetGameTime(int); Move FirstKiller(int); Move SecondKiller(int); diff --git a/transpositiontable.cpp b/transpositiontable.cpp index eafa75a..cd37899 100755 --- a/transpositiontable.cpp +++ b/transpositiontable.cpp @@ -97,6 +97,7 @@ namespace Napoleon std::memset(table, 0, entries*sizeof(HashEntry)); } + //TODO return BEST pv move (exact score) Move TranspositionTable::GetPv(ZobristKey key) { auto hash = at(key); diff --git a/uci.cpp b/uci.cpp index f717b09..da67ba3 100755 --- a/uci.cpp +++ b/uci.cpp @@ -92,6 +92,7 @@ namespace Napoleon } else if (cmd == "position") { + //Search::StopThinking(); Move move; string token; stream >> token; @@ -137,6 +138,11 @@ namespace Napoleon if (Search::StopSignal) go(stream); } + else if (cmd == "ponderhit") + { + assert(false); + Search::PonderHit = true; + } } } @@ -173,6 +179,10 @@ namespace Napoleon { type = SearchType::Infinite; } + else if (token == "ponder") + { + type = SearchType::Ponder; + } } diff --git a/uci.h b/uci.h index a0a2a41..e30ec4e 100755 --- a/uci.h +++ b/uci.h @@ -17,7 +17,7 @@ namespace Napoleon void Start(); template - void SendCommand(std::string); + void SendCommand(std::string, std::string=""); void go(std::istringstream&); extern Board board; @@ -25,7 +25,7 @@ namespace Napoleon } template - void Uci::SendCommand(std::string command) + void Uci::SendCommand(std::string command, std::string ponder) { switch(cmdType) { @@ -33,7 +33,9 @@ namespace Napoleon std::cout << command << std::endl; break; case Command::Move: - std::cout << "bestmove " << command << std::endl; + std::cout << "bestmove " << command; + if(!ponder.empty()) std::cout << " ponder " << ponder; + std::cout << std::endl; break; case Command::Info: std::cout << "info " << command << std::endl;