Evaluation Overlap は、 複数の評価項目が同じ局面要素を重複して数えてしまう問題を指す。 評価関数を大きくするほど起こりやすく、調整を難しくする原因になる。
たとえば、
のすべてが「飛車が王の近くに利いている」ことを別々に加点すると、 本来より大きな値になってしまう。
これが evaluation overlap である。
overlap が大きいと、
という問題が起こる。
そのため評価関数設計では、 「この特徴は別の項目で既に数えていないか」を意識する必要がある。
対策としては、
などがある。
score += kingSafety(pos);
score += mobility(pos);
// 近すぎる概念を別で足しすぎない
// score += rookPressureNearKing(pos);
将棋は、
など局面要素が多いので、 評価項目を増やすと overlap が起こりやすい。
特に パターン認識 と NNUE 以前の手作り評価では、 設計者が overlap を意識して整理することが重要だった。