みなさんこんにちは、
ここ数か月の間、Python/numbaで効率的なMCTSの実装を作りました。
https://github.com/olivkoch/gumbel-mcts
学習目的で、自作で自己対戦環境を構築していたところ、このアルゴリズムの効率的な実装があまり見当たらないことに気づきました。
ゴールデンスタンダードのベースラインに対して検証するのに、多くの時間を費やしました。
私のPUCTの実装は、ポリシーをまったく同一にしながら、ベースラインより2〜15倍高速です。
また、Gumbel MCTSも実装しました。密(dense)と疎(sparse)の両方です。疎バージョンは、チェスのように行動空間が大きいゲームで役に立ちます。
Gumbelは、PUCTよりも低いシミュレーション予算をはるかにうまく活用できます。
全体として、コミュニティにとって役立つ可能性があると思います。途中でコーディングエージェントに助けてもらいましたが、すべてを自分で検証するためにかなりの手作業を行いました。
フィードバック歓迎です。
[link] [comments]