終盤ソルバーのベンチマークテストしてみた
ついに、学校が始まってしまった。
そして、新社会人・新学生の方おめでとうございます!🎉🎉
自分もあと1年で社会人の仲間入りなのですが、今から楽しみです。 (自分の実力がまだまだなのが心配ですけどね)
さて、今日は大掛かりな開発はしていないのですが、ここ数日作っていたオセロAIのベンチマークテストとかしてました。
ベンチマークテスト
以下のサイトの終盤ソルバーのベンチマークテストをいくつか試してみました。
結果は以下の通りです。 因みに、リンク先には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によるテスト結果は以下の通りになっています。
これと見比べると、自分のプログラムはまだまだ探索ノード数が多いことが分かりますね。 この探索ノード数は、枝刈りや置換表を上手く利用することで削減できますが、まだまだこの辺改良の余地がありそうです。
でも、取り敢えずは20手を数秒で読み切ることに成功したので、ひとまずAIは一旦置いておこうと思います。
iOSアプリに組み込みたいんじゃ
はい。これの続きです。
明日からはこの辺ちゃんとやっていこうと思います。 (研究もしなきゃいけないので、まぁ無理の無い程度に。)
その辺が終わったら、ネットワーク通信やりたいですね。(ココ早くやりたい)
さー、明日も頑張りましょー👀