From 3e7c94d4580164052d577a8e4f104cb5273f0a9a Mon Sep 17 00:00:00 2001 From: yaneurao Date: Mon, 18 Dec 2023 23:32:18 +0900 Subject: [PATCH] =?UTF-8?q?-=20=E3=83=9A=E3=82=BF=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=83=E3=82=AF=E5=8C=96=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=81=AE=E9=80=94=E4=B8=AD=E7=B5=8C=E9=81=8E=E3=81=A7=E3=81=A6?= =?UTF-8?q?=E3=81=AA=E3=81=84=E3=81=A8=E3=81=93=E3=82=8D=E3=81=8C=E3=81=82?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=80=82=20-=20cl?= =?UTF-8?q?ang=E3=81=AA=E3=81=A9=E3=81=A7BookHeader=E3=81=8Cwarning?= =?UTF-8?q?=E3=81=A7=E3=81=A6=E3=81=9F=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=80=82?= =?UTF-8?q?=20-=20tanuki=20mate=E3=82=A8=E3=83=B3=E3=82=B8=E3=83=B3?= =?UTF-8?q?=E3=81=AA=E3=81=A9=E3=81=A7=E3=83=93=E3=83=AB=E3=83=89=E3=82=A8?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=9F=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/book/book.cpp | 2 ++ source/book/book.h | 2 +- source/book/makebook2023.cpp | 7 ++++--- source/eval/nnue/evaluate_nnue.h | 2 ++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/source/book/book.cpp b/source/book/book.cpp index 669ceb747..db82475b3 100644 --- a/source/book/book.cpp +++ b/source/book/book.cpp @@ -1423,7 +1423,9 @@ namespace Book // cp_to_value()はscale downするから⇓変換後、このclampの範囲外に出ないことは保証される。scale upする場合は、注意。 value = std::clamp(value , VALUE_MATED_IN_MAX_PLY , VALUE_MATE_IN_MAX_PLY); +#if defined(USE_PIECE_VALUE) r.previousScore = r.usiScore = r.score = USI::cp_to_value(value); +#endif // ⇨ 定跡の評価値0になってる方が、嬉しい意味もあるか…。 // 2手目の指し手も与えないとponder出来ない。 diff --git a/source/book/book.h b/source/book/book.h index e3023a613..71a9adacd 100644 --- a/source/book/book.h +++ b/source/book/book.h @@ -15,7 +15,7 @@ namespace Search { struct LimitsType; }; // 定跡処理関連のnamespace namespace Book { - static char* BookDBHeader2016_100 = "#YANEURAOU-DB2016 1.00"; + static const char* BookDBHeader2016_100 = "#YANEURAOU-DB2016 1.00"; // 将棋ソフト用の標準定跡ファイルフォーマットの提案 : http://yaneuraou.yaneu.com/2016/02/05/standard-shogi-book-format/ diff --git a/source/book/makebook2023.cpp b/source/book/makebook2023.cpp index 76c2fc6d7..e1b3569de 100644 --- a/source/book/makebook2023.cpp +++ b/source/book/makebook2023.cpp @@ -1053,8 +1053,9 @@ namespace MakeBook2023 Color stm = ~book_node.color(); string sfen = (stm != pos.side_to_move()) ? pos.flipped_sfen(ply + 1) : pos.sfen(ply + 1); + // write_sfensのinsertはここでしか行わないので、ここでcheck()すれば十分。 write_sfens.insert(sfen); - write_counter2++; + progress.check(write_counter2++); // この手はないものとして、この book_node_index を起点として上流に更新していけばOK。 book_node.moves[best_index].move = MOVE_NONE; @@ -1247,7 +1248,7 @@ namespace MakeBook2023 // ⇑ sort中にpacked sfenのunpackをしてメモリ節約するのは無謀であったか…。 - cout << "Unpack sfens : " << endl; + cout << "Unpack packed sfens : " << endl; // 並び替えを行う。 // ただしbook_nodes直接並び替えるのはメモリ移動量が大きいのでindexのみをsortする。 @@ -1280,7 +1281,7 @@ namespace MakeBook2023 // しかしsortするのも丸読みしないといけないから大変か…。 // この時点で要らないものをいったん解放できると良いのだが…。 - cout << "Write book directly : " << endl; + cout << "Write to a book DB : " << endl; SystemIO::TextWriter writer; if (writer.Open(writebook_path).is_not_ok()) diff --git a/source/eval/nnue/evaluate_nnue.h b/source/eval/nnue/evaluate_nnue.h index 4a7903069..7adae5998 100644 --- a/source/eval/nnue/evaluate_nnue.h +++ b/source/eval/nnue/evaluate_nnue.h @@ -14,6 +14,8 @@ #include +// 評価関数のソースコードへの埋め込みをする時は、EVAL_EMBEDDINGをdefineして、 +// ⇓この2つのシンボルを正しく定義するembedded_nnue.cppを書けば良い。 #if defined(EVAL_EMBEDDING) extern const char* gEmbeddedNNUEData; extern const size_t gEmbeddedNNUESize;