やあ!
Python でチェス エンジンを作成しました。検索には、アルファ ベータ プルーニングを使用したミニマックス アルゴリズムを使用しています。私の評価関数は非常に基本的なもので、ボードに残っているピースの値に基づいてボードにスコアを割り当てるだけです。ボード表現には、メールボックス アプローチ、特に 0x88 ボード表現を使用します。
問題は、私の検索が非常に遅いということです。私はまだどの種類の移動順序付けアルゴリズムも実装していませんが、プライ 4 で検索するのに 2 分以上 (場合によっては 2 倍) かかります。ポジションあたりの移動の平均数は約 23 で、検索するのに 4 分かかります。開始位置でプライすると、約 20,000 ノードしか見えません。
2 ~ 4 分で 20,000 ノードというのは、私には非常に遅いように思えます。私の質問は、Python はチェス エンジンには遅すぎるのでしょうか、それとも私の実装に何か問題があるのでしょうか?