WCSCオンラインでのメタゲームの変遷とQhapaqの記録

世界コンピュータ将棋選手権オンラインverを視聴してくださった皆様、ありがとうございました。我々のチームはQhapaq_from_NeoSaitama(チーム:オムラインダストリ将棋部)で参加し、4位となりました。

 

本大会はNNUEの発展やディープ勢の躍進など複数のメタゲームが入り乱れる大会となりましたが、Qhapaqチーム視点で見た感想を述べていきたいと思います。

 

【0.ディープを使えなかったことへのお詫び】

まず最初に皆様に謝らなければなりません。アピール文書ではdlshogiベースのエンジンを用意している、昨年準優勝ソフトと同じ程度の強さになったと書いていましたが、結局大会ではディープを使いませんでした。それには以下の理由があります。

 

1.dlshogiをforkして作った探索部が稀にクラッシュする問題を解決しきれなかった

2.計算資源の調達に失敗した

3.やねうら王ベースの評価関数もdlshogiベースのエンジンと同等程度(値段vs強さでみたらこっちのほうが圧倒的に強い)に強いのができた

4.deep用の定跡を用意する暇がなかった(結局やね側も最後は定跡を使わなかったのですが)

5.やねベースの評価関数のほうがユーザにとって使いやすく、勝てたときの宣伝上の価値が大きいと思った

 

寸前までとても迷ったのですが、皆様の期待に添えなくて申し訳ないと思います。

 

以下、本大会で面白いと思ったメタゲームの変遷を解説します。

 

【1.min-max vs mcts

本大会で大きな注目を浴びたのはディープ+mctsを基調としたエンジンです。特にdlshogiはhoneywaffle(探索部はやねうら王、評価関数の強さは白ビールと同等らしい)に勝利しています。floodgateでもやねうら系列のソフトを駆逐しており今後ディープ軸が優勝争いに絡んでくることが大いに期待されます。

ディープ系のソフトの読みはやねうら王などのmin-max系のエンジンと良くも悪くも異質であり、レートの高いソフトに勝てる一方、レートの低いソフトにあっさり負ける可能性もあります(floodgateのdlshogiの棋譜を見ると解りやすいでしょう)。wcscのように全ての試合に勝たないと優勝できない大会だと、勝ちを落としにくいソフトのほうが有利な面があるのがディープ勢にとっては辛いところです。

あと、単純にGPUを使った開発戦争はカネがかかる

 

【2.amd vs クラウド

昨年の大会はクラスタ祭りでしたが、今年の大会は"自宅PC"勢が増えました。amdの最新のCPUはクラウドで調達できるCPUにも匹敵するスレッド数やクロックを持つ上にキャッシュメモリが大きいため、NNUEの計算が特に早くなるという特徴がありました(私はこの辺詳しくないですが)。

単純なNPSでいえばamdの方に分があったと思われますが、Ryzen Threadripper 3990Xはクラスタを作るのには適さず、クラウド勢が使っていたようなmultiponderは組み難いです。今後Ryzen Threadripperのクラウドサービスみたいなのが出てくれば可能でしょうが、クラウド市場的には微妙な気がします。

Ryzen Threadripperを買えば学習などにも流用できるのですが、上記ディープ勢が来るかもしれないことを考えるとお払い箱になる可能性もあり、開発者の財布に大いなる悩みを与えることでしょう。

 

【3. 定跡と戦型選び】

今期は過去2年に比べ角換わりが減ったように見えます。角換わりが減った関係で千日手も減ったように見えます。代わりに相掛かりと矢倉が増えたようです。なぜ、今まで角換わりばかり指されたかというと、2018-2019年の時点では先手勝率は

横歩>>角換わり>相掛かり/矢倉・雁木(後手だけ角道を塞ぐものは含まない)

となっており、後手は横歩を避けたい、そして、先手は相掛かりや矢倉は組みたくなかったからです。しかし、今年の角換わりには二つの逆風がありました。一つは、2019年にやねうら王が編み出したテラショック定跡(様々な局面を事前に評価し、最善手を導き出しておくことで時間を稼ぐ作戦)です。テラショック定跡(やそれに似た戦略)では戦型指定するのは人的コストが高すぎるためテラショック+角換わりはやりにくかったのです。もう一つはソフトや人間が延々と角換わりを研究したことです。相手の研究にのるリスクや千日手の可能性を加味すると、先手視点でムリに角換わりを推す理由も減ってしまいました。

私が思う、今(そして今後)の定跡の二大トレンドは角換わり vs 矢倉相掛かりではなく、作るか vs 作らないかです。定跡を最低限にし浮いた時間で評価関数や探索部を強くするか、定跡に伸びしろを求めるか。定跡巧者相手に定跡を外す戦略も今後大きなトレンドになると見ています。

 

 

【以下、qhapaqの感想戦(と書いてポエム)】

今回のqhapaqの関数は平たく言えばorhqa-halfkpe9です。めきっと氏が開発したillqha-halfkpe9に対してillqha->orqhaで施した学習をした結果、長い持ち時間でやねうら系列に勝ち越すようになりました。具体的には32スレ4秒(kristallweizen側で凡そ1手6000万ノード)+定跡オフの対局で

62-30 vs kristallweizen

60-32 vs illqha-halfkpe9

程度の成績を上げるようになりました。しかしこの関数、1手300万ノード程度の試合ではkristallweizenに負け越すし、互角局面を用意して戦わせるとレートが60ぐらい下がると色々問題も抱えていました。

 

余談ですが、qhapaqのディープ軸は

1手約6000030000ノード(deep、V100を利用) vs やね(32スレ4秒)で6:4でディープが勝ち越すぐらいであった一方、やね側のノード数を下げても、ディープ側はあまり勝率が上がらなかったので(逆にノード数を上げても勝率はそんなに減らない)、読み筋が異質であるという印象を受けました。ディープにクラッシュする危険があること、カネがかかることを考え、泣く泣くやね軸を使うことにしました。

 

関数が4月頃に出来たので定跡を作る暇はなく、世に転がってた定跡を適当にかき集めて使いました。クラスタも昨年使ったpreponder入りのものを使い、ハード構成もほぼ同じもの(96スレ*6)を使いました。

 

以下、大会結果と感想。棋譜こちらから

1戦目 vs argo(先手、勝利)

横歩の展開。青野流から飛車を切った攻めが強烈に刺さりそのまま勝利。argoの強気プレイにぎょっとしたし、飛車を切った責めは胃に悪かったが横歩先手は勝ちというトレンドに従い無事に勝利。

 

2戦目 vs 習甦 (後手、敗北)

角換わりで22金が壁になる形。手損はないが玉の形が悪い...など考えていたら、あっという間に玉を寄せられて敗北。ジリジリ悪くなるというよりは急激に反省した形(qhapaqは途中まで自分良しと言っていた)となり、読みの異質さをブツけられた展開。

 

3戦目 vs HoneyWaffle (後手、勝利)

先手中飛車を相手にする。互角な局面が長く続いてドキドキしたが、寄せ合いになる前に模様を良くすることに成功。その後玉が延々と詰まず、316手目で勝利。320手まで行ったら引き分けだったので危ない勝利。

 

4戦目 vs GCT (後手、勝利)

矢倉。中盤で模様を良くしてそのまま押し勝ち。ディープ系は読み筋が異質なので、勝つ寸前まで安心できない相手でしたが、事故は起こらず勝利。やね系以外の相手は胃に良くない

 

5戦目 vs novice (先手、敗北)

相掛かりからひねり飛車で歩を得する展開。指しやすいかと思ったが先手の有利を拡大できないまま、100手目あたりでねじり合いに負けて、一気に-300ぐらいまで評価値を悪くし、そのまま敗北。

 

6戦目 vs ichibinichi (先手、勝利)

再び相掛かりからのひねり飛車。先程のように負けるのではとヒヤヒヤしたが、40手目辺りでqhapaqが模様を良くしたようでそのまま勝ち。最後は玉頭戦になったためこれも大変胃に悪かった。

 

===

ここで、qhapaqのレート測定に使ってた棋譜は角換わりや雁木が多かったのに対し、使っている定跡が相掛かりをよく選ぶことに気付く。定跡の相性が悪いのではと考え、ここから定跡をoffにする。今大会でも相手の多くはpreponderを使っていなかったので、序盤で時間を使っても相対的な消費時間で損することはないだろうと踏んでの作戦。

===

 

7戦目 vs dlshogi (後手、勝利)

雁木がでてホッとする。ジリジリした展開が長く続いたが、dlshogiが長考を連打したお陰で時間差を確保、終盤で競り勝ってそのまま勝利。今日の勝ち戦では一番胃に良くなかった。

 

8戦目 vs 水匠(先手、勝利)

水匠は優勝確定、qhapaqも仮に勝ったとしても3位以上は他力と消化試合感があったが、水匠の全勝優勝は避けねばならぬ。水匠の定跡が長く50手目ぐらいまで付き合わされたものの、定跡を抜けた時点でqhapaqは少し有利(評価値200前後)となっていた上に、水匠の長考にpreponderが刺さりそのまま勝利。優勝ソフトにこう言っては何だが、評価値推移だけで言えば今日の勝ち戦で一番胃に優しい勝ち方だった。定跡はイラン子だったんや......

 

【まとめ】

最終順位は4位でした。自己ベスト(5位)を更新する良い結果です。ご視聴いただいた皆様、誠にありがとうございました。来年もよろしくお願いします。

 

halfkpe9勢、もっとたくさん出てくると思いましたが自分の他に居なかったかもしれません(少ないもののいた模様。要検証)。NNUEのアーキテクチャの改造も今後のトレンドになることでしょう......