編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

評価関数 - 局面の優劣を数値化する関数。

局面の優劣を数値化する関数。

局面(盤面・駒台及び手番)の情報をもとにその局面の評価値を計算する関数。αβ法及びその派生アルゴリズムで使用される事が多いが、評価関数自体はαβ法に依存しない。

評価値とは先手有利な局面か後手有利な局面かを表す値であり、一般的に下記の性質を持つ。 この性質から複数の局面の優劣を比較する事が可能になるという利点がある。

ただし、探索アルゴリズムからの評価関数の呼び出し方によっては、適当に符号反転した方が実装が容易になる場合があるので、各自工夫されたい。

評価関数は探索アルゴリズムと並びコンピュータ将棋の思考ルーチン?にとって重要な要素であり、評価関数の良し悪しが棋力に直結する。 具体的には、評価関数の精度(評価値の正確さ)と評価関数の動作速度(一つの局面の評価値を計算する速度)の二つが評価関数の良さを表す主な指標である。

ただし、コンピュータ将棋においては「量が質を補完する」性質がある。 よって、ある程度精度を犠牲にしても動作速度を向上させる事により、多くのノードを探索する事が可能になり、元の(精度を落とす前の)評価関数を用いた思考ルーチンより棋力が上がる事もある。

評価関数内でどの様な処理を行うかはコンピュータ将棋ソフトによって異なるが、主なものは下記の通りである。

ただし、ハードウェア(主にCPU及びメモリ)の性能が向上し、より多くのノードを探索可能になった結果、大駒?の自由度を評価値に反映させる必要性は無くなったとの報告もある。