速度
ニューラルネットワークの動作は、手作りの評価関数よりもはるかに遅くなります。でTCEC Superfinal、リーラチェスゼロ、専用のテンソルコアを持つ2つのGPUごとに実行されている、毎秒周り6万位置を検索することができます。対照的に、Stockfishは、私のPCの単一のコアで、1秒あたり200万を超えるポジションを検索します。
現代のエンジンには不必要な枝を切り取るための膨大な技術がありますが、アルファ-ベータツリー検索は依然として強引な手法であり、適切な動きを判断するには膨大な数の位置を検索する必要があります。
対照的に、MCTSははるかに選択的で、最も有望な動きに向かって検索ツリーを拡張するだけです。これにより、検索できるより限られた数のノードを最大限に活用できます。
最悪の場合の動作
アルファベータ検索をベースにしたエンジンの評価関数の重要な要件の1つは、最悪の場合の良好な動作が必要であることです。これは、評価における大きなエラーは、まれではありますが、簡単にルートに伝播され、恐ろしく不正確な動きが再生される可能性があるためです。
ニューラルネットワークは複雑な性質を備えているため、過剰適合の傾向があり、トレーニングに使用されるデータと同程度の性能しか得られません。たとえば、TCECシーズン14スーパーファイナルのマッチ80では、47のLc0がストックフィッシュの追加の女王に動揺しているようで、クールフィッシュは0.77で、ストックフィッシュ(およびその他のほとんどのエンジン)は+8.31でした。これに関する一般的な説明は、Lc0がトレーニングセットのボード上に複数のクイーンを含むかなりの数のゲームを持っていなかった可能性があることです。
したがって、ニューラルネットワークは最悪の場合の動作が不十分であるため、アルファベータ検索ではパフォーマンスが低下する可能性があります。対照的に、MCTSは、検索の近くの位置に割り当てられた妥当なスコアで平均化することにより、1つの位置に割り当てられた誤ったスコアを相殺することができます。
静止
すべての強力なアルファベータエンジンは、リーフノードで適用される制限された形式のアルファベータ検索である静止検索と呼ばれる手法を使用します。 。
たとえば、クイーン交換の前半の直後に、手作りの評価関数は、クイーンを取得したばかりの側が完全に失われたことを通知する場合がありますが、ニューラルネットワークは、クイーンがすぐに再取得されることを理解できる場合があります。
これにより、静止検索がないため、手作りの評価関数が同様にMCTSに適さなくなり、結果として、手作りの関数の実行時間が長くなります(Komodo 12 MCTSは、とにかく短いアルファベータ検索を使用してこの制限を回避しますが、したがって、手作りの評価で妥当なスコアを返すことができます)