巷ではコンピュータ将棋選手権の決勝が明日行われますが、メカウーサー将棋的には今年は既に終わっているので(ぉぃ いままでexplicitに書いていなかったメカウーサー将棋の変遷について簡単に触れたいと思います。
まず、2009年の12月頃からコンピュータ将棋ソフトの作成に取りかかりました。
最初は右も左も分からず、GPGPUで作れば相当のソフトが出来るのではと安直に
考えていました。いま考えてもかなり甘い誤算でした。
2010年5月に出場した「メカウーサー」(メカウーサー将棋の前身)は、100% GPGPU
実装でした。これは当時とても新しかったと思います。強さは皆様ご存知の通りの弱さでしたが。。。
GPGPUのメカウーサーは、最初の2手を2次元格子状に展開します。これだけで後半だと数万コアに異なる局面が行き渡ります。そして、その各々でalpha-beta探索を行いました。
だいたい2手〜3手程度がalpha-betaで探索出来ました。つまり5手程度の探索が可能でした。
GPGPUメカウーサーの問題は、時間配分が拙かった点が一つ、強い将棋ソフトを全く参考に
していない我流のソフトだった点が二つ目、ということで問題山積なのでした。
特に初手からの数手は5手読みをほぼno timeで行っており、早いのですが、あと1手多く読めたのではないかと思います。またmove orderingについてもかなりpoorで、minimal treeにはほど遠い状態だったと思います。
こうして史上初のGPGPU将棋ソフト「メカウーサー」は対無明戦において、伝説の「棒玉」
を指して皆様に失笑されるのでした(しょぼ〜ん)
2010年のアピール文書はこちらです。
2011年に出場した「メカウーサー将棋」は100%CPUのソフトでした。
「GPUで強いソフトを作るにはまずCPUである程度強いソフトが作れないとダメだよね」
という信念のもとCPUのソフトを開発したのですが、これもいかんせん我流なソフトで
弱さと云う名の強さwを兼ね備えたソフトとなりました。
結果としてGPUソフトはその後の2012年でも投入することができませんでした。
2011年のソフトにはいくつかバグがありました。特に定跡ルーチンにバグがあり、
折角定跡を入れたのに特定の条件(定跡上で成る)でソフトが落ちるバグがありました。
これを対Tofu戦で見事に踏んでしまい、あえなく一敗してしまうのでした。
また対さわにゃんRL戦では「これは将棋というゲームではない」と言われるような
お恥ずかしいゲームとなってしまい、作者の方と「あれはひどかったね」と振り返る
のでした。
2011年のアピール文書はこちらです。
2012年のソフトもまたCPUソフトなのですが、実はGPGPUのソフトの初期検討を12月頃から行っていました。これは原稿としてプロシンにも載りました。
最初は簡単なゲームから、ということでHexと呼ばれるゲームの実装から開始したの
ですが、Hexのシーケンシャル版は出来たものの、並列版作成で詰まってしまいました。
いわゆるスランプです。
そのため将棋ソフトも並列版を作るまでに至らず、最終的に去年のソースを引っぱり出して来て、それのUIを新しい枠組みに乗り換えて出場することになりました。
去年のメカウーサー将棋との違いは詰みが少し強くなったことと、定跡のバグが消えていることが違います。
また今年はオペレータを女性に行っていただきました。少しだけ見苦しくなかったのでは
ないかと思いますw
2012年のアピール文書には、GPGPU実装の初期検討資料も含まれています。
アピール文書はこちらになります。
仕事の関係上2012--2013年は将棋ソフトにあまり時間を掛けず、仕事に集中する予定
です。GPGPU実装のメカウーサー将棋を生暖かい目で末永くお待ちいただけると幸いです。
ではねちゃお。