第32回世界コンピュータ将棋選手権

えっと,今年は余裕が無くてツイートくらいしかしてませんでした。

4月に急に温かくなってから耳鳴りが止まらなくて酷いもんです。

 

事後になりますが,ざっくり書き下します。

一次予選は第三者視点で観戦と開発者Zoomでちょっとした交流をしておりました。

短時間でも同じ課題を持っている人と意見交換できるのは非常に役立ちます。

谷合プロの初参加が話題でしたね。もうちょっと具体的に説明して欲しかったですが研究発表が控えているなら無理なのは同業として理解します。

そういえばねね将棋がiPadで動くのも現地実機で見たかったですね。

 

二次予選です。

 

白ビールは一応私が開発に加わらないという条件で開発者から名義を抜いておりますが,基本的にMulti Ponderのクラスタ構成で私が運用しています。昨年発覚したバグだけ修正しております。具体的にはPondering中の探索結果を一部読み捨てながらプールしているのですがソートを忘れていたためにponderhit直後に応手を出す際の評価値が最も深い探索になってなかった点等です。ソート忘れですのでそーっと修正しておきました。他に持ち駒のソート忘れも発覚してましたのでこちらもそーっと。

 

結果は御覧の通り惜しい予選落ちでしたが,昨年と似た感じで松下さんが持ち込んだ定跡にちょっと難があった感じですね。差し替えるか迷いましたがワンオペで多数のクラウドインスタンスを監視してるだけで何となく気疲れしてそのままにしてしまいました。具体的には先手番で定跡抜けでマイナスの対局がふたつ,千日手ひとつですね。さすがに先手定跡のままで千日手はちょっと酷いです。

昨年予選一位で決勝に行ってましたので基本的には弱くないはずです。

 

二番絞りは私が一昨年から制作している深層学習モデルで,元は第1回電竜戦の予行のために作った突貫ネタエンジンでした。(割と多いパターンです)

そもそも将棋の深層学習についてはこのブログの2017年春と山岡さんの同時期を見て頂ければ分かりますがその辺から着手しています。AobaZeroで遊ぼうシリーズもありますが

二番絞りはとにかく対戦サーバの自動運転のテストが主眼なので適当に間に合わせで学習させたものでした。本格化したのはAobaZero教師データを加えてからです。

二番絞りプレミアム生とは? - 48's diary

二次予選結果 - 48's diary ←昨年選手権

将棋の深層学習の歴史(私的集計2021秋) - 48's diary ←昨年電竜戦直前

第2回電竜戦本戦の感想 - 48's diary ←昨年電竜戦直後

 

で,昨年選手権ではリハーサルで使ったマシンが本番で使えずに二次予選で落ちました。電竜戦では予選一位,決勝四位とまずまずの成績と言えるでしょう。

それで今年の選手権で予選一位でした。

そうするとなんか妥当で順当な気がしますが,実際の開発者視点は異なります。

昨年モデルが実は結構自信がありました。ほぼ春のまま微修正で電竜戦に挑みましたので結果四位は満足ですがそこから何をすればいいのか分からない状況になっていました。

 

結局考えられる幾つかのパターンを試したのですが,それぞれを評価する方法がはっきりせず恐らく内輪でこれが一番いいのかな?ってものを本番に投入しました。

評価方法が分からないと言うのは多くの方が疑問だと思います。例えば第一回電竜戦の後,山岡さんに評価して頂きました。

GCT、dlshogi、二番絞りの比較 - TadaoYamaokaの開発日記

明白にGCT, dlshogi, 二番絞りの順になっています。しかしながら,電竜戦では二番絞りが遥かに劣るスペックの計算機でdlshogiに中盤から逆転で勝っています。二番絞りの方が弱いとは思っていませんし,うちで計測したのはもっと長時間戦をやっており明白に二番絞りの方が優勢です。

ということで,探索時間・深さで優劣は変わります。

それでは選手権用にどれを選ぶかと言う問題になりますが,選手権と同スペックの対局をすることは予算的に無理です。自社内にA100クラスタを持つHEROZさんが羨ましい点ですね。

結論こんなのです。

 

低スペックでも格上に一発入れられるけど,高スペックでも完封できるわけではない。

floodgateで長時間放り込んで一番レートが高いのを使おう。っても以前のと比べて大差ないな。

 

まぁ,そんな感じでした。

ですので予選通過すれば万歳くらいの気分でしたので予選一位時点で望外の僥倖でスーパーラッキーマンでした。

A100マシンは大会でしか使ったことが無いので初手から先生よろしくお願いしますといった気分です。低スペックマシンで検証した定跡を使う気がしません。

 

決勝です。

もうほとんど言うことが無いくらいラッキー続きな印象でした。どこで負けても不思議はありません。

特筆するとすれば五回戦強敵のたぬきさん相手に後手番の20手目ですね。

 

 

定跡進行で19手目48銀と上がったところで二番絞りが1分58秒の長考に入り,結論は後手有利と判断し86歩と仕掛けました。

定跡ファイルを入れているとおそらくこの仕掛けは選手権棋譜にならなかったと思います。こういったものが見られるのが今回の設定の目標でした。

以後評価値は単調に後手へ拡大し勝利となりました。

手数は長いですが上図がうちの評価値グラフです。

 

決勝最終局は皆さん大喜びのウォーターフォールです。

 

 

 

正直評価値が800超えたところで画面から目を離して,ドスパラポイントで年内発売が予想されているRTX4090に届くかどうかとかとか考えてました。今思うと完全にフラグです。

ただ,多くの方が二番絞りの優勝すると思ったんじゃないでしょうか。

実際多く検索にかけたようで過去の準優勝の比ではなくアクセス数が伸びておりました。

 

また,面白いことにYoutuberやブロガーの人が色々分析して下さってますが,このレベルの分析をできるマシンをお持ちではないので恐らく正確なところは分からないと思います。

とにかく,このスペックのマシンでもこんなことあるんだなってところですね。

しかもこれを最終戦で持って来るのはまさに劇的でした。

気分は力石にアッパーカットをもらった矢吹丈ですよ。でも彼も対戦出来たことにまず感謝したはずです。

 

考えてみると上場企業が自社サーバ全導入して参戦して下さるなんて素敵じゃないですか。モータースポーツに例えるとワークスチームが億の金で組織するところを私はプライベートチームでピットクルーひとりでレンタカーで戦ったわけです。

予選一位で決勝6戦無敗で最終局ですから,ポールポジションからファイナルラップまで先頭を走って,ワークスチームが相当焦ったはずですよ。それで十分,今回も出来は御の字です。

 

いやぁ,お疲れさまでした。CSAの皆様,開発者の皆様,HEROZの皆様ありがとうございました。そしてチームメイトにも感謝。