てすと

たかろぐ

自分のログを刻みます。

終盤ソルバーのベンチマークテストしてみた

ついに、学校が始まってしまった。

そして、新社会人・新学生の方おめでとうございます!🎉🎉

自分もあと1年で社会人の仲間入りなのですが、今から楽しみです。 (自分の実力がまだまだなのが心配ですけどね)

さて、今日は大掛かりな開発はしていないのですが、ここ数日作っていたオセロAIのベンチマークテストとかしてました。

ベンチマークテスト

以下のサイトの終盤ソルバーのベンチマークテストをいくつか試してみました。

The FFO endgame test suite

結果は以下の通りです。 因みに、リンク先にはZebraと呼ばれる有名なオセロソフトでの結果も記述されています。 問題番号#40は20手読み、#41、#42は22手読み、#43、#44は23手読み、#45、#46は24手読みとなります。

問題番号 合計探索数(ノード+葉数) 合計探索時間(s) NPS 盤面ハッシュ衝突回数 勝敗(黒-白)
#40 35,886,095 4.81 7,457,402 71,675 51-13(黒+38)
#41 415,613,233 57.78 7,193,561 6,478,663 32-32(引き分け)
#42 247,232,160 34.62 7,141,248 2,756,625 35-29(黒+6)
#43 363,664,671 58.85 6,179,491 11,983,621 38-26(黒+12)
#44 369,740,509 55.75 6,632,463 9,820,481 39-25(黒+14)
#45 3,506,637,244 492.84 7,115,191 153,288,509 35-29(黒+6)
#46 4,067,407,446 580.51 7,006,586 194,124,962 38-36(白+8)

因みに、Zebraによるテスト結果は以下の通りになっています。

f:id:g-knk-9410:20180402215425p:plain

これと見比べると、自分のプログラムはまだまだ探索ノード数が多いことが分かりますね。 この探索ノード数は、枝刈りや置換表を上手く利用することで削減できますが、まだまだこの辺改良の余地がありそうです。

でも、取り敢えずは20手を数秒で読み切ることに成功したので、ひとまずAIは一旦置いておこうと思います。

iOSアプリに組み込みたいんじゃ

はい。これの続きです。

takalog.hatenadiary.com

明日からはこの辺ちゃんとやっていこうと思います。 (研究もしなきゃいけないので、まぁ無理の無い程度に。)

その辺が終わったら、ネットワーク通信やりたいですね。(ココ早くやりたい)

さー、明日も頑張りましょー👀