Stockfish 2.2 アップデートメモ その3 [将棋]
その2でも書いたのだが、最近妙に弱いし、クラッシュしまくる。
NPSは落ちていないので、piece_onみたいな変更ではない。
しかし、すごく弱い。これは間違いなく変な仕様変更が入っていると思ったが何かはわからなかった。
マージコミットはgit bisectが効かないので、セルフbisectを行ったのだが
明らかに重要なコミットを見逃していた。完璧な脳内スルー。
探索においては誰がどう見ても重要なコミットなのになぜこれが原因だとすぐわからなかったのか。
我ながら寝ぼけてるとしかいいようがない。
他にもクラッシュの原因っぽいのも見つけたし、焦るとろくなことがないなぁ~
NPSは落ちていないので、piece_onみたいな変更ではない。
しかし、すごく弱い。これは間違いなく変な仕様変更が入っていると思ったが何かはわからなかった。
マージコミットはgit bisectが効かないので、セルフbisectを行ったのだが
明らかに重要なコミットを見逃していた。完璧な脳内スルー。
commit 6bc16f3ff162a46e5c06f8857865472757e46bf0
Author: Marco Costalba
Date: Sun Sep 18 19:50:42 2011 +0100
Update killers after a TT hit
Almost no increase but seems the logic thing to do.
After 16707 games 2771 - 2595 - 11341 ELO +3 (+- 3.2)
Signed-off-by: Marco Costalba
diff --git a/src/search.cpp b/src/search.cpp
index 4408475..0e3ba85 100644
--- a/src/search.cpp
+++ b/src/search.cpp
@@ -780,8 +780,18 @@ namespace {
: can_return_tt(tte, depth, beta, ss->ply)))
{
TT.refresh(tte);
- ss->bestMove = ttMove; // Can be MOVE_NONE
- return value_from_tt(tte->value(), ss->ply);
+ ss->bestMove = move = ttMove; // Can be MOVE_NONE
+ value = value_from_tt(tte->value(), ss->ply);
+
+ if ( value >= beta
+ && move
+ && !pos.move_is_capture_or_promotion(move)
+ && move != ss->killers[0])
+ {
+ ss->killers[1] = ss->killers[0];
+ ss->killers[0] = move;
+ }
+ return value;
}
// Step 5. Evaluate the position statically and update parent's gain statistics
探索においては誰がどう見ても重要なコミットなのになぜこれが原因だとすぐわからなかったのか。
我ながら寝ぼけてるとしかいいようがない。
他にもクラッシュの原因っぽいのも見つけたし、焦るとろくなことがないなぁ~
コメント 0