Skip to content

Commit

Permalink
- super sort有効の時に有効になってなかったの修正。
Browse files Browse the repository at this point in the history
- PARAM_MOVEPICKER_USE_SUPERSORT削除
- parital_insertion_sortのパラメーター調整
  • Loading branch information
yaneurao committed Nov 18, 2023
1 parent 98ff919 commit 6a263c5
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 16 deletions.
11 changes: 2 additions & 9 deletions source/engine/yaneuraou-engine/yaneuraou-param.h
Original file line number Diff line number Diff line change
Expand Up @@ -283,20 +283,13 @@ PARAM_DEFINE PARAM_MOVEPICKER_SORT_ALPHA1 = 3130;
// 重要度 ★★★★★
// 元の値 = 1960 , step = 1
// [PARAM] min:-1000,max:3000,step:480,interval:1,time_rate:1,fixed
PARAM_DEFINE PARAM_MOVEPICKER_SORT_TH2 = 480;
PARAM_DEFINE PARAM_MOVEPICKER_SORT_TH2 = 1960;

// move pickerでsortする係数 (super sort使用しない時)
// 重要度 ★★★★★
// 元の値 = 3130 , step = 1
// [PARAM] min:0,max:6000,step:500,interval:1,time_rate:1,fixed
PARAM_DEFINE PARAM_MOVEPICKER_SORT_ALPHA2 = 2630;

// move pickerでsuper sortを用いるか
// 重要度 ★★★★☆
// 元の値 = 0 , step = 1
// [PARAM] min:0,max:1,step:1,interval:1,time_rate:1,fixed
PARAM_DEFINE PARAM_MOVEPICKER_USE_SUPERSORT = 1;

PARAM_DEFINE PARAM_MOVEPICKER_SORT_ALPHA2 = 3130;

//
// mate..
Expand Down
11 changes: 4 additions & 7 deletions source/movepick.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -520,14 +520,11 @@ Move MovePicker::next_move(bool skipQuiets) {
// sortする個数が64以上などはquick sortに切り替えるなどした方がいい可能性もある。

#if defined(USE_SUPER_SORT) && defined(USE_AVX2)

// 以下のSuperSortを有効にするとinsertion_sortと結果が異なるのでbenchコマンドの探索node数が変わって困ることがあるので注意。

if (PARAM_MOVEPICKER_USE_SUPERSORT)
partial_insertion_sort(cur, endMoves, -PARAM_MOVEPICKER_SORT_TH1 /*1960*/ - PARAM_MOVEPICKER_SORT_ALPHA1 /*3130*/ * depth);
else
// SuperSortを有効にするとinsertion_sortと結果が異なるのでbenchコマンドの探索node数が変わって困ることがあるので注意。
partial_super_sort (cur, endMoves, - PARAM_MOVEPICKER_SORT_TH1 /*1960*/ - PARAM_MOVEPICKER_SORT_ALPHA1 /*3130*/ * depth);
#else
partial_insertion_sort(cur, endMoves, - PARAM_MOVEPICKER_SORT_TH2 /*1960*/ - PARAM_MOVEPICKER_SORT_ALPHA2 /*3130*/ * depth);
#endif
partial_insertion_sort(cur, endMoves, - PARAM_MOVEPICKER_SORT_TH2 /*1960*/ - PARAM_MOVEPICKER_SORT_ALPHA2 /*3130*/ * depth);

// → sort時間がもったいないのでdepthが浅いときはscoreの悪い指し手を無視するようにしているだけで
// sort時間がゼロでできるなら全部した方が良いがどうせ早い段階で枝刈りされるのでほとんど効果がない。
Expand Down

0 comments on commit 6a263c5

Please sign in to comment.