WCSOC2020の感想戦(長文注意)

live4.computer-shogi.org

 

お疲れさまでした。

といってももう二週間ほどになるんですね。

先週末はCSA例会にオンラインで参加してその後Abemaトーナメントに流れたためそれだけで過労気味な週末でした。

在宅勤務やオンライン会議だと並行して色々できるので余計に疲労する私は珍しい体質なのでしょうか。

 

早めに感想戦をしないと熱が冷めるってのがありますが,今年は他の案件も大変でなかなか余裕がありませんでした。参加キャンセル組含め公私共にピンチな方は多いと思います。「死ぬこと以外かすり傷」と思って気楽に対処しましょう。

 

まず,対戦ログですがこれは少々失敗しております。

クラスタ部を大幅に改良した際に付け足したデバッグログ情報を削り忘れて膨大なファイルができてしまっております。これは解析すればどのタイミングでどのPonderを読み始めてどれが当たったなどの情報がタイムスタンプ入りですべて含まれているのですがログカッター等で切りやすい形式にしていなかったために対応する気にもなれません。特定一局面くらいなら目視で確認できますが・・・

また,将棋所のログファイルには評価値が残らないのは既知の事実です。

 

ということで,対戦棋譜から感想戦を進めて参ります。

初戦はこちら先手番で相手CGPでした。CGPはスクラッチ勢でもトップクラスの探索速度を誇る強豪です。しかしながら評価関数の制作に苦労されており前大回も入玉形の局面をうまく対応できずに惜しい戦いをしていたように思います。事前申請のスペックではRyzen9の16コアとのことでしたので3950Xでしょうか。

初戦ということもあり一番怖いのはトラブルかと思っていましたがゆるゆると評価値が動き無事勝てました。マシンパワー差がありますが相当強くなっている印象です。

 

二戦目は後手番でSylwiでした。初参加で予選上位突破をされており今年の台風の目の感があります。Ryzen TR 3970Xとのことですので32コアです。以前よりやねうら王の最適化コンパイルや将棋の駒のデザインなどをされている方です。

実は132手目まで先手優位で進んでおりました。139手目の74歩直後に75桂馬と打って後手優位になります。この74歩の展開にしてしまったのが133手目の73銀成なのですが,これに代えて76銀と自陣を固めておけばまだまだ先手優位のようでした。

 

三戦目ははにわさんでした。過去の対決でうちのチームとは色々と因縁があります。コム将界の振り飛車党として多くの振り飛車党プロ棋士に後押しされています。

今回評価関数が同じという組み合わせになっており両者の評価値がほぼ一致していますので詳しくは以下の解析を御覧ください。付け足すコメントが特に見当たりませんが,評価値が後手に振れたところで相手方は盛り上がったのではないかと思います。120手目以降の準竜神拳がターニングポイントのようです。

note.com

 

四戦目はNoviceでした。スクラッチ勢の強豪です。昨年はインテルのデータセンターを使うという大技を見せてくれましたが今年はどんなクラスタ構成だったのでしょう。

将棋は角換わりの先手早繰銀後手腰掛銀の形で珍しくないのですが,Noviceの時間の使い方が妙なことに対戦中気づきました。数十秒考えた後に数手ノータイムの応手をすることがありました。定跡が半端であった可能性もありますが,もしかするとうちのシステムに対抗するための策かもしれません。たぶん教えてくれないでしょう。

評価値が動いたのは57手目の同馬と一度馬を消したところ。消費時間は1分対10分とうちにしては普通の感じでした。先手に二度馬を作らせて後手良しの評価は正直私には全然分かりません。

 

五戦目は水匠でした。前大会初参加で決勝に残った新鋭の強豪です。昨年やねうら王に勝ち越しているのはきっちりと棋譜を見て序盤定跡を確認されているところかと勝手に推察しております。今年はRyzen TR 3990Xと恐らく最強のハードウェアを持ち込んでおり怖い相手です。

本当にこの一戦は詳しい話をしたいのですが,このレベルの解析は上回るハードウェアがないとどうにもなりません。両方の評価関数は手に入るので高性能マシンをお持ちの方は双方で解析してもらえれば分かりますがグラフは似たようなものになります。一言で言うと117手目の62銀が敗着となります。

実はこの手3度目か4度目の千日手打開手でして苦肉に近い着手だったように思います。全対局勝つ予定のContempt Factor 200が角換わり相腰掛銀においては失策かもしれないと添えておきます。

 

六戦目はelmoでした。前大会での敗北もあってか勝てるイメージがありません。正直五分五分のイメージです。

この対局も相当なマシンが無いと解析できません。こちらも両方の評価関数が手に入りますのでお試し頂ければ分かりますがグラフは本当に似たようなものになります。ゆるゆると押されて負けを覚悟しましたがギリギリ引き分けにできてほっとした一局です。この局もマシンパワー負けしていたと言われた方が納得するような感じでした。(後述)

 

七戦目はDaigorilla∞でした。予選一位の新人(CSAの大会では二回目まで)と聞くと嫌な予感がしますよね。ちょっと怖い要注意系のステータスです。

将棋は角換わりの先手早繰銀後手腰掛銀の形でNovice戦と似たような風ですが今度は我々が先手です。銀交換の後,後手の猛攻を50手余りに渡り受けきる超人的な対応で切らせてからの大人気ないと金攻撃が激辛風が印象的でした。子どもだと泣いてしまうかもしれません。

 

八戦目は究極幻想アルテマタヌポンでした。言わずもがなの要注意チームです。個人的にも第5回電王トーナメント決勝で3つ負けているのでなかなか通算勝ち越すのは難しい相手です。

将棋は角換わりの相早繰り銀で後手から早仕掛けを入れた直後,先手からの猛攻が始まり私の棋力では何も分からない乱戦に。100手前後で形勢にも持ち時間にも差がついたというのだからそうなんだろうってくらいの認識しか覚えがないくらい疲れてました。

終わってみるとたぬきさん9位です。これが例年の選手権二次予選とすると予選落ちの順位です。らしくないと言うべきかスイス式トーナメントでは予選ボーダーラインの精度はそもそも怪しいのか是非コブラたぬき戦をやって確認して頂きたい感じです。

 

結果終わってみると今年も準優勝でした。

昨年も大満足の準優勝でしたが,正直今年も大満足の準優勝です。水匠に負けたあたりで精神的に沈んでelmoに引き分けたあたりでは賞状も無いかもしれないなぁと昨年評価関数を公開したのはマズかったんじゃないかと悪い方に考えておりました。

しかしながら,結果は準優勝。準備した策が大半失敗した件はアピール文に書きましたのでここでは省略しておきます。その割には勝てたかなぁと言うところです。

対戦相手としては強豪と当たるのは仕方がないにしてもひとつくらいは深層学習系と当たりたかったなぁとも思います。実のところ結構楽しみにしておりました。

また,ずうずうしく言おうと思えば,elmoに勝てれば優勝だったので,昨年同様今年もelmoに足を引っ張られたとも言えます。さすがに厚かましいですねw

 

www2.computer-shogi.org

 

 

 

で,だいたい普通に感想戦が終わるのですが,今年はちょっと騒ぎになっている件があります。選手権直前に公開された以下のソースです。

 

github.com

 

通称mブランチの改造について

これは5月に入ってから存在を確認しました。6コアのノートPCで適当に対戦して5月2日の朝に優位に差があることを確認しました。ただ,これが選手権レベルの探索深さでも優位性があるかどうか確認できていなかったのとソースを精査できていませんでした。という段階でしたので,まぁ普通考えてシード順トップのチームが(反則になるリスクを含めて)こんな大きなギャンブルするのはできませんよね。

 

事後テストしてみました。i9-10980XEで5分5秒のフィッシャールールで評価関数Kristallweizenまで統一して探索部をやねうら王4.89公式配布バイナリ v.s. mブランチavx2ビルドです。結果は47-30-123と圧倒的でした。もちろん同一評価関数であるため極端な差になったと思われます。比較的高ノードの戦いでも優位差があるようです。

未だ精査していませんが,噂によるとstockfishの最新版の差分を取り込んだ形であるとか,やね師匠は否定的であるとか対応はまちまちのようです。

 

えっと一部の方が気にしてるようなので一応はっきりさせておかなければならないのはルール上の問題ですが,上記リンク先には(やねうら王から変更していないだけであるかもしれないけど)GPL-3.0とありますので今回の大会から利用してもよいと考えられます。

もちろん私の作ったクラスタ部も製作者である私が許可すればどのチームでも何チームでも利用可能です。(運営側に示した仮説の話です) 

---

追記:

こういうの好きな人もいるらしいので

f:id:the48:20200519142036j:plain

年に一週間しか使わないAWSアカウント(笑)

---

追記2:

探索部を同じにして5分5秒のフィッシャールールをXeonにて200戦

(ざっくり本番の4分の1くらいの探索数)

うちとelmo, 78-50-72

うちと水匠, 68-52-80

有意差と言えるか微妙ですが世界大会の結果順です。

25%くらい引き分けるってのはうちの自己対局並ですね。

Contempt factor上げてなかったら両方千日手だったかもしれません。