syzygyテーブルベース(Python)から正しい動きを取得する

Nov 30 2020

Pythonでチェスエンジンを作成しましたが、syzygyでエンドゲームテーブルの使用を開始したいと思います。関連するすべてのファイルをダウンロードし、開始する準備ができました。

Python Chessモジュール(リンク)などを介してPythonでファイルにアクセスする方法を見つけました。そこには、FENの位置からWDLとDTZの情報を取得する方法が説明されています。これは時々便利です。しかし、私が本当に望んでいるのは、そのFENポジションで勝つための動きを知ることであり、ファイルからこの情報を取得する方法を理解することができませんでした。オンラインの情報は非常に限られているので、誰かがこれを行う方法を教えてくれるといいのですが。

回答

2 Noname Nov 30 2020 at 14:10

これらの特定のテーブルベースは私にはなじみがないので、私は絶対に確信することはできません。ただし、トンプソン以降、私が使用した他のすべてのテーブルベースでは、基本的に次のことが必要でした。

  1. ポジションからすべての合法的な動きを生成し、
  2. 移動ごとに、移動を行い、結果の位置のスコアを調べてから、
  3. 開始位置のスコアと比較して、取得したスコアに基づいて「右の動き」を選択します。