評価関数

チェスプログラムが探索を導けるよう、局面の価値へ数値的な推定を与える手続き。

解説

評価関数は、局面が一方の陣営にどれほど有利かを数値で推定する。有限の探索では考え得る全対局の真の終局まで到達できないため、が利用する。

その時点の局面を、そこから新たな完全探索を始めずに採点するため、静的評価と呼ばれる。静的という語は、戦術的に静かな局面という意味ではない。

考慮し得る情報

  • マテリアル。双方にどの駒が残っているかを指す。
  • キングの安全、駒の配置、モビリティ。モビリティとは、駒が有用な手をどれほど自由に指せるかを指す。
  • ポーン構造。ポーンの配置と、互いを支えたり弱めたりする関係に加え、そのほかの局面パターンを指す。
  • 一部のエンジンではニューラルネットワーク。多数の例から学習し、これらの信号を組み合わせる数学モデルである。

符号と尺度には文脈が必要である。正の値が白を有利とする場合も、手番側を有利とする場合もあり、プログラムによって異なる。ポーン1個分に似た単位も、普遍的な勝率を表すわけではない。

関数だけで最終的な手を選ぶわけではない。探索は多数の将来局面を比較し、のような手法で、その値を開始局面へ戻していく。そのため現在の盤面に対する素早い評価は、可能な手順を探索した後の結果と異なることがある。

用法と背景

インターフェースの0.00は通常、そのエンジン固有の尺度で均衡と推定していることを意味し、引き分けが証明されたことを意味しない。

よくある混同

静的評価と完全分析

静的評価は新たな長い変化を探索せず、一局面を採点する。分析は評価と探索を組み合わせる。

数値と客観的真実

解決済みエンドゲーム以外では、数値は推定であり、より深く探索すると変わることがある。

出典

  1. 1.Evaluation, Chess Programming Wiki
  2. 2.evaluate.cpp, Stockfish
  3. 3.UCI Protocol and Stockfish Commands, Stockfish

関連用語

© 2026 MindZug