jj1gujのブログ

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

WCSC31参加記

第31回世界コンピュータ将棋選手権(WCSC31)に参加したよ!!

世界コンピュータ将棋選手権って何?

毎年ゴールデンウィークに行われる最強の将棋ソフトを決める大会. 特徴としてはマシン構成に制限がないこと.(過去に行われていた電王戦ではマシンスペックはすべて統一されていた) 例年川崎産業振興会館で開催されているけど今年はコロナのせいでオンラインになった. 今年で31回目(第30回はアイツのせいで中止)の由緒ある大きい大会. わかんなかったらとりあえずググればいいと思うの.

どんなソフトで出たの?

名前はponkotsu(色々準備できたらgithubのURL貼る)

ソフト名の由来はもし勝てたら負けたソフトor人はぽんこつに負けたってことになって悔しくなるだろうなあ笑って思ったからです(邪悪)
どんな技術突っ込(みたかった)んだかはアピール文書見てください.

さあ, こっから本文です!!

11月

電竜戦をやると聞き, 出てみたいなあと思いつつ色々調べて開発しようとするも間に合わなくて断念する. というかそもそもどのライブラリ使うかとか仕様が固まってなかった.

12月

学会発表で無事死亡

1月

卒論で無事死亡

2月

卒論発表終わってから嬉々として本格的に開発を始めるもlibtorchとcshogiの仕様にあまり詳しくないため開発が難航し大泣きする. てかこれ愚痴なんですけどlibtorchのことググるとpytorch出てくるのあれ何なんすか?pytorchとかいじって自称AIやってるいけいけエンジニアたちちゃんとlibtorchの記事も書けや*1 まあおかげで英語のドキュメント読むの苦にならなくなったりわかんなくなったらgithubのissueとかソースコード読んだりする習慣がついたのでね… クソ記事がでてこないというのもね…おっと, 誰かきたようだ…

3月

帰省したり諸事情で若干メンタルやられたりするものの一応進捗は生む.
AHC001に時間を吸われて進捗が虚無になる.

4月

4月末まで一切進捗を産まない*2*3.
4/18 に作業通話しながら一応動くものを完成させる.

4月末

弊研のボスにWCSC31出るんすよ~笑って言ったらめちゃくちゃ応援されたのでがんばって進捗を生む.
もともと探索機能を入れる予定はなかったけどABCで培った早解き力()*4MCTSを実装する.

4/25

AHC002に出る.
ギリギリで提出した解で順位が上がったのでいいコンテストだった.

4/29~5/2

盤面を特徴量ベクトルに変換するところでバグり散らかしてることに気づき格闘する.
5/2とか徹夜状態でバグと格闘して椅子の上で1時間寝たためか腰を痛める*5

当日朝4時

前日20時とかに寝たので4時くらいに目が冷めてバグがないか確認する.

当日朝5時

MCTS周りでバグを見つける. 全俺が泣いた.

当日朝9時

ローカルでできる限りロールバックしてとりあえず動く状態(でいるつもり)のバイナリを生成する.

1回戦(対ねね将棋)

生成しておいたバイナリがクラッシュして負ける. かなしい… 残った時間で朝発見したバグと格闘する.

2回戦(対こまあそび)

朝発見したバグと格闘しつつあっけなく負ける.

3回戦(対Aoba Zero)

開発者の方とお話しつつバグと格闘する*6 ponkotsuの飛車が単振動してるのみて「やっぱバグってますね~」って言われる.

4回戦(対きふわらべ)

たしかここらへんでお昼ごはんに納豆ご飯食べてたと思う. 史上初めてきふわらべが頭金打って勝つという歴史的快挙を達成する.

敗者コメントだぞっ☆

5回戦(対Easy Shogi)

デバッグしながら見てたら千日手になったのでとりあえず全敗は免れて安心するが棋譜中継だとわいの反則負けになっててまじいい?ってお気持ちになる. 後でEasy Shogi側の連続王手による千日手ということで反則勝ちに. 初勝利!やったね!

なおこれでバグと格闘するモチベーションが消え諦める.

6回戦(対BFP)

バグつぶしを諦めて落ち着いてうちのぽんこつポンコツっぷりを発揮して瞬殺されるところを見届ける.

7回戦(対A.I. AN shogi ver.1)

今度はちゃんと詰まして2勝目を上げる. やったね!

ちなみに親に詰まして勝ったって報告したときの親からのコメントです.f:id:jj1guj:20210505023734p:plain

ちくちく言葉は, やめようね笑

8回戦前

おなか空いたのでご飯を勝ってくる.

8回戦(対山田将棋)

あっけなく順当に負ける.

終結

なんかソルコフ?の関係で28位フィニッシュ, 2勝勢ではトップの成績だった.

感想

正直全敗かな~って思ってたし1勝できれば御の字だと思ってたのでまさか2勝できるとは思ってもいませんでした!!某2冠の言葉を借りれば望外の結果, 僥倖ってやつですね!今回はとりあえず動いたから就活のネタにする*7&世界ランクをもらうっていうかなり軽くて薄いモチベーション*8で本当にやりたいことの1割もできてなかったので来年はやりたいことを全部出しきった状態で出ます!!

今後の展望

とりあえず探索がバグってるのでそこを潰して強くしたいです!あと, 今日やってた2次予選の棋譜とかみてここに追いつきたいってなったのでがんばりたいです!!
うっ…院の課題…
うっ…就活…
うっ…学会発表…

*1:書かれたら書かれたでくっっっっっっっっっそよみにくいクソ記事しかでなさそう

*2:大学院入学とか春アニメチェックするので忙しかったのでね… ところで今期は86とスライム倒して300年とVivyが好きです!!

*3:完全な愚痴なんですが弊所属, めちゃくちゃ名前長いしコンピテンス?とかいう変なやつを考えながら履修組まなきゃいけなくてむちゃくちゃめんどくさくてまじでクソ

*4:月刊競技プログラミングは役に立つ案件

*5:腰痛めたの人生で初めてだった

*6:なんか2080Ti 6台くらいつなげてたらしい. すげ~

*7:将棋AI作って世界大会でて2勝しました!!って言ったらちやほやしてくんねえかなあ

*8:本当は自分より強い状態で出したかったが無理だとわかった途端こんなに軽く薄く…ウッウ…