簡単に言えば、チェスエンジンのパラメーターを調整する標準的なアプローチは次のとおりです。
- パラメータを定義する
- パラメータに公称(開始)値を与える
- エンジンを実行してパフォーマンスを確認する
- パラメータ値を調整して、パフォーマンスを向上させます
次に、パフォーマンスの目標に達するまでステップ3と4を繰り返します。
これを行うための通常のアプローチは、エンジントーナメントでエンジンが向かい合う実験室を設置することです。エンジンが両方の色を再生する複数のゲームが使用されます。関心のある主なトーナメントには、パラメーター値セットBの同じエンジンに対して、パラメーター値セットAのエンジンを実行することが含まれます。
ご想像のとおり、このアプローチの結果は次のものに大きく依存しています。
- 選択されたパラメーター
- パラメータの指定方法
- テスト中のパラメーター値の変化
- エンジンの実行方法(限られた深さ、限られた時間、感度など)
このアプローチも多くの時間を消費します。
2010年に、遺伝的アルゴリズム技術を使用してa)パラメーターを指定し、b)パラメーター値を調整することにより、より最近の(そして革新的なアプローチ)が開発されました。調査官は最初に、一連のグランドマスターゲームに対して初期の公称パラメーター値セットでエンジンを実行し、「ベストムーブ」を効果的に選択できるかどうかを確認しました。「ベストムーブ」とは、グランドマスターが行ったムーブ*と定義されています。失敗した場所はどこにでも記録されました。次に、別のパラメーター値セットが試され、前の実行に対する相対的なパフォーマンスが決定されました。
次に、「適格者」の生存の遺伝的アルゴリズムの原理を使用して、パラメーター値を組み合わせるためのプログラムによるアプローチを試みました。ここで、「fittest」とは、理想に最も近い出力を生成するものを意味します。(それはまた、「最小二乗適合」回帰の統計的手法、つまり、近似の品質を判断するために使用される手法への駄洒落でもあります。)
GMをかなりよく模倣できるエンジンパラメータが見つかった後でのみ、実際のエンジントーナメントフェーズが始まります。このフェーズでは、さまざまなパラメーター値セットが、今度は直接、再び互いにピットインします。遺伝的アルゴリズムの改善手法を適用して、エンジンの世代を連続的に改善します。
この研究プロジェクトでは、36個のパラメーターが使用されました。これには、ピースのすべてのマテリアル値と、後方ポーン、弱い四角形、ビショップペアなど、より一般的な戦略的評価基準の多くが含まれます。しかし、研究者たちは、ピースの種類ごとに「キングプレッシャー」、「機動性」の値、キングに隣接するファイルをルーク、セミオープンファイルをルーク、aのキングを攻撃するルークなど、いくつかの新しいパラメーターを追加しました-/ b- / g- / h-file、渡されたポーンと防御キングとの分離など。
残念ながら、研究者達はどのようにしてこの一連のパラメーターを思いついたのか、そして彼らがどの代替パラメーターをテストして拒否したのかについては詳しく述べていません。はるかに大きなセットから開始し、(試行錯誤によって)パフォーマンスに最も大きな影響を与えたものと、重要ではないものまたは派生したもののどちらかが決定されたため、削除できると判断したと仮定するのが妥当でしょう。
これが役立つと思われる場合は、こちらで調査結果を確認できます。
*研究者が使用したアプローチのフェーズに関する注意事項が整理されています。ジョンナンは、「チェスの動きを理解するための入門」で、「...強力なグランドマスター間の激しい戦いのゲーム...」を選択して、彼のテーマを説明しました。彼は次に追加します:
この本のゲームを飾る疑問符の数を見て、読者はかなり驚かれるかもしれません。確かに、30種類のゲームを選択するだけで、サウンドゲームを簡単に見つけることができたはずです。しかし、そうではなかったことは間違いありません。...ほぼすべての複雑で苦労したゲームの欠陥を見つけることは可能です...私のプレイがほぼ完全に正確であると感じたことは一度もないので、私は個人的にこれらの啓示を悩ませることはありません。しかし、人間が演じるチェスは、以前考えられていたよりも正確ではないことを認めるのが難しい人もいます。
ナン博士が指摘する点は、研究者がグランドマスターの動きを模倣するように要求することによってエンジンパラメータを設定する最初のアプローチには、人間の遊びに欠陥があるために欠陥がある可能性があることを示唆しています。実際、エンジンはすでに人間よりも優れていることが十分に確立されています。
したがって、初期パラメータを設定するためのより良いアプローチは、新しいエンジンを既存の優れたエンジンと照合することです。