Skip to content
Permalink
Browse files

- Position::move16_to_move()のbug fix。thx.平岡さん

- sfenpackerでgameplyを引数で指定できるように修正。
- usioptionまわりの整理。
- 一つ前のcommitの修正忘れ
  • Loading branch information...
yaneurao committed May 23, 2019
1 parent 38f85f7 commit 9e6ba09029839838e10cd928456935111adeb971
Showing with 2,120 additions and 1,392 deletions.
  1. +0 −1 .gitignore
  2. +2 −0 source/Makefile
  3. +3 −0 source/YaneuraOu.vcxproj
  4. +9 −0 source/YaneuraOu.vcxproj.filters
  5. +40 −120 source/config.h
  6. +22 −22 source/engine/2018-otafuku-engine/2018-otafuku-search.cpp
  7. +1 −0 source/eval/evaluate_io.cpp
  8. +1 −0 source/eval/kppt/evaluate_kppt.cpp
  9. +1 −0 source/eval/kppt/evaluate_kppt_learner.cpp
  10. +2 −1 source/eval/nnue/evaluate_nnue.cpp
  11. +1 −1 source/eval/nnue/evaluate_nnue.h
  12. +2 −1 source/eval/nnue/evaluate_nnue_learner.cpp
  13. +1 −1 source/eval/nnue/evaluate_nnue_learner.h
  14. +1 −1 source/eval/nnue/features/feature_set.h
  15. +1 −1 source/eval/nnue/features/features_common.h
  16. +1 −1 source/eval/nnue/features/half_kp.cpp
  17. +1 −1 source/eval/nnue/features/half_kp.h
  18. +1 −1 source/eval/nnue/features/half_relative_kp.cpp
  19. +1 −1 source/eval/nnue/features/half_relative_kp.h
  20. +1 −1 source/eval/nnue/features/index_list.h
  21. +1 −1 source/eval/nnue/features/k.cpp
  22. +1 −1 source/eval/nnue/features/k.h
  23. +1 −1 source/eval/nnue/features/p.cpp
  24. +1 −1 source/eval/nnue/features/p.h
  25. +1 −1 source/eval/nnue/layers/affine_transform.h
  26. +1 −1 source/eval/nnue/layers/clipped_relu.h
  27. +1 −1 source/eval/nnue/layers/input_slice.h
  28. +1 −1 source/eval/nnue/layers/sum.h
  29. +1 −1 source/eval/nnue/nnue_accumulator.h
  30. +1 −1 source/eval/nnue/nnue_architecture.h
  31. +1 −1 source/eval/nnue/nnue_common.h
  32. +1 −1 source/eval/nnue/nnue_feature_transformer.h
  33. +1 −1 source/eval/nnue/nnue_test_command.cpp
  34. +1 −1 source/eval/nnue/nnue_test_command.h
  35. +1 −1 source/eval/nnue/trainer/features/factorizer.h
  36. +1 −1 source/eval/nnue/trainer/features/factorizer_feature_set.h
  37. +1 −1 source/eval/nnue/trainer/features/factorizer_half_kp.h
  38. +1 −1 source/eval/nnue/trainer/trainer.h
  39. +1 −1 source/eval/nnue/trainer/trainer_affine_transform.h
  40. +1 −1 source/eval/nnue/trainer/trainer_clipped_relu.h
  41. +1 −1 source/eval/nnue/trainer/trainer_feature_transformer.h
  42. +1 −1 source/eval/nnue/trainer/trainer_input_slice.h
  43. +1 −1 source/eval/nnue/trainer/trainer_sum.h
  44. +3 −2 source/extra/benchmark.cpp
  45. +5 −5 source/extra/book/book.cpp
  46. +1 −0 source/extra/book/book.h
  47. +1 −0 source/extra/book/makebook2019.cpp
  48. +1 −1 source/extra/see.cpp
  49. +2 −2 source/extra/sfen_packer.cpp
  50. +3 −3 source/extra/test_cmd.cpp
  51. +19 −17 source/extra/timeman.cpp
  52. +1 −0 source/learn/gensfen2019.cpp
  53. +1 −1 source/learn/learn.h
  54. +1 −1 source/learn/learner.cpp
  55. +12 −4 source/learn/multi_think.cpp
  56. +7 −3 source/learn/multi_think.h
  57. +323 −298 source/misc.cpp
  58. +230 −217 source/misc.h
  59. +618 −0 source/old_engines/gensfen/gensfen2018.cpp
  60. +44 −6 source/position.cpp
  61. +9 −16 source/position.h
  62. +50 −44 source/search.h
  63. +1 −0 source/thread.cpp
  64. +3 −2 source/thread.h
  65. +1 −0 source/tt.h
  66. +3 −26 source/types.cpp
  67. +21 −188 source/types.h
  68. +142 −379 source/usi.cpp
  69. +157 −0 source/usi.h
  70. +346 −0 source/usi_option.cpp
@@ -21,7 +21,6 @@ YaneuraOu_backup*.lnk
# experimental

evaluate_experimental.*
gensfen2018*

# cf. https://twitter.com/496_/status/673758920846917632
YaneuraOu.VC.opendb
@@ -110,11 +110,13 @@ SOURCES = types.cpp \
movegen.cpp \
position.cpp \
usi.cpp \
usi_option.cpp \
thread.cpp \
tt.cpp \
move_pick.cpp \
extra/book/apery_book.cpp \
extra/book/book.cpp \
extra/book/makebook2019.cpp \
extra/bitop.cpp \
extra/entering_king_win.cpp \
extra/long_effect.cpp \
@@ -682,6 +682,7 @@
<ClInclude Include="position.h" />
<ClInclude Include="thread.h" />
<ClInclude Include="tt.h" />
<ClInclude Include="usi.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="bitboard.cpp" />
@@ -707,6 +708,7 @@
<ClCompile Include="extra\bitop.cpp" />
<ClCompile Include="extra\book\apery_book.cpp" />
<ClCompile Include="extra\book\book.cpp" />
<ClCompile Include="extra\book\makebook2019.cpp" />
<ClCompile Include="extra\entering_king_win.cpp" />
<ClCompile Include="extra\kif_converter\kif_convert_tools.cpp" />
<ClCompile Include="extra\long_effect.cpp" />
@@ -728,6 +730,7 @@
<ClCompile Include="thread.cpp" />
<ClCompile Include="tt.cpp" />
<ClCompile Include="usi.cpp" />
<ClCompile Include="usi_option.cpp" />
</ItemGroup>
<ItemGroup>
<Text Include="..\docs\USI拡張コマンド.txt" />
@@ -259,6 +259,9 @@
<ClInclude Include="thread_win32.h">
<Filter>リソース ファイル</Filter>
</ClInclude>
<ClInclude Include="usi.h">
<Filter>リソース ファイル</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="movegen.cpp">
@@ -393,6 +396,12 @@
<ClCompile Include="types.cpp">
<Filter>リソース ファイル</Filter>
</ClCompile>
<ClCompile Include="extra\book\makebook2019.cpp">
<Filter>リソース ファイル\extra\book</Filter>
</ClCompile>
<ClCompile Include="usi_option.cpp">
<Filter>リソース ファイル</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Text Include="..\docs\USI拡張コマンド.txt">
@@ -1,5 +1,34 @@
#ifndef _CONFIG_H_
#define _CONFIG_H_
#ifndef _CONFIG_H_INCLUDED
#define _CONFIG_H_INCLUDED

//
// やねうら王プロジェクト
// 公式サイト : http://yaneuraou.yaneu.com/yaneuraou_mini/
//

// 思考エンジンのバージョンとしてUSIプロトコルの"usi"コマンドに応答するときの文字列。
// ただし、この値を数値として使用することがあるので数値化できる文字列にしておく必要がある。
#define ENGINE_VERSION "4.83"

// --------------------
// 思考エンジンの種類
// --------------------

// やねうら王の思考エンジンとしてリリースする場合、以下から選択。(どれか一つは必ず選択しなければならない)
// オリジナルの思考エンジンをユーザーが作成する場合は、USER_ENGINE を defineして 他のエンジンのソースコードを参考に
// engine/user-engine/ フォルダの中身を書くべし。

#if !defined (USE_MAKEFILE)

#define YANEURAOU_2018_OTAFUKU_ENGINE // やねうら王2018 with お多福Lab。(開発中2018/01/01~)
//#define MATE_ENGINE // 詰め将棋solverとしてリリースする場合。(開発中2017/05/06~)
//#define USER_ENGINE // ユーザーの思考エンジン

#else

// Makefileを使ってビルドをするときは、Makefile側で選択する。

#endif

// --------------------
// コンパイル時設定
@@ -284,75 +313,7 @@
#define USE_GLOBAL_OPTIONS
#endif



// 極やねうら王2018(非公開)
#if defined(YANEURAOU_2018_GOKU_ENGINE)
#define ENGINE_NAME "YaneuraOu 2018 GOKU"

//#define EVAL_KPPT
#define EVAL_KPP_KKPT

//#define USE_HELICES_MIRROR
//#define EVAL_HELICES 81

//#define USE_KPPP_KKPT_MIRROR
//#define EVAL_KPPP_KKPT 18
//#define EVAL_KPPP_KKPT 36

//#define USE_KPPPT_MIRROR
//#define EVAL_KPPPT 27
//#define EVAL_KPPPT 18

//#define EVAL_KKPP_KKPT 36
//#define EVAL_KKPP_KKPT 45
//#define EVAL_KKPPT 36

//#define EVAL_KPP_KKPT_FV_VAR

//#define EVAL_NABLA

//#define EVAL_MATERIAL

// 実験中の評価関数
// 評価関数の番号を選択できる。0001~9999から選ぶ。
// 番号として、0000は、if EVAL_EXPERIMENTAL == 0000と判定しようとしたときに、C++の言語仕様として
// シンボルが定義されていないときこの条件式が真だと判定されてしまうので使えない。
//#define EVAL_EXPERIMENTAL 0005

#define USE_EVAL_HASH
#define USE_SEE
#define USE_MATE_1PLY
#define USE_ENTERING_KING_WIN
#define USE_TIME_MANAGEMENT
#define KEEP_PIECE_IN_GENERATE_MOVES
#define ONE_PLY_EQ_1

// デバッグ絡み
//#define ASSERT_LV 3
//#define USE_DEBUG_ASSERT

#define ENABLE_TEST_CMD
// 学習絡みのオプション
#define USE_SFEN_PACKER
// 学習機能を有効にするオプション。
#define EVAL_LEARN
// 開発中の教師局面の生成コマンド
#define USE_GENSFEN2018

// 定跡生成絡み
#define ENABLE_MAKEBOOK_CMD
// 評価関数を共用して複数プロセス立ち上げたときのメモリを節約。(いまのところWindows限定)
#define USE_SHARED_MEMORY_IN_EVAL
// パラメーターの自動調整絡み
#define USE_GAMEOVER_HANDLER
//#define LONG_EFFECT_LIBRARY

// GlobalOptionsは有効にしておく。
#define USE_GLOBAL_OPTIONS
#endif


// NNUE評価関数を積んだtanuki-エンジン
#if defined(YANEURAOU_2018_TNK_ENGINE)
#define ENGINE_NAME "YaneuraOu 2018 T.N.K."
#define EVAL_NNUE
@@ -375,6 +336,11 @@
// 学習機能を有効にするオプション。
#define EVAL_LEARN

// 学習のためにOpenBLASを使う
// "../openblas/lib/libopenblas.dll.a"をlibとして追加すること。
//#define USE_BLAS


// 定跡生成絡み
#define ENABLE_MAKEBOOK_CMD
// 評価関数を共用して複数プロセス立ち上げたときのメモリを節約。(いまのところWindows限定)
@@ -390,28 +356,6 @@
#define YANEURAOU_2018_OTAFUKU_ENGINE
#endif


#ifdef LOCAL_GAME_SERVER
#define ENGINE_NAME "YaneuraOu Local Game Server"
#define EVAL_MATERIAL
#define ASSERT_LV 3 // ローカルゲームサーバー、host側の速度はそれほど要求されないのでASSERT_LVを3にしておく。
#define KEEP_LAST_MOVE
#define USE_ENTERING_KING_WIN
#endif


// --- 協力詰めエンジンとして実行ファイルを公開するとき用の設定集

#ifdef HELP_MATE_ENGINE
#define ENGINE_NAME "YaneuraOu help mate solver"
#define KEEP_LAST_MOVE
#undef MAX_PLY_NUM
#define MAX_PLY_NUM 65000
#undef HASH_KEY_BITS
#define HASH_KEY_BITS 128
#define EVAL_MATERIAL
#endif

// --- 詰将棋エンジンとして実行ファイルを公開するとき用の設定集

#ifdef MATE_ENGINE
@@ -445,6 +389,7 @@
#undef ENABLE_TEST_CMD
#define USE_LARGE_EVAL_HASH
#undef USE_GLOBAL_OPTIONS
#undef KEEP_LAST_MOVE
#endif

// --------------------
@@ -457,11 +402,6 @@
#define USE_GLOBAL_OPTIONS
#endif

// 評価関数の実験用のときは、EvalListの組み換えが必要になる。
#if EVAL_EXPERIMENTAL >= 0001
#define USE_EVAL_MAKE_LIST_FUNCTION
#endif

// --------------------
// GlobalOptions
// --------------------
@@ -701,15 +641,6 @@ constexpr bool Is64Bit = false;

#endif

// ----------------------------
// mutex wrapper
// ----------------------------

// Windows用のmingw、gcc環境下でstd::mutexをもっと速い実装に差し替えたい時のためにwrapしてある。
// そのためstd::mutex、std::condition_variableを直接用いるのではなく、Mutex、ConditionVariableを用いる。

#include "thread_win32.h"

// ----------------------------
// mkdir wrapper
// ----------------------------
@@ -772,18 +703,6 @@ inline int MKDIR(std::string dir_name)
#define EVAL_TYPE_NAME "KPPT"
#elif defined(EVAL_KPP_KKPT)
#define EVAL_TYPE_NAME "KPP_KKPT"
#elif defined(EVAL_KPPPT)
#define EVAL_TYPE_NAME "KPPPT"
#elif defined(EVAL_KPPP_KKPT)
#define EVAL_TYPE_NAME "KPPP_KKPT"
#elif defined(EVAL_KKPP_KKPT)
#define EVAL_TYPE_NAME "KKPP_KKPT"
#elif defined(EVAL_KKPPT)
#define EVAL_TYPE_NAME "KKPPT"
#elif defined(EVAL_KPP_KKPT_FV_VAR)
#define EVAL_TYPE_NAME "KPP_KKPT_FV_VAR"
#elif defined(EVAL_NABLA)
#define EVAL_TYPE_NAME "NABLA V2"
#elif defined(EVAL_NNUE)
#define EVAL_TYPE_NAME "NNUE"
#else
@@ -835,4 +754,5 @@ inline int MKDIR(std::string dir_name)
#define ADD_BOARD_EFFECT_REWIND(color_,sq_,e1_) { board_effect[color_].e[sq_] += (uint8_t)e1_; }
#define ADD_BOARD_EFFECT_BOTH_REWIND(color_,sq_,e1_,e2_) { board_effect[color_].e[sq_] += (uint8_t)e1_; board_effect[~color_].e[sq_] += (uint8_t)e2_; }

#endif // _CONFIG_H_
#endif // ifndef _CONFIG_H_INCLUDED

0 comments on commit 9e6ba09

Please sign in to comment.
You can’t perform that action at this time.