English

Egaroucid 技術資料

技術解説

日本語のみでEgaroucidの技術解説を書きました。のんびりと追記します。

ベンチマーク

Egaroucidの性能の確認として2種類のベンチマークを使用しています。1つ目はThe FFO endgame test suiteです。これは、終盤の完全読みにかかる時間に関するベンチマークです。2つ目は対戦です。Egaroucidの過去バージョンの他、他の強豪オセロAIとの対戦として、Edax 4.4とも対戦しました。単純に評価関数の強さを計測するため、bookを使わず、XOTという初期局面集を用いて対戦させました。

The FFO endgame test suite

終盤探索は、以下3つの指標で評価しています。

ユーザにとって一番重要なのは計算時間です。決まったテストケースを処理するのにかかる時間を秒数で表します。ここではThe FFO endgame test suiteの40から59番のテストケース(20から34手完全読み)にかかる時間を使いました。これは減ると嬉しい値です。

計算時間を短くするには、まず(厳密に)無駄な探索を減らせば良いです。無駄な探索が多いと訪問ノード数(探索した盤面の数)が増えます。これも減ると嬉しい値です。

計算時間を短くするためのもう一つの観点は、1秒あたりのノード訪問回数を上げることです。これはNodes Per Secondの頭文字を取ってNPSと言われます。これは上がると嬉しい値です。

以下はThe FFO endgame test suiteの40から59番をCore i9 13900Kで実行した結果を、バージョンを横軸に取ってグラフにしたものです。SIMD版を使用しました。

バージョン7.4.0は7.3.0よりも計算時間が多くかかっていますが、これはIntelマイクロコード0x129による性能低下に起因するものです。7.3.0のベンチマーク測定時には0x129適用前でしたが、7.4.0測定時には0x129適用済みでした。

XOTによる対戦

オセロAIの強さを評価するためには、対戦するのが一番でしょう。ここでは、各バージョンにEdax 4.4を加え、総当たり戦をした結果を掲載します。

対戦はレベル1(中盤1手読み、終盤2手完全読み)で行いました。

対戦にはそれぞれXOTの進行を初期盤面として使い、各進行では先手後手それぞれ1回ずつ対戦させています。

名称7.4.07.3.07.2.07.1.07.0.06.5.X6.4.X6.3.X6.1.X6.0.XEdax
勝率0.58360.55320.54920.54710.53320.50940.47790.44410.48120.41780.4033
対戦の詳細はこちらEgaroucid 6.2.0はEgaroucid 6.3.0と同一の評価関数のため、省いています。

バージョンごとの詳細

各バージョンのベンチマークを公開します。上で載せなかった古いバージョンのベンチマークもあります。こちらの詳細はバージョンごとに少し条件が違うものもありますので、詳細はそれぞれのページをご覧ください。
バージョン7.4.07.3.07.2.07.1.07.0.06.5.06.4.06.3.06.2.06.1.06.0.05.10.05.9.05.8.05.7.05.5.0/5.6.05.4.1
リリース日2024/10/032024/08/162024/06/252024/06/062024/04/172023/10/252023/09/012023/07/092023/03/152022/12/232022/10/102022/06/082022/06/072022/05/132022/03/262022/03/162022/03/02

棋譜公開

Egaroucidによる自己対戦で生成した棋譜を大量に公開しています。詳しくは棋譜公開をご覧ください。