jj1gujのブログ

アイコン画像は音速の奇行子 様よりいただきました

WCSC33参加記

第33回世界コンピュータ将棋選手権に参加してきました

ソフトの概要

今年もponkotsuというソフト名で出場しました. 今年はネットワーク構造にDenseNetという機械学習モデルを採用したらどこまで強くなるのか検証することをテーマにしていました. 手法や学習データについてはアピール文書に書いていますのでこちらをご覧ください. 大会で使用した評価関数と定跡はこちらからダウンロードできます(利用規約を必ずお守りください).

今年の成績

今年は一次予選を6勝2敗の3位という成績で二次予選に進出することができました. 二次予選では5勝4敗の11位という成績で、決勝進出とはならなかったものの来年の二次予選シードを獲得することができました. 順位表はこちらをご覧ください.

一次予選の様子とか

1日目は評価値をちゃんと送れていないのでponkotsuの評価値はないです.

1回戦(爆裂駒拾太郎戦)

初戦から早速初対戦の相手でした. 詰将棋の局面を教師に学習させたソフトで, もともと爆裂駒捨太郎という名前のソフトだったのですが, 一文字変わって爆裂駒拾太郎になっていて驚きました.

将棋は序盤早々にリードを取ることができ, 終始リードを保ったまま白星を上げることができました.

棋譜はこちらです.

live4.computer-shogi.org

2回戦(いちびん戦)

2回戦で早速強豪と当てられました. いちびんは前回大会では二次予選シードで出ていたソフトです.

将棋はいちびんの矢倉に対しponkotsuの雁木となりました. 80手くらい互角でしたが, 途中でなんとかリードを奪うことに成功し, 連勝を決めることができました.

棋譜はこちらです.

live4.computer-shogi.org

3回戦(まったりゆうちゃん戦)

3回戦は古豪との対戦となりました. まったりゆうちゃんは東京農工大学の小谷研究室で開発が続けられているソフトらしいです(今は小谷先生が退官されて研究室はないらしいですが…)

将棋は角交換三間飛車となり, 居飛車のponkotsuが序盤で銀・香・桂を確保し, 一方的な展開となり56手という短手数での勝利となりました.

棋譜はこちらです

live4.computer-shogi.org

4回戦(HoneyWaffle戦)

4回戦は再び強豪との対戦になりました. HoneyWaffleは振り飛車を指すソフトとして有名です. 6年前には決勝進出を果たしただけでなくDL系への路線変更を行った後には昨年末から年初に行われた, 電竜戦ハードウェア統一戦への出場も果たしています.

幸運にも本局は先手を取ることができ, 先手の利を生かしながら勝利を収めることができました. 開発者個人の感想としてponkotsuは対振り飛車が苦手だと思っていたので, ここで振り飛車ソフトの強豪に勝てたのは非常に嬉しかったです.

棋譜はこちらです.

live4.computer-shogi.org

5回戦(ねね将棋戦)

5回戦は全勝同士の対戦となりました. ねね将棋はiPadで動かしているソフトで, 前回大会では二次予選シードだった強豪です. 今年はNNUEとDLの合議を行っていたそうです.

将棋は途中までponkotsuがわずかにリードを奪ったかに見えたのですがそこからうまく指されて負けとなりました.

棋譜はこちらです.

live4.computer-shogi.org

6回戦(将スタ君戦)

6回戦は2敗勢との対戦となりました. 将スタ君は十六式いろは煌を開発しているすえよしさんがpython-dlshogi2をベースとして初心者でも手軽にDL系のソフトを開発できるように作られた, 将スタ -将棋ソフトスタジオ-をベースに開発されたソフトです. 本家の差分として, 定跡を搭載できるようにしたらしいです.

将棋は相雁木のような形となりました. 序盤から中盤の入り口にかけてponkotsuがリードを奪うことに成功し, 5勝目を挙げることができました.

棋譜はこちらです.

live4.computer-shogi.org

7回戦(技巧戦)

7回戦では強豪ソフトとの対戦となりました. 技巧は2017年の大会で準優勝しているソフトで, 今年久しぶりの出場でした. DL系に舵を切っており, 既存の技巧とは全く別のバージョンになっているようです.

将棋は後手のponkotsuが横歩取りにしました. 途中まで形勢不明でしたが42手目あたりで技巧がこちらに何度も手を渡すようになってから徐々にこちらに形成が傾き, 6勝目を挙げることができました.

棋譜はこちらです.

live4.computer-shogi.org

この対局での勝利によって最終戦の結果を待たずに初の二次予選進出が決定しました.

8回戦(アストラ将棋戦)

終戦はここまで全勝のアストラ将棋との対戦となりました.

将棋としては相矢倉となり, 互角の展開だったのですがなんとここでponkotsuがクラッシュしてしまい, 負けとなりました…

棋譜はこちらです.

live4.computer-shogi.org

ということで一次予選は3位という結果になりました.

二次予選の様子とか

二次予選ではうまく評価値と読み筋を送れるようになったのであります.

1回戦(ティー⚪︎の振り飛車気持ちよすぎだろ戦)

完全にあれを彷彿とさせるソフト名ですが, 去年は決勝リーグ入りをしている強豪振り飛車ソフトです. 対抗系の将棋になるかと思われましたが3手目に相手が▲2六歩としたことで振り飛車の可能性がゼロになり, 呆気に取られていました.

序盤早々に飛車を取り合う激しい展開となりましたがなんとか勝つことができました.

棋譜はこちらです.

live4.computer-shogi.org

2回戦(HoneyWaffle戦)

2回戦では一次予選の再戦となりました. 一次予選とは違い今度はponkotsuが後手番となりました.

将棋は相入玉となり, ponkotsuの宣言勝ちが濃厚になってきたのですが, ちゃんと宣言できるのか分からず慌てていたらなぜか詰まして勝ちました…

棋譜はこちらです.

live4.computer-shogi.org

computer-shogi-live.cocolog-nifty.com

二次予選からはYouTubeで配信されている公式中継でプロ棋士の方が解説をしてくださっているのですが, そちらで取り上げていただきました.

www.youtube.com

3回戦(やねうら王戦)

3回戦は過去に優勝経験もある超強豪ソフトとの対戦となりました.

角換わりの将棋となり, 千日手模様となったのですが, こちらから打開しに行ったのが良くなかったらしく, 負けとなりました.

棋譜はこちらです.

live4.computer-shogi.org

こちらも解説で取り上げていただきました.

www.youtube.com

4回戦(いちびん戦)

2勝1敗で迎えた4回戦は再び一次予選で当たった相手との対戦となりました. いちびんの方は昨日使用したマシンよりスペックの高いものを用意しており, 苦戦することが予想されていました.

将棋は互いに中住まいっぽい形で進行していました. 終盤は互いの玉が中段にいる激しい展開となり, 最後まで勝負は分からなかったのですが, 207手目の△4五龍と龍を切る派手な手から詰ましきることができました.

棋譜はこちらです.

live4.computer-shogi.org

この対局を見ていたCSAの理事の方からいいものを見せてもらったとお昼ご飯を奢ってもらいました!!!

5回戦(名人コブラ戦)

5回戦はまたまた強豪ソフトとの対戦となりました. 名人コブラは昨年決勝に進出しているソフトです. 実は前日のテスト対局で当たっており, そのときには負けていたので正直勝てないと思っていました.

案の定というべきか力を出させてもらえないまま負けとなりました.

棋譜はこちらです.

live4.computer-shogi.org

6回戦(LightWeight戦)

6回戦も強豪ソフトとの対戦となりました. LightWeightはDL系のソフトでネットワーク構造にEfficientNetを使用しているのが大きな特徴です. 昨年には決勝に進出しています.

DenseNetの優位性を示したかったのですが, ずるずると形勢を広げられ負けとなりました.

棋譜はこちらです. live4.computer-shogi.org

7回戦(koron戦)

7回戦も強豪ソフトとの対戦となりました. koronは2年前が初出場で, そこから毎年二次予選シードを獲得しています.

将棋は角換わりとなり, 互角の展開だったのですが相手にトラブルがあったようで反則勝ちとなりました.

棋譜はこちらです.

live4.computer-shogi.org

8回戦(大将軍戦)

8回戦も強豪ソフトとの対戦となりました. 大将軍は2年前に決勝進出を果たしています.

かなりの苦戦が予想されたのですが, 序盤から大将軍にやりたいことをやらせないまま押し切り, 金星を上げることができました.

棋譜はこちらです.

live4.computer-shogi.org

こちらは解説で取り上げていただきました.

www.youtube.com

また, この勝利で初の二次予選で初の勝ち越しを決め, めちゃくちゃ喜んでいたら公式の中継ブログに記事にされました.

computer-shogi-live.cocolog-nifty.com

9回戦(二番絞り戦)

勝てば決勝進出の最終9回戦は昨年準優勝の超強豪との対戦となりました. 角換わりの将棋となったのですが序盤でなんとponkotsuがクラッシュしてしまい, 負けとなりました.

棋譜はこちらです.

live4.computer-shogi.org

また, この対局を最後に使用していたマシンが壊れました…

結果5勝4敗で11位という結果で今年のWCSCは終了となりました.

課題

今年は昨年と比べて大躍進だったものの, ハード面・ソフト面双方の課題が浮き彫りとなりました.

まず, ハード面に関してはまず長時間フルスロットルで安定して動かし続けることの重要性を実感しました. 特に排熱性能の重要性を実感しました. 昨年まではソフト自体の性能があまり良くなく, マシンリソースをフルに使うことがなかったのですが, 今年は一転してGPUは常時使用率100%, CPUも50~100%の使用率となっていました. その結果パーツが長時間熱にさらされて普段とは比べ物にならないほどのダメージを与えていました. 今回研究室のマシンを借りて出場していたのですが, そのマシンのケースが比較的小さく, 排熱性能が良くなく熱がこもりやすくなっていました.

また, 二次予選進出ソフトの中ではスペックはあまり高い方ではなく(それでもRTX3090を積んでいるので一般的にはとても良いのですが), マシンスペックの差が浮き彫りになった気がします. 特に二次予選シード勢はほとんどがクラウドを借りているかハイエンドGPUを複数枚積んでいました. 対局中や大会終了後, もっといいスペックのマシンを使用していればより大きい機械学習モデルを使えるのになあと考えていました. 大会前はこれでも十分なスペックだと思っていたのですが, 大会を通じて決勝進出や決勝で勝っていくことを考えると十分ではないのかもしれないと思いました.

次にソフト面ですが, 修論提出後から始めたこともあり時間がなく, 試したいことを試しきれませんでした. 特に定跡の整備や探索パラメータの最適化は十分ではなかったと考えています. また, 過度にNPSが低下することを恐れており, 機械学習モデルのレイヤ数を増やすことができませんでした. 一般にレイヤ数が増えれば識別精度は向上する傾向にあるので試してみてもよかったのかもしれません.

今後の展望とか感想とか

今大会では目標としていた二次予選シード入りを果たすことができ, 十分な成果を得られました. しかしマシントラブルにより決勝進出のチャンスを逃したのが非常に痛かったです. 今回の反省を活かし, さらなる識別精度の向上や排熱性能の良いマシンの錬成, そしてクラウド利用に手を出してみようと思います.

また, 今回良い成績を収めることができたため, やったことをGPWで発表しようと思います.

大会後でモチベーションが上がっているためやる気があるうちに進めるところまでやろうと思います.

今年もponkotsuを応援してくださりありがとうございました. 来年は決勝進出を目標に頑張りたいと思います.